[U-Boot] More davinci 4-bit hw ecc questions
John Rigby
jcrigby at gmail.com
Thu Sep 3 05:17:19 CEST 2009
It just occured to me that I might have things backward. Is your new nand
code trying to avoid the interleaved oob? If so, sorry for the confusion.
On Wed, Sep 2, 2009 at 9:02 PM, John Rigby <jcrigby at gmail.com> wrote:
> Sandeep and all interested parties:
>
> I am trying to understand davinci 4-bit nand options for u-boot and
> linux. I did some searching and found this comment in the davinci
> nand driver for openocd:
>
> /*
> * "Infix" OOB ... like Linux ECC_HW_SYNDROME. Avoided because it trashes
> * manufacturer bad block markers, except on small page chips. Once you
> * write to a page using this scheme, you need specialized code to update
> * it (code which ignores now-invalid bad block markers).
> *
> * This is needed *only* to support older firmware. Older ROM Boot Loaders
> * need it to read their second stage loader (UBL) into SRAM, but from then
> * on the whole system can use the cleaner non-infix layouts. Systems with
> * older second stage loaders (ABL/U-Boot, etc) or other system software
> * (MVL 4.x/5.x kernels, filesystems, etc) may need it more generally.
> */
>
> This appears to be the ecc mode that Sandeep is trying to establish as
> the norm going forward. It seems that David (author of the openocd
> code) would make a different choice. So what is the "right" thing to
> do? We are starting development of a new board and need to make a
> decision. What are the pros and cons of the two 4-bit alternatives?
>
> Here is my two cents (maybe three cents) from my own experience:
>
> On the one hand, you can mitigate the trashed bad block marker problem
> by using an in flash bad block table that you create on first boot.
> Theoretically you never need the manufactuer markers after that.
>
> On the other hand, I know that Control4 (where I work now) had
> difficulty getting nand chips pre-programmed for an i.MX31 platform
> that had interleaved ecc like this. I believe the workaround involved
> post processing an image to "fool" the nand programmer that assumed a
> conventional oob layout.
>
> At Freescale I worked on a nand driver for the MPC5121 that had
> similar issues and it was disliked so much that the driver that
> finally made it into u-boot has software ecc only.
>
> Thanks for any input from all informed parties.
>
> John
>
More information about the U-Boot
mailing list