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

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
Greg Ungerer 2009-04-30 22:58:35 +10:00
parent 25ce4a908a
commit 55b33f316d
2 changed files with 17 additions and 6 deletions

View File

@ -41,5 +41,14 @@
#define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ #define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */
#define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ #define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */
/*
* Reset Controll 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 */
/****************************************************************************/ /****************************************************************************/
#endif /* m523xsim_h */ #endif /* m523xsim_h */

View File

@ -15,7 +15,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/param.h> #include <linux/param.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h> #include <linux/io.h>
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/coldfire.h> #include <asm/coldfire.h>
@ -24,10 +23,6 @@
/***************************************************************************/ /***************************************************************************/
void coldfire_reset(void);
/***************************************************************************/
static struct mcf_platform_uart m523x_uart_platform[] = { static struct mcf_platform_uart m523x_uart_platform[] = {
{ {
.mapbase = MCF_MBAR + MCFUART_BASE1, .mapbase = MCF_MBAR + MCFUART_BASE1,
@ -145,13 +140,20 @@ void mcf_autovector(unsigned int vec)
{ {
/* Everything is auto-vectored on the 523x */ /* Everything is auto-vectored on the 523x */
} }
/***************************************************************************/
static void m523x_cpu_reset(void)
{
local_irq_disable();
__raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR);
}
/***************************************************************************/ /***************************************************************************/
void __init config_BSP(char *commandp, int size) void __init config_BSP(char *commandp, int size)
{ {
mcf_disableall(); mcf_disableall();
mach_reset = coldfire_reset; mach_reset = m523x_cpu_reset;
m523x_uarts_init(); m523x_uarts_init();
m523x_fec_init(); m523x_fec_init();
} }