diff options
| author | Li Jie <eltshanli@gmail.com> | 2009-12-31 09:50:02 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-01-05 15:52:45 -0500 |
| commit | 58b2e0a2dd8e460d3b7d7f8ec5d3042253b9e08a (patch) | |
| tree | ee452af3cc8bf27c129bf0bd605ddd85dccf5b38 | |
| parent | 1368c51c501978e5c4148322b7c77d4f49549557 (diff) | |
ARM: 5864/1: Implement arch_reset() in NUC900
Implement arch_reset(), reboot from shell become possible.
Signed-off-by: lijie <eltshanli@gmail.com>
Acked-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-w90x900/include/mach/system.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-w90x900/include/mach/system.h b/arch/arm/mach-w90x900/include/mach/system.h index 940640066857..ce228bdc66dd 100644 --- a/arch/arm/mach-w90x900/include/mach/system.h +++ b/arch/arm/mach-w90x900/include/mach/system.h | |||
| @@ -15,7 +15,15 @@ | |||
| 15 | * | 15 | * |
| 16 | */ | 16 | */ |
| 17 | 17 | ||
| 18 | #include <linux/io.h> | ||
| 18 | #include <asm/proc-fns.h> | 19 | #include <asm/proc-fns.h> |
| 20 | #include <mach/map.h> | ||
| 21 | #include <mach/regs-timer.h> | ||
| 22 | |||
| 23 | #define WTCR (TMR_BA + 0x1C) | ||
| 24 | #define WTCLK (1 << 10) | ||
| 25 | #define WTE (1 << 7) | ||
| 26 | #define WTRE (1 << 1) | ||
| 19 | 27 | ||
| 20 | static void arch_idle(void) | 28 | static void arch_idle(void) |
| 21 | { | 29 | { |
| @@ -23,6 +31,11 @@ static void arch_idle(void) | |||
| 23 | 31 | ||
| 24 | static void arch_reset(char mode, const char *cmd) | 32 | static void arch_reset(char mode, const char *cmd) |
| 25 | { | 33 | { |
| 26 | cpu_reset(0); | 34 | if (mode == 's') { |
| 35 | /* Jump into ROM at address 0 */ | ||
| 36 | cpu_reset(0); | ||
| 37 | } else { | ||
| 38 | __raw_writel(WTE | WTRE | WTCLK, WTCR); | ||
| 39 | } | ||
| 27 | } | 40 | } |
| 28 | 41 | ||
