mtd: nand: omap: unbreak BCH8 support
We now tell the NAND layer that we have subpages with 512 bytes each.
This means the calculate_ecc / correct hooks are also called for each
subpage which means we cannot iterate over subpages in the calculate_ecc
callback.

Implement this correctly by removing the loop over subpages in the
calculate_ecc callback and by implementing a read_page callback.

With this the bch8_hw and bch8_hw_romcode were tested on AM335x, OMAP4
and AM3517. Number of bitflips is correctly reported as tested with the
nand_bitflip tool.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

With fix from Teresa:

Using BCH rom code mode we start calculating with GPMC_BCH_RESULTx_1.
Fix offset for correct error correction.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
1 parent ed857a3 commit 6ce1cfac6bdeaf682cb514ecc400fbdbe83f1ed1
@Sascha Hauer Sascha Hauer authored on 13 Dec 2018
Showing 1 changed file
View
drivers/mtd/nand/nand_omap_gpmc.c