OMAP NAND Driver ECC Read broken

Gabor Janak (g.janak@agilion.de) g.janak at agilion.de
Thu Mar 26 01:13:38 PDT 2015


Hello,

on all Platforms which using
drivers/mtd/nand/nand_omap_gpmc.c
with  ECC Mode OMAP_ECC_HAMMING_CODE_HW_ROMCODE
(in DTS: bch8_hw_romcode )  the Code is only check the first part of a block page.

The special Read-function read always a whole page, but only the ECC results oft he first block is checked.
Any Error after first 512Byte are not detected and not corrected.

I'm Using barebox-2014.09  on am335x . But it looks in the current HEAD same ...

A fast Workaround hack :
In function omap_correct_bch:
Settings blocks always to 4  and because eccsize is 13

Changing at the end:
               calc_ecc = calc_ecc + eccsize;
                read_ecc = read_ecc + eccsize+1; //add 1 because in Flash 13+1 is written
                dat += 512;


I know this ist he wrong way.... ;)

If i have some time, i will try to search a better solution, but currently i have not much time.



Bye,

Gabor

[Hannover Messe]<http://www.hannovermesse.de/aussteller/agilion/H465093?source=dl_ban>



More information about the barebox mailing list