Commit dd65b1de authored by Greg Ungerer's avatar Greg Ungerer

m68knommu: move CPU reset code for the 528x ColdFire into its platform code

Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
parent 4c0b008d
...@@ -56,6 +56,14 @@ ...@@ -56,6 +56,14 @@
#define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51) #define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51)
/*
* Reset Control Unit (relative to IPSBAR).
*/
#define MCF_RCR 0x110000
#define MCF_RSR 0x110001
#define MCF_RCR_SWRESET 0x80 /* Software reset bit */
#define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */
/********************************************************************* /*********************************************************************
* *
......
...@@ -31,10 +31,6 @@ ...@@ -31,10 +31,6 @@
/***************************************************************************/ /***************************************************************************/
void coldfire_reset(void);
/***************************************************************************/
static struct mcf_platform_uart m528x_uart_platform[] = { static struct mcf_platform_uart m528x_uart_platform[] = {
{ {
.mapbase = MCF_MBAR + MCFUART_BASE1, .mapbase = MCF_MBAR + MCFUART_BASE1,
...@@ -171,6 +167,14 @@ void mcf_autovector(unsigned int vec) ...@@ -171,6 +167,14 @@ void mcf_autovector(unsigned int vec)
/***************************************************************************/ /***************************************************************************/
static void m528x_cpu_reset(void)
{
local_irq_disable();
__raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR);
}
/***************************************************************************/
#ifdef CONFIG_WILDFIRE #ifdef CONFIG_WILDFIRE
void wildfire_halt(void) void wildfire_halt(void)
{ {
...@@ -214,6 +218,7 @@ void __init config_BSP(char *commandp, int size) ...@@ -214,6 +218,7 @@ void __init config_BSP(char *commandp, int size)
static int __init init_BSP(void) static int __init init_BSP(void)
{ {
mach_reset = m528x_cpu_reset;
m528x_uarts_init(); m528x_uarts_init();
m528x_fec_init(); m528x_fec_init();
platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices)); platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment