[U-Boot] Freescale MXC: NAND UnCorrectable RS-ECC Error

alfred steele alfred.jaquez at gmail.com
Fri Oct 2 16:55:54 CEST 2009


Hi  All,

I am trying to introduce  a Samsung NAND flash part (K9F8G08U0M) to a
Freescale mxc platform. Looks like the device code used in the NAND
"read id" operation is already a part of  the
drivers/mtd/nand/nand_ids.c, looking at line "{"NAND 1GiB 3,3V 8-bit",
  0xD3, 0, 1024, 0, LP_OPTIONS},) Its different in the sense that it
has a page size of 4K but the code specific to 4k page size handling
seems to be there in the code

After booting out of RAM, i am getting  "UnCorrectable RS-ECC Error"
during an initial page read operation.

Am i missing something related to spare area/OOB.
Please let me know the fastest path to or get around or debug this issue.

NAND:  UnCorrectable RS-ECC Error
Bad block table found at page 262080, version 0x01
UnCorrectable RS-ECC Error
UnCorrectable RS-ECC Error
Bad block table found at page 262016, version 0x01
UnCorrectable RS-ECC Error
UnCorrectable RS-ECC Error
nand_read_bbt: Bad block at 0x1e080000
nand_read_bbt: Bad block at 0x1e0c0000
nand_read_bbt: Bad block at 0x1e300000
nand_read_bbt: Bad block at 0x1e340000
nand_read_bbt: Bad block at 0x23340000
nand_read_bbt: Bad block at 0x36940000
nand_read_bbt: Bad block at 0x36980000
nand_read_bbt: Bad block at 0x369c0000
nand_read_bbt: Bad block at 0x36a00000
nand_read_bbt: Bad block at 0x3ad00000
nand_read_bbt: Bad block at 0x3ad40000
nand_read_bbt: Bad block at 0x3ad80000
nand_read_bbt: Bad block at 0x3f700000
nand_read_bbt: Bad block at 0x3f740000
nand_read_bbt: Bad block at 0x3f800000
nand_read_bbt: Bad block at 0x3f840000
nand_read_bbt: Bad block at 0x3f880000
nand_read_bbt: Bad block at 0x3f900000
nand_read_bbt: Bad block at 0x3f9c0000
nand_read_bbt: Bad block at 0x3fa40000
nand_read_bbt: Bad block at 0x3fa80000
nand_read_bbt: Bad block at 0x3fac0000
nand_read_bbt: Bad block at 0x3fb00000
nand_read_bbt: Bad block at 0x3fb40000
nand_read_bbt: Bad block at 0x3fb80000
nand_read_bbt: Bad block at 0x3fc40000
nand_read_bbt: Bad block at 0x3fc80000
nand_read_bbt: Bad block at 0x3fd00000
nand_read_bbt: Bad block at 0x3fd40000
nand_read_bbt: Bad block at 0x3fe80000
nand_read_bbt: Bad block at 0x3ff00000
nand_read_bbt: Bad block at 0x3ff40000
nand_read_bbt: Bad block at 0x3ff80000
nand_read_bbt: Bad block at 0x3ffc0000
1024 MiB


My gdb backtrace if it helps at all:

(gdb) bt
#0  mxc_nand_ecc_status (mtd=<value optimized out>) at mxc_nand.c:272
#1  0x87f0bfb0 in mxc_nand_command (mtd=0x87f29c90, command=0,
column=0, page_addr=0) at mxc_nand.c:924
#2  0x87f08dd0 in nand_do_read_ops (mtd=0x87f29c90, from=<value
optimized out>, ops=0x87f29e18) at nand_base.c:1197
#3  0x87f09a64 in nand_read (mtd=0x1000, from=13310103653403,
len=2280692324, retlen=0x87e5fef4, buf=0x87e627b8 '�' <repeats 200
times>...) at nand_base.c:1319
#4  0x87f13d18 in readenv (offset=262144, buf=0x87e627b8 '�' <repeats
200 times>...) at  u-boot/include/nand.h:41
#5  0x87f13d88 in env_relocate_spec () at env_nand.c:349
#6  0x87f13b58 in env_relocate () at env_common.c:264
#7  0x87f01874 in start_armboot () at board.c:357
#8  0x00008c18 in ?? ()


Thanks,
Alfred


More information about the U-Boot mailing list