Hi ,
We have developed a board based on the i.mx537,We try to boot from nand flash (MT29F4G08) with u-boot-2009.08.But we got some error when boot.
We modify mx53_ard.c and mx53_ard.h ,add setup_nfc function and some Macro definition in u-boot source. also add nand device and partitions in mx53_ard.c of linux kernel. Then we download uboot.bin and uImage with MFG TOOL.
Sometimes(80%)we got noting.Another(20%),we got u-boot info in serial,u-boot can read correct Nand flash ID.But can't load kernel,the message as follow:
NAND read: device 0 offset 0x1000000, size 0x500000
UnCorrectable RS-ECC Error
UnCorrectable RS-ECC Error
.
.
UnCorrectable RS-ECC Error
5242880 bytes read: OK
## Booting kernel from Legacy Image at 70800000 ...
Image Name: Linux-<opal.wolf.henry.lee>
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3128204 Bytes = 3 MB
Load Address: 70008000
Entry Point: 70008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
What is it that I'm still doing wrong? please help .
Thanks
lee
Our hardware interface of nand flash :
i.mx537 MT29F4G08
NANDF_ALE (ALT0)==> ALE
NANDF_CLE (ALT0)==> CLE
NANDF_CS0 (ALT0)==> CS0
PATA_DATA0 (ALT3)==>DATA0
PATA_DATA1 (ALT3)==>DATA1
PATA_DATA2 (ALT3)==>DATA2
PATA_DATA3 (ALT3)==>DATA3
PATA_DATA4 (ALT3)==>DATA4
PATA_DATA5 (ALT3)==>DATA5
PATA_DATA6 (ALT3)==>DATA6
PATA_DATA7 (ALT3)==>DATA7
NANDF_RB0 (ALT0)==> RB
NANDF_RE_B (ALT0)==>RE
NANDF_WE_B (ALT0)==>WE
NANDF_WP_B (ALT0)==>WP
When boot from nand , the BOOT_CFG pin as follow:
BOOT_MODE0==>0
BOOT_MODE1==>0 //internal boot
BOOT_CFG1_7==>1 //boot from nand
BOOT_CFG1_6==>0 //muxed on PATA pads
BOOT_CFG1_5==>0
BOOT_CFG1_4==>0 //no interleaving
BOOT_CFG1_3==>1
BOOT_CFG1_2==>0 //4 address cycles
BOOT_CFG2_7==>0
BOOT_CFG2_6==>1 //2K+64byte(4-bit ECC)
BOOT_CFG2_5==>0 //8 bit BUS width
BOOT_CFG3_7==>0 //stride size =1 block
BOOT_CFG3_6==>0 //Non LBA
BOOT_CFG3_5==>0 //Not use R/B signal
BOOT_CFG3_4==>0
BOOT_CFG3_3==>0 //4 bit ECC
BOOT_CFG3_2==>0
BOOT_CFG3_1==>1 //64 pages per block