[PATCH 3/3] mtd: rawnand: denali: Do not reset the block before booting the kernel

Marek Vasut marex at denx.de
Fri Jan 10 04:56:23 CET 2020


On 1/10/20 4:09 AM, Masahiro Yamada wrote:
> On Fri, Jan 10, 2020 at 9:14 AM Marek Vasut <marex at denx.de> wrote:
>>
>> The Denali NAND block loses configuration when put in reset.
>> Specifically, RB_PIN_ENABLED, CHIP_ENABLE_DONT_CARE,
>> SPARE_AREA_SKIP_BYTES and SPARE_AREA_MARKER are lost.
>> Since mainline Linux depends on the configuration programmed
>> into the Denali NAND controller by the bootloader, do not
>> reset the controller before starting the kernel, otherwise
>> the kernel will read bogus values and fail to use the NAND.
> 
> I think this log is not directly describing the issue.
> It is not a matter of reading bogus values.
> You cannot use the hardware under the reset state in the first place.
> 
> How about describing the root cause?
> For example,
> 
> The denali driver in the mainline Linux does not support the reset
> control yet. Do not reset the controller before starting the kernel,
> otherwise the kernel cannot deassert the reset of the NAND controller.

Is this better?

    The Denali NAND block loses configuration when put in reset.
    Specifically, RB_PIN_ENABLED, CHIP_ENABLE_DONT_CARE,
    SPARE_AREA_SKIP_BYTES and SPARE_AREA_MARKER are lost.
    Since mainline Linux depends on the configuration programmed
    into the Denali NAND controller by the bootloader, do not
    reset the controller before starting the kernel, otherwise
    the kernel will either read bogus values and fail to use the
    NAND or get stuck on register access.

> (BTW, the situation is worse on the UniPhier platform.
> The kernel will crash because the register access never respond.)

So uniphier is even worse off.


More information about the U-Boot mailing list