NAND: mxc_nand reads/writes only first 512 bytes of each page
Hi,
My target is a mx35 board (not yet in mainline). According to the manual and checking the register set and their functionality, the MX.35 has the same nand controller as the i.MX25 processor (MXC_NFC_V1_1 in the mxc_nand driver). Probably there is the same issue with the i.MX25, too.
The storage is a Samsung 2GiB (8-bit), 2KB page, sector size 256KiB, and CONFIG_SYS_NAND_LARGEPAGE is set.
The flash is recognized correctly. However, after reading/writing, only the first 512 bytes of each page are correct. The rest is filled with random bytes. Under Linux (2.6.37) everything works flawlessy, however the driver in Linux is quite different as what we have in u-boot, and this makes a comparison quite difficult. Any hint how can I better investigate this issue ?
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================
Hi, Stefano,
2011/1/9 Stefano Babic <[email protected]>:
Quoted 10 lines
Hi,
My target is a mx35 board (not yet in mainline). According to the manual and checking the register set and their functionality, the MX.35 has the same nand controller as the i.MX25 processor (
MXC_NFC_V1_1in themxc_nanddriver). Probably there is the same issue with the i.MX25, too.The storage is a Samsung 2GiB (8-bit), 2KB page, sector size 256KiB, and
CONFIG_SYS_NAND_LARGEPAGEis set.
Quoted 6 lines
The flash is recognized correctly. However, after reading/writing, only the first 512 bytes of each page are correct. The rest is filled with random bytes. Under Linux (2.6.37) everything works flawlessy, however the driver in Linux is quite different as what we have in u-boot, and this makes a comparison quite difficult. Any hint how can I better investigate this issue ?
Have you set the page_size correctly with the following register?
49.4.3.7 Reset Control and Sourse Register - RCSR:
NFC_4K
This bit is used to config the NandFlash page size. It is defined by PAGE_SIZE while boot up, and it can be
configured by software after boot up.
0 not 4k page
1 4k page
8NFC_FMS
This bit is used to config the NandFlash page size.It is defined by PAGE_SIZE while boot up,and it can be
configured by software after boot up.
0 not 2k page
1 2k page
Quoted 15 lines
Best regards,
Stefano Babic--
=====================================================================
DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 ?Email: office at denx.de
=====================================================================
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
Quoted 2 lines · Jason Liu
Hi, Stefano,
Hi Jason,
Quoted 1 line
Have you set the
page_sizecorrectly with the following register?
Let's see...
Quoted 10 lines
49.4.3.7 Reset Control and Sourse Register - RCSR:
NFC_4K
This bit is used to config the NandFlash page size. It is defined byPAGE_SIZEwhile boot up, and it can be
configured by software after boot up.
0 not 4k page
1 4k page
8
This seems ok.
Quoted 6 lines
NFC_FMS
This bit is used to config the NandFlash page size.It is defined byPAGE_SIZEwhile boot up,and it can be
configured by software after boot up.
0 not 2k page
1 2k page
That's it ! This was wrong on my board. I set the NFC_FMS bit and the whole page is now read correctly.
Many thanks,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================