diff options
| -rw-r--r-- | arch/arm/mach-pxa/corgi.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/pm.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/poodle.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/spitz.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/spitz_pm.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/tosa.c | 2 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/system.h | 3 |
9 files changed, 8 insertions, 17 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 259ca821e464..b757dd756655 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
| @@ -493,8 +493,6 @@ static struct platform_device *devices[] __initdata = { | |||
| 493 | 493 | ||
| 494 | static void corgi_poweroff(void) | 494 | static void corgi_poweroff(void) |
| 495 | { | 495 | { |
| 496 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 497 | |||
| 498 | if (!machine_is_corgi()) | 496 | if (!machine_is_corgi()) |
| 499 | /* Green LED off tells the bootloader to halt */ | 497 | /* Green LED off tells the bootloader to halt */ |
| 500 | reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); | 498 | reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); |
| @@ -503,8 +501,6 @@ static void corgi_poweroff(void) | |||
| 503 | 501 | ||
| 504 | static void corgi_restart(char mode) | 502 | static void corgi_restart(char mode) |
| 505 | { | 503 | { |
| 506 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 507 | |||
| 508 | if (!machine_is_corgi()) | 504 | if (!machine_is_corgi()) |
| 509 | /* Green LED on tells the bootloader to reboot */ | 505 | /* Green LED on tells the bootloader to reboot */ |
| 510 | set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); | 506 | set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); |
diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c index 329df2152dcd..7d4debbdcca3 100644 --- a/arch/arm/mach-pxa/pm.c +++ b/arch/arm/mach-pxa/pm.c | |||
| @@ -46,9 +46,6 @@ int pxa_pm_enter(suspend_state_t state) | |||
| 46 | sleep_save_checksum += sleep_save[i]; | 46 | sleep_save_checksum += sleep_save[i]; |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | /* Clear reset status */ | ||
| 50 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 51 | |||
| 52 | /* *** go zzz *** */ | 49 | /* *** go zzz *** */ |
| 53 | pxa_cpu_pm_fns->enter(state); | 50 | pxa_cpu_pm_fns->enter(state); |
| 54 | cpu_init(); | 51 | cpu_init(); |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index ca5ac196b47b..0b30f25cff3c 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
| @@ -326,13 +326,11 @@ static struct platform_device *devices[] __initdata = { | |||
| 326 | 326 | ||
| 327 | static void poodle_poweroff(void) | 327 | static void poodle_poweroff(void) |
| 328 | { | 328 | { |
| 329 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 330 | arm_machine_restart('h'); | 329 | arm_machine_restart('h'); |
| 331 | } | 330 | } |
| 332 | 331 | ||
| 333 | static void poodle_restart(char mode) | 332 | static void poodle_restart(char mode) |
| 334 | { | 333 | { |
| 335 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 336 | arm_machine_restart('h'); | 334 | arm_machine_restart('h'); |
| 337 | } | 335 | } |
| 338 | 336 | ||
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 3642f81f8f0e..e5b417d14bb0 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
| @@ -198,6 +198,9 @@ static void pxa25x_cpu_pm_restore(unsigned long *sleep_save) | |||
| 198 | 198 | ||
| 199 | static void pxa25x_cpu_pm_enter(suspend_state_t state) | 199 | static void pxa25x_cpu_pm_enter(suspend_state_t state) |
| 200 | { | 200 | { |
| 201 | /* Clear reset status */ | ||
| 202 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 203 | |||
| 201 | switch (state) { | 204 | switch (state) { |
| 202 | case PM_SUSPEND_MEM: | 205 | case PM_SUSPEND_MEM: |
| 203 | /* set resume return address */ | 206 | /* set resume return address */ |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 505dccaa51f5..7e945836e129 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
| @@ -249,6 +249,9 @@ void pxa27x_cpu_pm_enter(suspend_state_t state) | |||
| 249 | /* Clear edge-detect status register. */ | 249 | /* Clear edge-detect status register. */ |
| 250 | PEDR = 0xDF12FE1B; | 250 | PEDR = 0xDF12FE1B; |
| 251 | 251 | ||
| 252 | /* Clear reset status */ | ||
| 253 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 254 | |||
| 252 | switch (state) { | 255 | switch (state) { |
| 253 | case PM_SUSPEND_STANDBY: | 256 | case PM_SUSPEND_STANDBY: |
| 254 | pxa_cpu_standby(); | 257 | pxa_cpu_standby(); |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 62a02c3927c5..e7d0fcd9b43f 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
| @@ -529,8 +529,6 @@ static struct platform_device *devices[] __initdata = { | |||
| 529 | 529 | ||
| 530 | static void spitz_poweroff(void) | 530 | static void spitz_poweroff(void) |
| 531 | { | 531 | { |
| 532 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 533 | |||
| 534 | pxa_gpio_mode(SPITZ_GPIO_ON_RESET | GPIO_OUT); | 532 | pxa_gpio_mode(SPITZ_GPIO_ON_RESET | GPIO_OUT); |
| 535 | GPSR(SPITZ_GPIO_ON_RESET) = GPIO_bit(SPITZ_GPIO_ON_RESET); | 533 | GPSR(SPITZ_GPIO_ON_RESET) = GPIO_bit(SPITZ_GPIO_ON_RESET); |
| 536 | 534 | ||
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c index 7a7f5f947cc5..23f050feb208 100644 --- a/arch/arm/mach-pxa/spitz_pm.c +++ b/arch/arm/mach-pxa/spitz_pm.c | |||
| @@ -119,9 +119,6 @@ static void spitz_presuspend(void) | |||
| 119 | /* nRESET_OUT Disable */ | 119 | /* nRESET_OUT Disable */ |
| 120 | PSLR |= PSLR_SL_ROD; | 120 | PSLR |= PSLR_SL_ROD; |
| 121 | 121 | ||
| 122 | /* Clear reset status */ | ||
| 123 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 124 | |||
| 125 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ | 122 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ |
| 126 | PCFR = PCFR_GPR_EN | PCFR_OPDE; | 123 | PCFR = PCFR_GPR_EN | PCFR_OPDE; |
| 127 | } | 124 | } |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index 6458f6d371d9..c2cbd66db814 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
| @@ -467,8 +467,6 @@ static struct platform_device *devices[] __initdata = { | |||
| 467 | 467 | ||
| 468 | static void tosa_poweroff(void) | 468 | static void tosa_poweroff(void) |
| 469 | { | 469 | { |
| 470 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 471 | |||
| 472 | pxa_gpio_mode(TOSA_GPIO_ON_RESET | GPIO_OUT); | 470 | pxa_gpio_mode(TOSA_GPIO_ON_RESET | GPIO_OUT); |
| 473 | GPSR(TOSA_GPIO_ON_RESET) = GPIO_bit(TOSA_GPIO_ON_RESET); | 471 | GPSR(TOSA_GPIO_ON_RESET) = GPIO_bit(TOSA_GPIO_ON_RESET); |
| 474 | 472 | ||
diff --git a/include/asm-arm/arch-pxa/system.h b/include/asm-arm/arch-pxa/system.h index a758a719180f..9aa6c2e939e8 100644 --- a/include/asm-arm/arch-pxa/system.h +++ b/include/asm-arm/arch-pxa/system.h | |||
| @@ -22,7 +22,8 @@ static inline void arch_idle(void) | |||
| 22 | 22 | ||
| 23 | static inline void arch_reset(char mode) | 23 | static inline void arch_reset(char mode) |
| 24 | { | 24 | { |
| 25 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | 25 | if (cpu_is_pxa2xx()) |
| 26 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
| 26 | 27 | ||
| 27 | if (mode == 's') { | 28 | if (mode == 's') { |
| 28 | /* Jump into ROM at address 0 */ | 29 | /* Jump into ROM at address 0 */ |
