Commit 00aa78ee authored by Russell King's avatar Russell King

ARM: restart: iop13xx: use new restart hook

Hook these platforms restart code into the new restart hook rather
than using arch_reset().
Acked-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent bec92b1e
...@@ -10,6 +10,7 @@ void iop13xx_map_io(void); ...@@ -10,6 +10,7 @@ void iop13xx_map_io(void);
void iop13xx_platform_init(void); void iop13xx_platform_init(void);
void iop13xx_add_tpmi_devices(void); void iop13xx_add_tpmi_devices(void);
void iop13xx_init_irq(void); void iop13xx_init_irq(void);
void iop13xx_restart(char, const char *);
/* CPUID CP6 R0 Page 0 */ /* CPUID CP6 R0 Page 0 */
static inline int iop13xx_cpu_id(void) static inline int iop13xx_cpu_id(void)
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#include <mach/iop13xx.h>
static inline void arch_idle(void) static inline void arch_idle(void)
{ {
cpu_do_idle(); cpu_do_idle();
...@@ -15,13 +14,4 @@ static inline void arch_idle(void) ...@@ -15,13 +14,4 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode, const char *cmd) static inline void arch_reset(char mode, const char *cmd)
{ {
/*
* Reset the internal bus (warning both cores are reset)
*/
write_wdtcr(IOP_WDTCR_EN_ARM);
write_wdtcr(IOP_WDTCR_EN);
write_wdtsr(IOP13XX_WDTSR_WRITE_EN | IOP13XX_WDTCR_IB_RESET);
write_wdtcr(0x1000);
for(;;);
} }
...@@ -96,4 +96,5 @@ MACHINE_START(IQ81340MC, "Intel IQ81340MC") ...@@ -96,4 +96,5 @@ MACHINE_START(IQ81340MC, "Intel IQ81340MC")
.init_irq = iop13xx_init_irq, .init_irq = iop13xx_init_irq,
.timer = &iq81340mc_timer, .timer = &iq81340mc_timer,
.init_machine = iq81340mc_init, .init_machine = iq81340mc_init,
.restart = iop13xx_restart,
MACHINE_END MACHINE_END
...@@ -98,4 +98,5 @@ MACHINE_START(IQ81340SC, "Intel IQ81340SC") ...@@ -98,4 +98,5 @@ MACHINE_START(IQ81340SC, "Intel IQ81340SC")
.init_irq = iop13xx_init_irq, .init_irq = iop13xx_init_irq,
.timer = &iq81340sc_timer, .timer = &iq81340sc_timer,
.init_machine = iq81340sc_init, .init_machine = iq81340sc_init,
.restart = iop13xx_restart,
MACHINE_END MACHINE_END
...@@ -606,3 +606,14 @@ static int __init iop13xx_init_adma_setup(char *str) ...@@ -606,3 +606,14 @@ static int __init iop13xx_init_adma_setup(char *str)
__setup("iop13xx_init_adma", iop13xx_init_adma_setup); __setup("iop13xx_init_adma", iop13xx_init_adma_setup);
__setup("iop13xx_init_uart", iop13xx_init_uart_setup); __setup("iop13xx_init_uart", iop13xx_init_uart_setup);
__setup("iop13xx_init_i2c", iop13xx_init_i2c_setup); __setup("iop13xx_init_i2c", iop13xx_init_i2c_setup);
void iop13xx_restart(char mode, const char *cmd)
{
/*
* Reset the internal bus (warning both cores are reset)
*/
write_wdtcr(IOP_WDTCR_EN_ARM);
write_wdtcr(IOP_WDTCR_EN);
write_wdtsr(IOP13XX_WDTSR_WRITE_EN | IOP13XX_WDTCR_IB_RESET);
write_wdtcr(0x1000);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment