From 1139b926c4b1754276fc5e2556cc9c0f46b010c6 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 5 Nov 2011 11:46:04 +0000 Subject: ARM: restart: ixp2000: use new restart hook Hook these platforms restart code into the new restart hook rather than using arch_reset(). In doing so, we split out the IXDP2401, IXDP2801 and IXDP2805 platform specific restart code into their own platform files. Acked-by: Lennert Buytenhek Signed-off-by: Russell King --- arch/arm/mach-ixp2000/include/mach/platform.h | 1 + arch/arm/mach-ixp2000/include/mach/system.h | 29 --------------------------- 2 files changed, 1 insertion(+), 29 deletions(-) (limited to 'arch/arm/mach-ixp2000/include') diff --git a/arch/arm/mach-ixp2000/include/mach/platform.h b/arch/arm/mach-ixp2000/include/mach/platform.h index 42182c79ed90..bb0f8dcf9ee1 100644 --- a/arch/arm/mach-ixp2000/include/mach/platform.h +++ b/arch/arm/mach-ixp2000/include/mach/platform.h @@ -122,6 +122,7 @@ void ixp2000_map_io(void); void ixp2000_uart_init(void); void ixp2000_init_irq(void); void ixp2000_init_time(unsigned long); +void ixp2000_restart(char, const char *); unsigned long ixp2000_gettimeoffset(void); struct pci_sys_data; diff --git a/arch/arm/mach-ixp2000/include/mach/system.h b/arch/arm/mach-ixp2000/include/mach/system.h index 810df7b93982..e981fd2fefee 100644 --- a/arch/arm/mach-ixp2000/include/mach/system.h +++ b/arch/arm/mach-ixp2000/include/mach/system.h @@ -8,10 +8,6 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ - -#include -#include - static inline void arch_idle(void) { cpu_do_idle(); @@ -19,29 +15,4 @@ static inline void arch_idle(void) static inline void arch_reset(char mode, const char *cmd) { - /* - * Reset flash banking register so that we are pointing at - * RedBoot bank. - */ - if (machine_is_ixdp2401()) { - ixp2000_reg_write(IXDP2X01_CPLD_FLASH_REG, - ((0 >> IXDP2X01_FLASH_WINDOW_BITS) - | IXDP2X01_CPLD_FLASH_INTERN)); - ixp2000_reg_wrb(IXDP2X01_CPLD_RESET_REG, 0xffffffff); - } - - /* - * On IXDP2801 we need to write this magic sequence to the CPLD - * to cause a complete reset of the CPU and all external devices - * and move the flash bank register back to 0. - */ - if (machine_is_ixdp2801() || machine_is_ixdp28x5()) { - unsigned long reset_reg = *IXDP2X01_CPLD_RESET_REG; - - reset_reg = 0x55AA0000 | (reset_reg & 0x0000FFFF); - ixp2000_reg_write(IXDP2X01_CPLD_RESET_REG, reset_reg); - ixp2000_reg_wrb(IXDP2X01_CPLD_RESET_REG, 0x80000000); - } - - ixp2000_reg_wrb(IXP2000_RESET0, RSTALL); } -- cgit v1.2.3