[U-Boot] [PATCH v7 15/19] nand: mxc: Switch NAND SPL to generic SPL

Benoît Thébaudeau
2013-02-23T00:55:43Z

Dear Marek Vasut,

On Saturday, February 23, 2013 12:56:32 AM, Marek Vasut wrote:
> Dear Beno?t Th?baudeau,
>
> > Dear Marek Vasut,
> >
> > On Saturday, February 23, 2013 12:11:47 AM, Marek Vasut wrote:
> > > Dear Fabio Estevam,
> > >
> > > > On Fri, Feb 22, 2013 at 7:42 PM, Beno?t Th?baudeau
> > > >
> > > > <benoit.thebaudeau@advansee.com> wrote:
> > > > > Great! So can you confirm that for my series, all I have to change
> > > > > is: #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x32000
> > > >
> > > > Yes, correct. This is the only change you need to do in your series.
> > > >
> > > > > Did you also have a chance to test nand commands on mx53ard?
> > > >
> > > > Not yet, will try this early next week.
> > > >
> > > > Thanks for providing SPL NAND support for imx!
> > >
> > > We won't need SPL on mx53, I pretty much have patches for mx53 NAND boot
> > > without
> > > SPL ready, just need some polishment.
> >
> > Cool.
> >
> > How did you omit the SPL? Are you using the FCB bad block feature to handle
> > these? Have you tested that it still works if your image spans several NAND
> > blocks among which are some bad blocks (with bad blocks having been skipped
> > while programming the image)?
>
> My NAND is almost new by now, so I haven't.

Sure, but you can still play with "nand markbad" (and with "nand scrub" for
cleanup after your tests) with BBT disabled (in order to avoid any assumption
regarding the possible handling of the BBT by the boot ROM since markbad only
updates the BBT if it is enabled). So here is the procedure that you could
follow:
- Use "nand bad" to keep track of the initial true bad blocks (+ fake ones at
the end of the NAND if you have enabled BBT).
- Disable BBT if it was enabled (undefine CONFIG_SYS_NAND_USE_FLASH_BBT).
- Use "nand markbad" to create some fake bad blocks (at least 1) at the
location of your image.
- Program your image skipping bad blocks.
- Test your SPL-free boot.
- Once done, use "nand scrub" to try to unmark bad blocks.
- Use "nand markbad" to re-mark the true bad blocks as such.
- Re-enable BBT in your code if you want to.

Best regards,
Beno?t