[U-Boot-Users] [Fwd: Re: at91sam9260-ek intermittenly fails at u-boot init]
Hi Stelian,
Thanks for the reply and the "verify" suggestion. I found the problem! a printf statement at CPU init of u-boot. There is some SIO init or peripheral reset behavior with the power up init(but not reset switch) that cause the printf to work intermittently (Working more often with 32 bit SDRAM and big block NAND than 16 bit SDRAM and small block NAND).
After removing the printf, it works well.
Thanks, again
Norman
Quoted 60 lines
-------- Original Message --------
Subject: Re: [U-Boot-Users] at91sam9260-ek intermittenly fails at
u-boot initDate: Mon, 30 Jun 2008 10:53:10 +0200 From: Stelian Pop <[email protected]> To: Norman Cheung <[email protected]>CC: u-boot-users at lists.sourceforge.net
References: <[email protected]>
<1214466787.25204.25.camel@galileo> <[email protected]> <[email protected]>Le vendredi 27 juin 2008 ? 14:31 -0700, Norman Cheung a ??crit :
Quoted 1 line
Dear all,
Hi Norman,
Quoted 12 lines
I am still struggling with this problem, but getting to reproduce this problem repeatably. Hoping folks in the forum can give me some pointers. Our Atmel FAE is clueless also.
This is repeatable, on two boards (both 9260 Rev A and Rev B):
- bootstrap, u-boot, kernel, RFS all downloaded to NAND with SAM-BA 2.6
- Without recycle power, just push reset button; u-boot will come up. And I can continue to boot Kernel (2.6.25)
- Push reset second time(and subsequent times), bootstrap will run and fail in the first few instruction of u-boot
- Sometimes power cycle, u-boot will come up againQuoted 8 lines
- When it runs, if I has u-boot boot kernel, linux will run. - Push reset button in Linux board will reboot and u-boot will run again (all the times)
- If I use linux reboot, the board will stop after running bootstrap and (I believe) branched to u-boot.Our h/ware guy has checked all the timing NAND, SDRAM etc and we have experimented with all the settings.
It looks like you have a SDRAM initialisation problem. To confirm this (since you said that you cannot reproduce this problem with a JTAG), you need to modify the source code for AT91Bootstrap, and add a 'verify' pass (using a checksum for example) after the copy from NAND to SDRAM. This way you'll find out if the reading from NAND is going wrong, or the writing to SDRAM (I suspect the latter).
Next, you may encounter an issue with the reset sequence. I know that on some newer Atmel boards (AT91CAP9 and AT572D940HF) there is a problem when an external reset is performed while a SDRAM burst access is occuring. The workaround for this issue is to catch the external interrupt generated by the reset switch, and do the reset by software (see the AT572D940HF patches posted recently by Antonio Costa for the full code). I'm not sure the 9260 exhibits the same bug, but you may query your FAE for that.
Hope this gives some clues.
Stelian.