diff options
| -rw-r--r-- | arch/m68k/include/asm/m527xsim.h | 9 | ||||
| -rw-r--r-- | arch/m68knommu/platform/527x/config.c | 15 |
2 files changed, 18 insertions, 6 deletions
diff --git a/arch/m68k/include/asm/m527xsim.h b/arch/m68k/include/asm/m527xsim.h index 1f63ab3fb3e6..95f4f8ee8f7c 100644 --- a/arch/m68k/include/asm/m527xsim.h +++ b/arch/m68k/include/asm/m527xsim.h | |||
| @@ -70,5 +70,14 @@ | |||
| 70 | #define UART2_ENABLE_MASK 0x3f00 | 70 | #define UART2_ENABLE_MASK 0x3f00 |
| 71 | #endif | 71 | #endif |
| 72 | 72 | ||
| 73 | /* | ||
| 74 | * Reset Controll Unit (relative to IPSBAR). | ||
| 75 | */ | ||
| 76 | #define MCF_RCR 0x110000 | ||
| 77 | #define MCF_RSR 0x110001 | ||
| 78 | |||
| 79 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
| 80 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
| 81 | |||
| 73 | /****************************************************************************/ | 82 | /****************************************************************************/ |
| 74 | #endif /* m527xsim_h */ | 83 | #endif /* m527xsim_h */ |
diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c index 428b15922ef5..f746439cfd3e 100644 --- a/arch/m68knommu/platform/527x/config.c +++ b/arch/m68knommu/platform/527x/config.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
| 16 | #include <linux/param.h> | 16 | #include <linux/param.h> |
| 17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
| 18 | #include <linux/interrupt.h> | ||
| 19 | #include <linux/io.h> | 18 | #include <linux/io.h> |
| 20 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
| 21 | #include <asm/coldfire.h> | 20 | #include <asm/coldfire.h> |
| @@ -24,10 +23,6 @@ | |||
| 24 | 23 | ||
| 25 | /***************************************************************************/ | 24 | /***************************************************************************/ |
| 26 | 25 | ||
| 27 | void coldfire_reset(void); | ||
| 28 | |||
| 29 | /***************************************************************************/ | ||
| 30 | |||
| 31 | static struct mcf_platform_uart m527x_uart_platform[] = { | 26 | static struct mcf_platform_uart m527x_uart_platform[] = { |
| 32 | { | 27 | { |
| 33 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 28 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
| @@ -227,10 +222,18 @@ void mcf_autovector(unsigned int vec) | |||
| 227 | 222 | ||
| 228 | /***************************************************************************/ | 223 | /***************************************************************************/ |
| 229 | 224 | ||
| 225 | static void m527x_cpu_reset(void) | ||
| 226 | { | ||
| 227 | local_irq_disable(); | ||
| 228 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
| 229 | } | ||
| 230 | |||
| 231 | /***************************************************************************/ | ||
| 232 | |||
| 230 | void __init config_BSP(char *commandp, int size) | 233 | void __init config_BSP(char *commandp, int size) |
| 231 | { | 234 | { |
| 232 | mcf_disableall(); | 235 | mcf_disableall(); |
| 233 | mach_reset = coldfire_reset; | 236 | mach_reset = m527x_cpu_reset; |
| 234 | m527x_uarts_init(); | 237 | m527x_uarts_init(); |
| 235 | m527x_fec_init(); | 238 | m527x_fec_init(); |
| 236 | } | 239 | } |
