We are using Micron 32Gb (4GB) NAND flash (MT29F32G08AFABAWP) on our customized OMAP-L138 CPU based board. Our U-Boot version is u-boot-2014.07-rc4, which we directly downloaded from DENX.
We successfully able to detect the 4GB in U-Boot. We are giving following commands to to check the NAND device.
uboot> nand erase.chip clean NAND erase.chip: device 0 whole chip Skipping bad block at 0x7fe00000 Skipping bad block at 0x7fe80000 Skipping bad block at 0x7ff00000 Skipping bad block at 0x7ff80000 Skipping bad block at 0xffe00000 Skipping bad block at 0xffe80000 Skipping bad block at 0xfff00000 Skipping bad block at 0xfff80000 OK uboot> nand info Device 0: 2x nand0, sector size 512 KiB Page size 4096 b OOB size 224 b Erase size 524288 b uboot> nand bad Device 0 bad blocks: 7fe00000 7fe80000 7ff00000 7ff80000 ffe00000 ffe80000 fff00000 fff80000 uboot>
But after reboot, when are checking bad block table, we are getting follow output with errors:
uboot> nand bad Device 0 bad blocks: Bad block table found at page 524160, version 0x01 Bad block table found at page 1048448, version 0x01 Bad block table found at page 524032, version 0x01 Bad block table found at page 1048320, version 0x01 nand_bbt: ECC error in BBT at 0x00007ff80000 nand_bbt: ECC error in BBT at 0x00007ff00000 Scanning device for bad blocks Bad eraseblock 4092 at 0x00007fe00000 Bad eraseblock 4093 at 0x00007fe80000 Bad eraseblock 4094 at 0x00007ff00000 Bad eraseblock 4095 at 0x00007ff80000 No space left to write bad block table 7fe00000 7fe80000 7ff00000 7ff80000 ffe00000 ffe80000 fff00000 fff80000
uboot>
What kind of problem is this? Is it related to ECC or NAND timing issue?