summaryrefslogtreecommitdiff
path: root/arch/arm/plat-s5p
diff options
context:
space:
mode:
authorJongpill Lee <boyko.lee@samsung.com>2010-07-23 21:33:58 +0900
committerKukjin Kim <kgene.kim@samsung.com>2010-08-05 18:30:22 +0900
commit0fdb480e7fb1ecdd4076ddf8b6ab16b0d77406c1 (patch)
tree5538775775e6559b3e6f254d2a7ddf158d950a09 /arch/arm/plat-s5p
parent9a423b0ffdf7c75d852056447202e64822263c6a (diff)
ARM: S5P: Add s5p_reset_hook() for perform reset using SWRESET on S5P SoCs
This patch adds s5p_reset_hook() which includes software reset by using SWRESET. Signed-off-by: Jongpill Lee <boyko.lee@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-s5p')
-rw-r--r--arch/arm/plat-s5p/include/plat/reset.h16
-rw-r--r--arch/arm/plat-s5p/include/plat/system-reset.h11
2 files changed, 25 insertions, 2 deletions
diff --git a/arch/arm/plat-s5p/include/plat/reset.h b/arch/arm/plat-s5p/include/plat/reset.h
new file mode 100644
index 000000000000..335e97812eed
--- /dev/null
+++ b/arch/arm/plat-s5p/include/plat/reset.h
@@ -0,0 +1,16 @@
+/* linux/arch/arm/plat-s5p/include/plat/reset.h
+ *
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com/
+ *
+ * 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.
+*/
+
+#ifndef __ASM_PLAT_S5P_RESET_H
+#define __ASM_PLAT_S5P_RESET_H __FILE__
+
+extern void (*s5p_reset_hook)(void);
+
+#endif /* __ASM_PLAT_S5P_RESET_H */
diff --git a/arch/arm/plat-s5p/include/plat/system-reset.h b/arch/arm/plat-s5p/include/plat/system-reset.h
index 7f76a164c20c..f307f34e6422 100644
--- a/arch/arm/plat-s5p/include/plat/system-reset.h
+++ b/arch/arm/plat-s5p/include/plat/system-reset.h
@@ -14,10 +14,17 @@
#include <plat/watchdog-reset.h>
+void (*s5p_reset_hook)(void);
+
static void arch_reset(char mode, const char *cmd)
{
- /* Perform reset using Watchdog reset.
- * SWRESET support will be added later.
+ /* SWRESET support in s5p_reset_hook() */
+
+ if (s5p_reset_hook)
+ s5p_reset_hook();
+
+ /* Perform reset using Watchdog reset
+ * if there is no s5p_reset_hook()
*/
arch_wdt_reset();