[U-Boot-Users] mpc83xx watchdog
David Updegraff
dave at cray.com
Thu Nov 9 18:27:18 CET 2006
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.
>
More information about the U-Boot
mailing list