aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/include/mach/system-reset.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s3c2410/include/mach/system-reset.h')
-rw-r--r--arch/arm/mach-s3c2410/include/mach/system-reset.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/include/mach/system-reset.h b/arch/arm/mach-s3c2410/include/mach/system-reset.h
new file mode 100644
index 00000000..6faadcee
--- /dev/null
+++ b/arch/arm/mach-s3c2410/include/mach/system-reset.h
@@ -0,0 +1,32 @@
+/* arch/arm/mach-s3c2410/include/mach/system-reset.h
+ *
+ * Copyright (c) 2008 Simtec Electronics
+ * Ben Dooks <ben@simtec.co.uk>
+ *
+ * S3C2410 - System define for arch_reset() function
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <mach/hardware.h>
+#include <plat/watchdog-reset.h>
+
+extern void (*s3c24xx_reset_hook)(void);
+
+static void
+arch_reset(char mode, const char *cmd)
+{
+ if (mode == 's') {
+ cpu_reset(0);
+ }
+
+ if (s3c24xx_reset_hook)
+ s3c24xx_reset_hook();
+
+ arch_wdt_reset();
+
+ /* we'll take a jump through zero as a poor second */
+ cpu_reset(0);
+}