This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

nand flash doesnot work on am335x

Other Parts Discussed in Thread: AM3358

I use two nand flash on am3358 with it's GPMC. one works well, but another does not.  I track the driver and found that in the  write function,it will read back the write-down value immediately and commpare the buf read back and  the wirte-down buf. But they  does not match  . There exists bit flipping in some  random bytes. sometimes one bytes and sometimes two or three ... .The number is not  fixed . 

The nand flash i used is MT29F2G08ABAEAH4 and MT29F256G08CFAAA. The first one is used for booting and it works well. The other is used for data storage and it works with the problem above.  Page size of the two nand flash is 2K and 8K respectively.

I am fresh-man in driver developing . Could somebody give me some explanation and advice. Thank you very much!!!

OS i work on is linux.

  • Hi,

    1. Is your root file system on your primary NAND?

    2. What is the file system on the secondary NAND?

    3. Is the secondary NAND detected by U-Boot?

    4. Is the secondary NAND detected by Linux at all?

    5. What ECC are you using?

    Best regards,
    Miroslav

  • thank you !

    1. My root file system is on my primary NAND

    2. The file system I use is jffs2

    3. The secondary can be detected by U-Boot , nand info is correct . But it still does not  work well with the shell commond  'nand read'

    4. Linux really detected the secondary NAND .It support ONFI 2.2. The nand info read from the secondary nand is correct ,.include ID ,page size and block size  

    5. I use hamming software ECC.

    My operation is done immediately after the secondary nand initialized,with no file system . I only erase a block and write the first page ,and then read the page back. 

    In the nand write function ,there is a read-back after data written-down but the data do not match . some random bytes bitflip. The process don't related with ECC.

    Now I don't know how to deal with the problem. Does am3358 not support the secondary nand as some reason I don't know? Does my driver still not support well?

    best regards,

    yeum

  • <some random bytes bitflip.>

    I'd use an oscilloscope in your case.