[U-Boot] Dataflash timeout error when changing clock speed
Neal Peacock
Neal at coinfree.com
Thu Jul 15 17:28:20 CEST 2010
I have been using uboot with an AT91SAM9G20 processor. I use AT bootstrap to setup then uboot to load the kernel and start linux. This
has been working perfectly until I tried to change my crystal from the default 18.432 Mhz to a 12Mhz. I am getting the following error
when trying to load the kernel from dataflash
Error Timeout
dataflash.c[460] FIXME: rc=-1
To change to the new clock speed I changed AT91_MAIN_CLOCK in include/configs/at91sam9260ek.h from 18432000 to 12000000. I looked in the
clock.c and the dataflash driver code and it looks like everything is calculated off the values read from registers or that define. I
also tried lowering the AT91_SPI_CLK to 10,000,000 but got the same result. So I'm not sure if there is anything else I need to set when
modifying the clock speed. Also it seems like it can sometimes read the dataflash to get the environment settings, but always has an
error when trying to get the kernel.
Im hoping its just some related setting I need to modify and haven't found. I would appreciate any thoughts and thanks for taking a look.
Details:
Processor: AT91SAM9G20
tried with Uboot 2009.11 and 2010.06
Debug output, Problem boot:
U-Boot 2009.11 (Jul 14 2010 - 13:56:12)
CPU: AT91SAM9G20
Crystal frequency: 12 MHz
CPU clock : 396 MHz
Master clock : 132 MHz
DRAM: 64 MB
NAND: 128 MiB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xD0000000
Area 0: D0000000 to D00041FF (RO) Bootstrap
Area 1: D0004200 to D00083FF Environment
Area 2: D0008400 to D0041FFF (RO) U-Boot
Area 3: D0042000 to D0251FFF Kernel
Area 4: D0252000 to D041FFFF FS
In: serial
Out: serial
Err: serial
Net: macb0
macb0: link up, 10Mbps half-duplex (lpa: 0xffff)
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 22200000 ...
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3733120 Bytes = 3.6 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
U-Boot> cp.b 0xD0042000 0x22000000 0x38F6A0
Error Timeout
dataflash.c[460] FIXME: rc=-1
U-Boot>
Sometimes also an error at:
macb0: link up, 10Mbps half-duplex (lpa: 0xffff)
Hit any key to stop autoboot: 0
Error Timeout
dataflash.c[460] FIXME: rc=-1
## Booting kernel from Legacy Image at 22200000 ...
--
Neal Peacock
Vice President of Product Development
Coin Free LLC
407-657-5971
More information about the U-Boot
mailing list