summaryrefslogtreecommitdiff
path: root/cpu/arm920t/imx/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/arm920t/imx/interrupts.c')
-rw-r--r--cpu/arm920t/imx/interrupts.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/cpu/arm920t/imx/interrupts.c b/cpu/arm920t/imx/interrupts.c
index 2f2e754569..03ce06d35a 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) */