aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDmitry Baryshkov <dbaryshkov@gmail.com>2008-05-22 11:20:18 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-07 08:21:52 -0400
commit75f10b465af9efd59906e9079ed9cbda7e0f7a43 (patch)
tree84bb1a73c4856b0cc24d23075578f45a1b4e3eb3 /include
parentb8291ad07a7f3b5b990900f0001198ac23ba893e (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')
-rw-r--r--include/asm-arm/arch-pxa/hardware.h5
-rw-r--r--include/asm-arm/arch-pxa/system.h17
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 */
206extern unsigned int get_memclk_frequency_10khz(void); 206extern unsigned int get_memclk_frequency_10khz(void);
207 207
208/*
209 * register GPIO as reset generator
210 */
211extern 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
23static inline void arch_reset(char mode) 23void 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