[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