On 07/15/2012 09:07 PM, Lu.Jiang wrote: > 于 2012年07月13日 19:50, Kumar Gala 写道: >> On Jul 12, 2012, at 9:44 PM, Jiang Lu wrote: >> >>> On PPC44x core, the WRC(Watchdog-timer Reset Control) field of TCR >>> of timer can not reset by software after set to a non-zero value. >>> Which means software can not reset the timeout behaviour of watchdog >>> timer. >>> >>> This patch selects WATCHDOG_NOWAYOUT option for 44x platforms to >>> indicate the watchdog timer can not be disabled once fired. >>> >>> Signed-off-by: Jiang Lu <lu.ji...@windriver.com> >>> --- >>> drivers/watchdog/Kconfig | 1 + >>> 1 files changed, 1 insertions(+), 0 deletions(-) >> I believe this is not 44x specific, but how Book-E watchdog is >> architected. >> >>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig >>> index 3709624..41f3dff 100644 >>> --- a/drivers/watchdog/Kconfig >>> +++ b/drivers/watchdog/Kconfig >>> @@ -1084,6 +1084,7 @@ config PIKA_WDT >>> config BOOKE_WDT >>> tristate "PowerPC Book-E Watchdog Timer" >>> depends on BOOKE || 4xx >>> + select WATCHDOG_NOWAYOUT if 44x >> This should probably be 'select WATCHDOG_NOWAYOUT if BOOKE' > > On ppc44x's processor, if we disabled 'WATCHDOG_NOWAYOUT ' option. The > driver's release routine will try to disable the watchdog , by clearing > the WIE & WTDP field in TCR. > Since the ppc44x's watch dog can not reset by software, such operation > only set the timeout value(WDTP) to minimum, and cause the system reboot > immediately. > > I checked ppc 476, 405 & 450's manual, these document said the > WRC(Watchdog-timer Reset Control) field of TCR of timer > can not reset by software after set to a non-zero value. I think all > ppc44x core should got same limitation.
This is (supposed to be) true on FSL e500 as well. > While on FSL's platform, we did not met such issue. You tested this and were able to clear WRC on an e500-based chip? Which one? -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev