
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.