[U-Boot] [PATCH 0/3] Add raw read support and use it in pxa3xx NAND driver

Miquel Raynal miquel.raynal at bootlin.com
Thu Oct 11 15:45:41 UTC 2018


When using 2kiB-pages NAND chips requesting an 8-bit strength ECC, the
layout used is a bit particular and it happens that the ECC engine
tries to correct uncorrectable errors on empty pages, producing
bitflips.

To avoid such situation, raw read support is added to the pxa3xx_nand
driver, and then used to re-read the page (in raw mode) upon
uncorrectable error detection to know if there is an actual ECC
mismatch or if the page is empty. This way we avoid seeing the
bitflips created by the hardware ECC engine.

Once this done, we can revert the hack that was done in the driver to
enlarge the last spare area for this layout to 64B instead of 32B,
breaking U-Boot/Linux compatibility and preventing the BootROM to boot
from NAND.

Thanks,
Miquèl


Miquel Raynal (3):
  mtd: nand: pxa3xx: add raw read support
  mtd: nand: pxa3xx: re-read a page in raw mode on uncorrectable error
  mtd: rawnand: pxa3xx: fix 2kiB pages with 8b strength chips layout

 drivers/mtd/nand/raw/pxa3xx_nand.c | 143 +++++++++++++++++++++++++----
 1 file changed, 124 insertions(+), 19 deletions(-)

-- 
2.17.1



More information about the U-Boot mailing list