[U-Boot-Users] mpc83xx watchdog
Timur Tabi
timur at freescale.com
Thu Nov 9 18:15:19 CET 2006
David Updegraff wrote:
> Hi.
>
> Watchdog could work with this.
A patch that does something similar is already in Freescale's 83xx tree that
is waiting for Wolfgang to pull.
Here's the relevant bit:
@@ -150,9 +213,21 @@ unsigned long get_tbclk(void)
#if defined(CONFIG_WATCHDOG)
void watchdog_reset (void)
{
- hang(); /* FIXME: implement watchdog_reset()? */
+#ifdef CONFIG_MPC834X
+ int re_enable = disable_interrupts();
+
+ /* Reset the 83xx watchdog */
+ volatile immap_t *immr = (immap_t *) CFG_IMMRBAR;
+ immr->wdt.swsrr = 0x556c;
+ immr->wdt.swsrr = 0xaa39;
+
+ if (re_enable)
+ enable_interrupts ();
+#else
+ hang();
+#endif
}
-#endif /* CONFIG_WATCHDOG */
+#endif
We don't have any changes for start.S, though. Also, our tree renames
CFG_IMMRBAR to CFG_IMMR.
I'm going to NACK your patch, simply because it's incompatible with ours. I'm
willing to work with you to fix that, though, if you like.
--
Timur Tabi
Linux Kernel Developer @ Freescale
More information about the U-Boot
mailing list