ARM: restart: iop13xx: use new restart hook
Hook these platforms restart code into the new restart hook rather than using arch_reset(). Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
bec92b1ec6
Коммит
00aa78eea2
|
@ -10,6 +10,7 @@ void iop13xx_map_io(void);
|
|||
void iop13xx_platform_init(void);
|
||||
void iop13xx_add_tpmi_devices(void);
|
||||
void iop13xx_init_irq(void);
|
||||
void iop13xx_restart(char, const char *);
|
||||
|
||||
/* CPUID CP6 R0 Page 0 */
|
||||
static inline int iop13xx_cpu_id(void)
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include <mach/iop13xx.h>
|
||||
static inline void arch_idle(void)
|
||||
{
|
||||
cpu_do_idle();
|
||||
|
@ -15,13 +14,4 @@ static inline void arch_idle(void)
|
|||
|
||||
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")
|
|||
.init_irq = iop13xx_init_irq,
|
||||
.timer = &iq81340mc_timer,
|
||||
.init_machine = iq81340mc_init,
|
||||
.restart = iop13xx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -98,4 +98,5 @@ MACHINE_START(IQ81340SC, "Intel IQ81340SC")
|
|||
.init_irq = iop13xx_init_irq,
|
||||
.timer = &iq81340sc_timer,
|
||||
.init_machine = iq81340sc_init,
|
||||
.restart = iop13xx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -606,3 +606,14 @@ static int __init iop13xx_init_adma_setup(char *str)
|
|||
__setup("iop13xx_init_adma", iop13xx_init_adma_setup);
|
||||
__setup("iop13xx_init_uart", iop13xx_init_uart_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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче