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.