[U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

David Brownell david-b at pacbell.net
Sun Apr 26 20:11:48 CEST 2009


I was looking at the DaVinci NAND support in current U-Boot
code (i.e. 2009.03 plus patches merged since that release),
and am puzzled by the above-named config option.

Before I submit a patch to remove it from U-Boot GIT (nothing
there enables it, and it will nastify 4-bit support), I thought
I'd see if anyone knows exactly what software it was trying to
emulate.  Differences from the current NAND driver in GIT:

 - Matches MVL 4.0 (2.6.10) and 5.0 (2.6.18) drivers in handling
   NANDx1ECC registers:  0PQR0stu maps to PsQRtu, while the NAND
   driver in mainline maps it to ~PQRstu.

 - Custom ECC layouts, "not compatible with Linux or RBL/UBL".

 - Does some very broken stuff for large page support.

The first of those I can understand; someone wrote some odd and
overly-complex ECC code way back, it worked and then got shipped.
(Although TI's U-Boot 1.2.0 uses soft ECC, instead...)

The other two look like they were experimental code that
should probably not have been merged anywhere...

- Dave


More information about the U-Boot mailing list