ARM: restart: ixp4xx: use new restart hook
Hook these platforms restart code into the new restart hook rather than using arch_reset(). Acked-by: Krzysztof Hałasa <khc@pm.waw.pl> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
b219415c39
commit
d1b860fbb2
|
@ -172,6 +172,7 @@ MACHINE_START(AVILA, "Gateworks Avila Network Platform")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -190,6 +191,7 @@ MACHINE_START(LOFT, "Giant Shoulder Inc Loft board")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -501,3 +501,23 @@ static void __init ixp4xx_clockevent_init(void)
|
||||||
|
|
||||||
clockevents_register_device(&clockevent_ixp4xx);
|
clockevents_register_device(&clockevent_ixp4xx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ixp4xx_restart(char mode, const char *cmd)
|
||||||
|
{
|
||||||
|
if ( 1 && mode == 's') {
|
||||||
|
/* Jump into ROM at address 0 */
|
||||||
|
soft_restart(0);
|
||||||
|
} else {
|
||||||
|
/* Use on-chip reset capability */
|
||||||
|
|
||||||
|
/* set the "key" register to enable access to
|
||||||
|
* "timer" and "enable" registers
|
||||||
|
*/
|
||||||
|
*IXP4XX_OSWK = IXP4XX_WDT_KEY;
|
||||||
|
|
||||||
|
/* write 0 to the timer register for an immediate reset */
|
||||||
|
*IXP4XX_OSWT = 0;
|
||||||
|
|
||||||
|
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -117,6 +117,7 @@ MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -132,6 +133,7 @@ MACHINE_START(IXDPG425, "Intel IXDPG425")
|
||||||
.timer = &ixp4xx_timer,
|
.timer = &ixp4xx_timer,
|
||||||
.atag_offset = 0x100,
|
.atag_offset = 0x100,
|
||||||
.init_machine = coyote_init,
|
.init_machine = coyote_init,
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -286,4 +286,5 @@ MACHINE_START(DSMG600, "D-Link DSM-G600 RevA")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -277,5 +277,6 @@ MACHINE_START(FSG, "Freecom FSG-3")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
|
|
|
@ -104,5 +104,6 @@ MACHINE_START(GATEWAY7001, "Gateway 7001 AP")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -504,4 +504,5 @@ MACHINE_START(GORAMO_MLR, "MultiLink")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -172,6 +172,7 @@ MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,7 @@ extern void ixp4xx_init_irq(void);
|
||||||
extern void ixp4xx_sys_init(void);
|
extern void ixp4xx_sys_init(void);
|
||||||
extern void ixp4xx_timer_init(void);
|
extern void ixp4xx_timer_init(void);
|
||||||
extern struct sys_timer ixp4xx_timer;
|
extern struct sys_timer ixp4xx_timer;
|
||||||
|
extern void ixp4xx_restart(char, const char *);
|
||||||
extern void ixp4xx_pci_preinit(void);
|
extern void ixp4xx_pci_preinit(void);
|
||||||
struct pci_sys_data;
|
struct pci_sys_data;
|
||||||
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
||||||
|
|
|
@ -8,9 +8,6 @@
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <mach/hardware.h>
|
|
||||||
|
|
||||||
static inline void arch_idle(void)
|
static inline void arch_idle(void)
|
||||||
{
|
{
|
||||||
/* ixp4xx does not implement the XScale PWRMODE register,
|
/* ixp4xx does not implement the XScale PWRMODE register,
|
||||||
|
@ -21,24 +18,6 @@ static inline void arch_idle(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline void arch_reset(char mode, const char *cmd)
|
static inline void arch_reset(char mode, const char *cmd)
|
||||||
{
|
{
|
||||||
if ( 1 && mode == 's') {
|
|
||||||
/* Jump into ROM at address 0 */
|
|
||||||
soft_restart(0);
|
|
||||||
} else {
|
|
||||||
/* Use on-chip reset capability */
|
|
||||||
|
|
||||||
/* set the "key" register to enable access to
|
|
||||||
* "timer" and "enable" registers
|
|
||||||
*/
|
|
||||||
*IXP4XX_OSWK = IXP4XX_WDT_KEY;
|
|
||||||
|
|
||||||
/* write 0 to the timer register for an immediate reset */
|
|
||||||
*IXP4XX_OSWT = 0;
|
|
||||||
|
|
||||||
*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -261,6 +261,7 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -321,4 +321,5 @@ MACHINE_START(NAS100D, "Iomega NAS 100d")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -307,4 +307,5 @@ MACHINE_START(NSLU2, "Linksys NSLU2")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -246,6 +246,7 @@ MACHINE_START(DEVIXP, "Omicron DEVIXP")
|
||||||
.init_irq = ixp4xx_init_irq,
|
.init_irq = ixp4xx_init_irq,
|
||||||
.timer = &ixp4xx_timer,
|
.timer = &ixp4xx_timer,
|
||||||
.init_machine = omixp_init,
|
.init_machine = omixp_init,
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -259,6 +260,7 @@ MACHINE_START(MICCPT, "Omicron MICCPT")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -269,5 +271,6 @@ MACHINE_START(MIC256, "Omicron MIC256")
|
||||||
.init_irq = ixp4xx_init_irq,
|
.init_irq = ixp4xx_init_irq,
|
||||||
.timer = &ixp4xx_timer,
|
.timer = &ixp4xx_timer,
|
||||||
.init_machine = omixp_init,
|
.init_machine = omixp_init,
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -244,4 +244,5 @@ MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
|
@ -105,5 +105,6 @@ MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2")
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
.dma_zone_size = SZ_64M,
|
.dma_zone_size = SZ_64M,
|
||||||
#endif
|
#endif
|
||||||
|
.restart = ixp4xx_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue