We're developing a board that is a derivative of the AM3517EVM eval board. It contains an 8-bit, 2Gbyte, ONFI device (Micron MT29F16G08AJADAWP).
I'm using the TI flash tool to burn SPL and u-boot (2011.12) to the NAND device on our board, and that process appears to go smoothly. Following the burn, I'm able to boot from the NAND device and get to the u-boot console without problem.
But - during the boot, SPL reports exactly 4 error messages for each u-boot page it reads. The message is 'Error: Bad compare!', and it comes out of the omap_gpmc.c module.
I'm suspicious that the ECC algorithms used by the flash tool when burning, and by SPL when reading, differ. I believe I have the flash tool set correctly, but for the u-boot config I'm not so sure. My config settings are the same as used by the eval board, except I've also specified CONFIG_SYS_NAND_ONFI_DETECTION.
Here's the flash tool log, which looks good to me:
» Sending data (41008 bytes) :::::::::::::::::::: [41008]
Interface 'OMAPFLASH DRIVER v5'
Driver 'NAND ONFI 16/8 BIT'
Driver configuration: gpmc = 0x6E000000
Driver configuration: cs = 0x00000000
Driver configuration: address = 0x30000000
Driver configuration: bberase = 0x00000000
Driver configuration: onfi = 0x00000001
Driver configuration: eccoffset = 0x00000002
NAND HW ECC
NAND BCH Mode = 0
NAND HWECC offset = 1, size = 12
NAND ONFIv2 VENDOR 0x2C MICRON
NAND 8 BIT DEVICE 0xD3 MT29F16G08AJADAWP
NAND NAND CYCLES 0x23 (3 ROW, 2 COLUMN)
NAND 2048 BYTES/PAGE (SPARE 64)
NAND 64 PAGES/BLOCK (131072 BYTES/BLOCK)
NAND 4096 BLOCKS/UNIT (536870912 BYTES/UNIT)
NAND DRIVER ONLY SUPPORTS 1 OF 4 UNITS
NAND 4 BIT(S) ECC REQUIRED
NAND 2048 MB TOTAL SIZE
NAND ONFI DRIVER INIT COMPLETE
» Downloading complete
I'd appreciate any insights on the SPL error messages. Also, notice that the ONFI parameters reported by the flash tool say 'NAND 4 BIT(S) ECC REQUIRED'. The device manual says the same thing. I'm wondering if this is in any way related.
Thanks,
Ron