diff options
Diffstat (limited to 'arch/arm/plat-spear/restart.c')
-rw-r--r-- | arch/arm/plat-spear/restart.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/plat-spear/restart.c b/arch/arm/plat-spear/restart.c index 4471a232713a..ea0a61302b7e 100644 --- a/arch/arm/plat-spear/restart.c +++ b/arch/arm/plat-spear/restart.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <mach/spear.h> | 16 | #include <mach/spear.h> |
17 | #include <mach/generic.h> | 17 | #include <mach/generic.h> |
18 | 18 | ||
19 | #define SPEAR13XX_SYS_SW_RES (VA_MISC_BASE + 0x204) | ||
19 | void spear_restart(char mode, const char *cmd) | 20 | void spear_restart(char mode, const char *cmd) |
20 | { | 21 | { |
21 | if (mode == 's') { | 22 | if (mode == 's') { |
@@ -23,6 +24,10 @@ void spear_restart(char mode, const char *cmd) | |||
23 | soft_restart(0); | 24 | soft_restart(0); |
24 | } else { | 25 | } else { |
25 | /* hardware reset, Use on-chip reset capability */ | 26 | /* hardware reset, Use on-chip reset capability */ |
27 | #ifdef CONFIG_ARCH_SPEAR13XX | ||
28 | writel_relaxed(0x01, SPEAR13XX_SYS_SW_RES); | ||
29 | #else | ||
26 | sysctl_soft_reset((void __iomem *)VA_SPEAR_SYS_CTRL_BASE); | 30 | sysctl_soft_reset((void __iomem *)VA_SPEAR_SYS_CTRL_BASE); |
31 | #endif | ||
27 | } | 32 | } |
28 | } | 33 | } |