Hi,
It's still boot from nand problem that we modify our Camera board(using DM368). The old board, we set DDR PLL to 343, and can boot from nand successfully. But the new board cannot.
we set different DDR PLL in uboot, the phenomena is different: Set the DDR PLL to 300M or below, it can boot successfully; Set the DDR PLL 320M or 343M, it can not boot, and the error message is different. just as see the following.
Set DDR PLL to 240/300M in uboot, it can boot successfully:
TI UBL Version: 1.50 2011-07-14 16:35
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
DONE
Jumping to entry point at 0x81080000.
Boot 2009.03-svn ( 5鏈?25 2011 - 17:48:45) 2011-05-25
I2C: ready
DRAM: 256 MB
NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x48 (Micron NAND 2GiB 3,3V 8-bit)
2048 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Ethernet PHY: GENERIC @ 0x01
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x2400000, size 0x100
256 bytes read: OK
NAND read: device 0 offset 0xb400000, size 0xa00000
10485760 bytes read: OK
check cramfs crc ok 0x76100162
Loading from NAND 2GiB 3,3V 8-bit, offset 0xb000000
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1839788 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
## Booting kernel from Legacy Image at 80700000 ...
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1839788 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing
Linux...........................................................................................................................
done, booting the kernel.
Linux version
2.6.18_pro500-davinci_IPNC_DM368_2.0_20110706-test
(zhangjp@localhost.localdomain) (gcc 鐗堟湰 4.2.0 (MontaVista
4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Wed May 18 16:25:45 CST
2011 2010-11-18
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci DM368 IPNC
Memory policy: ECC disabled, Data cache writeback
DaVinci DM0365 variant 0x8
PLL0: fixedrate: 24000000, commonrate: 121500000, vpssrate: 243000000
PLL0: vencrate_sd: 27000000, ddrrate: 243000000 mmcsdrate: 121500000
PLL1: armrate: 297000000, voicerate: 20482758, vencrate_hd: 74250000
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 24576
Kernel
command line: mem=96M console=ttyS0,115200n8 root=/dev/ram0 rw
initrd=0x82000000,10M
ip=192.168.0.231:192.168.0.2:192.168.0.2:255.255.255.0:::off
eth=00:21:49:00:00:35
TI DaVinci EMAC: kernel boot params Ethernet address: 00:21:49:00:00:35
PID hash table entries: 512 (order: 9, 2048 bytes)
Clock event device timer0_0 configured with caps set: 07
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 96MB = 96MB total
Memory: 83072KB available (3141K code, 651K data, 180K init)
Security Framework v1.0.0 initialized
Capability LSM initialized .......
if we set DDR PLL to 320M and up in uboot, it cannot boot from nand:
DM36x initialization passed!
TI UBL Version: 1.50 2011-07-14 16:35
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
DONE
Jumping to entry point at 0x81080000.
U-Boot 2009.03-svn ( 4鏈?25 2011 - 15:43:32) 2011-04-22
I2C: ready
DRAM: 256 MB
NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x48 (Micron NAND 2GiB 3,3V 8-bit)
2048 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Ethernet PHY: GENERIC @ 0x01
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x2400000, size 0x100
256 bytes read: OK
NAND read: device 0 offset 0xb400000, size 0xa00000
10485760 bytes read: OK
check cramfs crc ok 0x76100162
Loading from NAND 2GiB 3,3V 8-bit, offset 0xb000000
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1839804 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
## Booting kernel from Legacy Image at 80700000 ...
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1839804 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing
Linux...........................................................................................................................
crc error
-- System halted
and If we set DDR PLL to 343M in uboot, the error message is different:
DM36x initialization passed!
TI UBL Version: 1.50 2010-11-12
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
DONE
Jumping to entry point at 0x81080000. //It's pause at here.
The old camera board can boot from nand successfully when set DDR
PLL to 343M. Our hardware engineer is very sure that have no
different between the old and new board in nand and DDR drawing.
So, we are meeting a urgent problem. Anyboady can give me some advice about this problem?
Thanks a lot.