[U-Boot] [PATCH] MX31: Disable watchdog during low-power modes

Marek Vasut marek.vasut at gmail.com
Tue Sep 20 11:24:26 CEST 2011


On Tuesday, September 20, 2011 10:48:12 AM Stefano Babic wrote:
> On 09/20/2011 06:16 AM, Marek Vasut wrote:
> > On Monday, September 19, 2011 07:51:10 PM Fabio Estevam wrote:
> >> Turn on the watchdog WDZST bit so that watchdog timer does not count
> >> during low power modes.
> >> 
> >> Prior to applying this patch mx31pdk board got watchdog resets because
> >> when it booted in the Linux prompt and there was no activity, the
> >> system entered into idle mode while watchdog timer was still active.
> >> 
> >> Fix this by disabling watchdog timer during idle mode.
> >> 
> >> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> >> ---
> >> 
> >>  arch/arm/cpu/arm1136/mx31/timer.c         |    4 ++--
> >>  arch/arm/include/asm/arch-mx31/imx-regs.h |    2 ++
> >>  2 files changed, 4 insertions(+), 2 deletions(-)
> >> 
> >> diff --git a/arch/arm/cpu/arm1136/mx31/timer.c
> >> b/arch/arm/cpu/arm1136/mx31/timer.c index c05a39d..7197108 100644
> >> --- a/arch/arm/cpu/arm1136/mx31/timer.c
> >> +++ b/arch/arm/cpu/arm1136/mx31/timer.c
> >> @@ -173,8 +173,8 @@ void mxc_hw_watchdog_enable(void)
> >> 
> >>  #else
> >>  
> >>  	secs = 64;
> >>  
> >>  #endif
> >> 
> >> -	writew(readw(&wdog->wcr) | (secs << WDOG_WT_SHIFT) | WDOG_ENABLE,
> >> -		&wdog->wcr);
> >> +	writew(readw(&wdog->wcr) | (secs << WDOG_WT_SHIFT) | WDOG_ENABLE
> >> +						| WDOG_WDZST, &wdog->wcr);
> > 
> > Maybe
> > tmp = readw();
> > tmp |= ...
> > writel(tmp, ...);
> 
> Well, I do not see a big difference with your proposal - so it is only a
> question of taste. Calling write with an embedded read as first
> parameter is used often in u-boot.

It's a matter of taste and readability ... but then maybe use clrsetbits()?

> 
> Best regards,
> Stefano Babic


More information about the U-Boot mailing list