We have interfaced two 8-bit Samsung flash memories to AM3517 CS0. Part numbers are:
K9F1G08U0A (128 MB)
K9K8G08U0A (1GB)
128MB device works fine while 1GB does not. JFFS2/MTD reports random errors. For example:
root@am3517-evm:~# nandtest /dev/mtd4
ECC corrections: 0
ECC failures : 0
Bad blocks : 24
BBT blocks : 0
Bad block at 0x02320000
Bad block at 0x02ca0000
Bad block at 0x0bbc0000
Bad block at 0x0bf80000
Bad block at 0x0cb20000
Bad block at 0x0eea0000
Bad block at 0x100c0000
Bad block at 0x10740000
Bad block at 0x10f00000
Bad block at 0x118c0000
Bad block at 0x13ae0000
Bad block at 0x14ae0000
Bad block at 0x14ea0000
Bad block at 0x1a8a0000
1d660000: writing...
write: Input/output error
1d760000: writing...
write: Input/output error
1d7c0000: writing...
write: Input/output error
1d8c0000: writing...
write: Input/output error
1d980000: writing...
write: Input/output error
1da80000: writing...
write: Input/output error
1ff20000: writing...
write: Input/output error
Bad block at 0x255a0000
Bad block at 0x261c0000
Bad block at 0x26980000
Bad block at 0x2b860000
Bad block at 0x2e520000
Bad block at 0x2fa60000
Bad block at 0x31b40000
Bad block at 0x320e0000
39e60000: writing...
write: Input/output error
...
Bootrom initializes CS0 the same way for both devices. Here are CS0 registers dump:
=> md 6e000060 8
6e000060: 00000800 00080800 00080800 06000600 ................
6e000070: 00080808 000003cf 00000870 ffffffff ........p.......
We suspect these settings might not be correct for 1GB device. Do you think I'm right?