Skip to contentSkip to conversation

Problems with ST NAND512W3A nand flash

DISCUSSION Savin Zlobec 2 participants 3 messages May 16, 2007 – May 17, 2007 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

Hi All!

I am working on a AT91RM9200 based board with ST NAND512W3A2B flash. Kernel version is 2.6.19.7 with patches from maxim.org.za/at91_26.html. Everything works perfectly, except for boot time NAND chip identification which fails every once in a while. NAND signature is 0x20 0x76, but sometimes I get 0x20 0x20. My first guess was timing problems, but I've double checked everything and all signals are inside the specs. I've also tested the chip with shorter and longer setup, hold and pulse times for read and write, but without any success. Trying different kernels didn't help either.

Any ideas and/or comments would be very much appreciated.

Thanks,
savin

#1 lore raw
Quoted 13 lines · Savin Zlobec <savinz <at> users.sourceforge.net> writes:

Hi All!

I am working on a AT91RM9200 based board with ST NAND512W3A2B flash. Kernel version is 2.6.19.7 with patches from maxim.org.za/at91_26.html. Everything works perfectly, except for boot time NAND chip identification which fails every once in a while. NAND signature is 0x20 0x76, but sometimes I get 0x20 0x20. My first guess was timing problems, but I've double checked everything and all signals are inside the specs. I've also tested the chip with shorter and longer setup, hold and pulse times for read and write, but without any success. Trying different kernels didn't help either.

Quoted 4 lines

Any ideas and/or comments would be very much appreciated.

Thanks,
savin

a) power supply tolerance; psu noise ?
b) is the second 0x20 a 'repeat' of the first ? in which case will an extra read give you the required 0x76 ? [if chipid==mfrid reread chipid] May be a chip problem - it does happen !

MikeW

#2 lore raw
In reply to Savin Zlobec
Quoted 11 lines · Savin Zlobec

Hi All!

I am working on a AT91RM9200 based board with ST NAND512W3A2B flash. Kernel version is 2.6.19.7 with patches from maxim.org.za/at91_26.html. Everything works perfectly, except for boot time NAND chip identification which fails every once in a while. NAND signature is 0x20 0x76, but sometimes I get 0x20 0x20. My first guess was timing problems, but I've double checked everything and all signals are inside the specs. I've also tested the chip with shorter and longer setup, hold and pulse times for read and write, but without any success. Trying different kernels didn't help either.

After some debugging I found what it looks like a silicon bug in ST NAND512W3A2B. It looks like this particular chip doesn't handle well the ALE and CLE transitions (no R or W) when in the middle of READID command - other commands seem not affected. I have the nand wired to AT91RM9200 according to the datasheet - ALE and CLE go to A21 and A22. AT91RM9200 errata #34 states that the address bus is continuously active, even if the address is an internal one - so A2[12] toggle often. Sometimes it happens that signature reading gets interrupted and if there is an transition on A2[12] ... BOOOM - No NAND device found!!!

Regards,
savin