OMAP NAND Driver ECC Read broken
Gabor Janak (email@example.com)
g.janak at agilion.de
Thu Mar 26 01:13:38 PDT 2015
on all Platforms which using
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.
More information about the barebox