[U-Boot] ppc44x - watchdog timers reboots during the image loading
ame
ayman at austin.rr.com
Fri Oct 1 16:37:55 CEST 2010
On Fri, Oct 01, 2010 at 03:35:14PM +0200, Stefan Roese wrote:
> On Thursday 30 September 2010 22:15:04 ame wrote:
> > On my 460ex board, i've tried to add CONFIG_WATCHDOG to the config and it
> > appears to work until the board tries to boot. At that point I can count
> > down about 10 seconds and the reboot happens. The 10s correlates with
> > what I think the watchdog is being set to. I've inserted some
> > WATCHDOG_RESET() invocations wrapping memmove_wd (which admittedly should
> > not be needed), but it does not have an effect. The last message I see is
> > ...
> >
> > Verifying Checksum ... OK
> > ## Flattened Device Tree blob at ff3e0000
> > Booting using the fdt blob at 0xff3e0000
> > Uncompressing Kernel Image ... OK
> > Loading Device Tree to 007fa000, end 007ffd2f ... OK
> > Loading Ramdisk to 1ec58000, end 1efffc0c ... OK
> >
> > Then it instantly resets. If I remove CONFIG_WATCHDOG the board works and
> > boots correctly. My u-boot is circa early 2009. From looking at the
> > current u-boot it does not have the tcr and tsr registers "converted to
> > uppercase", so I don't think it builds yet. I've verified the addresses
> > of the spr and they look correct.
>
> Please check again. Here the current source:
>
> arch/powerpc/cpu/ppc4xx/cpu.c:
>
> ...
> void reset_4xx_watchdog(void)
> {
> /*
> * Clear TSR(WIS) bit
> */
> mtspr(SPRN_TSR, 0x40000000);
> }
> ...
>
> Definitely upper-case here.
Ok, confirmed the new one has it in there. sorry about that. The logic
is the same as the one that is in the old code though.
>
> > Any thoughts or help are appreciated. I did notice the comments in
> > cpu-init.c that my tcr is setup with 0xF0000000, I *think* this is
> > actually 10s on a 800MHz board. Not sure where the 2.684 numbers
> > originates as stated in the comments. I also changed the acknowledge of
> > the watchdog to the following, though neither my changes nor the original
> > have any effect. I've also verified that the code is getting included and
> > built. Not sure what to try next.
>
> Note that you need to enable the watchdog support in the Linux kernel as well.
> Otherwise Linux will of course reset once the watchdog timer times out. Did
> you enable the book-e watchdog timer in Linux?
Yes, that is enabled. But from the looks of the boot trace up above, am I
correct in saying that it never even made it to Linux? Isn't u-boot still
in control at the point that it loads the ramdisk into ram?
Thanks
ayman
More information about the U-Boot
mailing list