[U-Boot] How to start U-Boot for i.MX31 NAND out of RedBoot (out of RAM)

Magnus Lilja lilja.magnus at gmail.com
Thu Jul 23 18:44:53 CEST 2009


Hi

2009/7/23 Ulrich Gerster <gersteru at dhbw-loerrach.de>:
>> Not sure that I understand what "every program assumes..." means.
>
> I try to explain my problem in more detail. I had a working u-boot programed
> in NAND-Flash. Then I wanted to update it. I used the nand write command and
> wrote a the new image in the NAND-Flash. When I then restarted the Board U-Boot
> wasn't responding. Then I loaded RedBoot to RAM using a BDI. But when I was trying
> to access NAND-Flash with RedBoot (factive nand) RedBoot was freezing. The only
> chance I had was to clear the the NAND and the OOB. After I did that I was able to
> access the NAND-Flash with RedBoot. After that I programed the same u-boot image
> in the NAND-Flash using the RedBoot fis write command.
> The result was a working u-boot.

Seems like nand_spl and redboot are compatible with each other but not
the U-boot mxc_nand-driver.

Have you compared the data in the flash before and after using U-boot
to update it?

>> But my guess is that the OOB layout may be different in
>> nand_spl/nand_boot_fsl_nfc.c compared to drivers/mtd/nand/mxc_nd.c so
>> the nand_spl may interpret the OOB information that mxc_nd.c has
>> written in a different way.
>
> Ok. So I should compare this. Which function does take care for that?

Don't remember, look for "bad block" or OOB-layout.

>
>> This is especially true for large page NAND since the i.MX31 controller uses
>> a non-standard layout, for small page NAND there should be no problem
>> (although I don't know if nand_spl has been tested on small page nand yet).
>
> So now it is tested. I'm using small page nand with (512 + 16 spare) Bytes.
> Do you think it is a problem of the nand_spl or the nand driver?

Hmm, my first guess would be a problem with nand_spl.

/Magnus


More information about the U-Boot mailing list