]> git.sur5r.net Git - u-boot/blobdiff - cpu/arm920t/s3c24x0/interrupts.c
Patches by Steven Scholz, 05 Apr 2005:
[u-boot] / cpu / arm920t / s3c24x0 / interrupts.c
index 868621fa5e91ddbacef46bb24ac4b2b26f7146d4..ba835f3cafd3c7d7ba0638c1592e78ed95f961ec 100644 (file)
@@ -185,4 +185,31 @@ 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)
+{
+       S3C24X0_WATCHDOG * const watchdog;
+
+#ifdef CONFIG_TRAB
+       disable_vfd();
+#endif
+
+       watchdog = S3C24X0_GetBase_WATCHDOG();
+
+       /* Disable watchdog */
+       watchdog->WTCON = 0x0000;
+
+       /* Initialize watchdog timer count register */
+       watchdog->WTCNT = 0x0001;
+
+       /* Enable watchdog timer; assert reset at timer timeout */
+       watchdog->WTCON = 0x0021;
+
+       while(1);       /* loop forever and wait for reset to happen */
+
+       /*NOTREACHED*/
+}
+
 #endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_TRAB) */