diff options
| -rw-r--r-- | arch/m68k/include/asm/m528xsim.h | 8 | ||||
| -rw-r--r-- | arch/m68knommu/platform/528x/config.c | 13 |
2 files changed, 17 insertions, 4 deletions
diff --git a/arch/m68k/include/asm/m528xsim.h b/arch/m68k/include/asm/m528xsim.h index 28bf783a5d6d..d79c49f8134a 100644 --- a/arch/m68k/include/asm/m528xsim.h +++ b/arch/m68k/include/asm/m528xsim.h | |||
| @@ -56,6 +56,14 @@ | |||
| 56 | #define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51) | 56 | #define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51) |
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | /* | ||
| 60 | * Reset Control Unit (relative to IPSBAR). | ||
| 61 | */ | ||
| 62 | #define MCF_RCR 0x110000 | ||
| 63 | #define MCF_RSR 0x110001 | ||
| 64 | |||
| 65 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
| 66 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
| 59 | 67 | ||
| 60 | /********************************************************************* | 68 | /********************************************************************* |
| 61 | * | 69 | * |
diff --git a/arch/m68knommu/platform/528x/config.c b/arch/m68knommu/platform/528x/config.c index bee526f4d1af..a1d1a61c4fe6 100644 --- a/arch/m68knommu/platform/528x/config.c +++ b/arch/m68knommu/platform/528x/config.c | |||
| @@ -31,10 +31,6 @@ | |||
| 31 | 31 | ||
| 32 | /***************************************************************************/ | 32 | /***************************************************************************/ |
| 33 | 33 | ||
| 34 | void coldfire_reset(void); | ||
| 35 | |||
| 36 | /***************************************************************************/ | ||
| 37 | |||
| 38 | static struct mcf_platform_uart m528x_uart_platform[] = { | 34 | static struct mcf_platform_uart m528x_uart_platform[] = { |
| 39 | { | 35 | { |
| 40 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 36 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
| @@ -171,6 +167,14 @@ void mcf_autovector(unsigned int vec) | |||
| 171 | 167 | ||
| 172 | /***************************************************************************/ | 168 | /***************************************************************************/ |
| 173 | 169 | ||
| 170 | static void m528x_cpu_reset(void) | ||
| 171 | { | ||
| 172 | local_irq_disable(); | ||
| 173 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
| 174 | } | ||
| 175 | |||
| 176 | /***************************************************************************/ | ||
| 177 | |||
| 174 | #ifdef CONFIG_WILDFIRE | 178 | #ifdef CONFIG_WILDFIRE |
| 175 | void wildfire_halt(void) | 179 | void wildfire_halt(void) |
| 176 | { | 180 | { |
| @@ -214,6 +218,7 @@ void __init config_BSP(char *commandp, int size) | |||
| 214 | 218 | ||
| 215 | static int __init init_BSP(void) | 219 | static int __init init_BSP(void) |
| 216 | { | 220 | { |
| 221 | mach_reset = m528x_cpu_reset; | ||
| 217 | m528x_uarts_init(); | 222 | m528x_uarts_init(); |
| 218 | m528x_fec_init(); | 223 | m528x_fec_init(); |
| 219 | platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices)); | 224 | platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices)); |
