diff options
author | Dmitry Baryshkov <dbaryshkov@gmail.com> | 2008-05-22 11:20:18 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-07-07 08:21:52 -0400 |
commit | 75f10b465af9efd59906e9079ed9cbda7e0f7a43 (patch) | |
tree | 84bb1a73c4856b0cc24d23075578f45a1b4e3eb3 /include/asm-arm | |
parent | b8291ad07a7f3b5b990900f0001198ac23ba893e (diff) |
[ARM] 5047/2: Support resetting by asserting GPIO pin
This adds support for resetting via assertion of GPIO pin.
This e.g. is used on Sharp Zaurus SL-6000.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
-rw-r--r-- | include/asm-arm/arch-pxa/hardware.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/system.h | 17 |
2 files changed, 6 insertions, 16 deletions
diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h index e25558faa5a4..5547ec797ad0 100644 --- a/include/asm-arm/arch-pxa/hardware.h +++ b/include/asm-arm/arch-pxa/hardware.h | |||
@@ -205,6 +205,11 @@ static inline void __deprecated pxa_set_cken(int clock, int enable) | |||
205 | */ | 205 | */ |
206 | extern unsigned int get_memclk_frequency_10khz(void); | 206 | extern unsigned int get_memclk_frequency_10khz(void); |
207 | 207 | ||
208 | /* | ||
209 | * register GPIO as reset generator | ||
210 | */ | ||
211 | extern int init_gpio_reset(int gpio); | ||
212 | |||
208 | #endif | 213 | #endif |
209 | 214 | ||
210 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) | 215 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) |
diff --git a/include/asm-arm/arch-pxa/system.h b/include/asm-arm/arch-pxa/system.h index 9aa6c2e939e8..14894ae3fa67 100644 --- a/include/asm-arm/arch-pxa/system.h +++ b/include/asm-arm/arch-pxa/system.h | |||
@@ -20,19 +20,4 @@ static inline void arch_idle(void) | |||
20 | } | 20 | } |
21 | 21 | ||
22 | 22 | ||
23 | static inline void arch_reset(char mode) | 23 | void arch_reset(char mode); |
24 | { | ||
25 | if (cpu_is_pxa2xx()) | ||
26 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
27 | |||
28 | if (mode == 's') { | ||
29 | /* Jump into ROM at address 0 */ | ||
30 | cpu_reset(0); | ||
31 | } else { | ||
32 | /* Initialize the watchdog and let it fire */ | ||
33 | OWER = OWER_WME; | ||
34 | OSSR = OSSR_M3; | ||
35 | OSMR3 = OSCR + 368640; /* ... in 100 ms */ | ||
36 | } | ||
37 | } | ||
38 | |||