diff options
Diffstat (limited to 'cpu/arm920t/imx/interrupts.c')
-rw-r--r-- | cpu/arm920t/imx/interrupts.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cpu/arm920t/imx/interrupts.c b/cpu/arm920t/imx/interrupts.c index 2f2e75456..03ce06d35 100644 --- a/cpu/arm920t/imx/interrupts.c +++ b/cpu/arm920t/imx/interrupts.c @@ -117,4 +117,23 @@ ulong get_tbclk (void) return tbclk; } +/* + * Reset the cpu by setting up the watchdog timer and let him time out + */ +void reset_cpu (ulong ignored) +{ + /* Disable watchdog and set Time-Out field to 0 */ + WCR = 0x00000000; + + /* Write Service Sequence */ + WSR = 0x00005555; + WSR = 0x0000AAAA; + + /* Enable watchdog */ + WCR = 0x00000001; + + while (1); + /*NOTREACHED*/ +} + #endif /* defined (CONFIG_IMX) */ |