
Timur
Good to hear you already have one; fine by me.
But.. I dont know how it can work w/o the tweek to start.S, since by my reading of the PPC 603 asm.ref., the existing instruction there will not accept full 16bit value. Did you have another workaround for it?
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.