From 05728aec8b05ec3fa859add8b22ba46432611e9e Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Thu, 30 Apr 2009 23:32:52 +1000 Subject: m68knommu: move CPU reset code for the 5272 ColdFire into its platform code Signed-off-by: Greg Ungerer --- arch/m68knommu/platform/5272/config.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'arch/m68knommu/platform') diff --git a/arch/m68knommu/platform/5272/config.c b/arch/m68knommu/platform/5272/config.c index e049245f409..5f95fcde05f 100644 --- a/arch/m68knommu/platform/5272/config.c +++ b/arch/m68knommu/platform/5272/config.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -21,8 +20,6 @@ /***************************************************************************/ -void coldfire_reset(void); - extern unsigned int mcf_timervector; extern unsigned int mcf_profilevector; extern unsigned int mcf_timerlevel; @@ -170,6 +167,19 @@ void mcf_settimericr(int timer, int level) /***************************************************************************/ +static void m5272_cpu_reset(void) +{ + local_irq_disable(); + /* Set watchdog to reset, and enabled */ + __raw_writew(0, MCF_MBAR + MCFSIM_WIRR); + __raw_writew(1, MCF_MBAR + MCFSIM_WRRR); + __raw_writew(0, MCF_MBAR + MCFSIM_WCR); + for (;;) + /* wait for watchdog to timeout */; +} + +/***************************************************************************/ + void __init config_BSP(char *commandp, int size) { #if defined (CONFIG_MOD5272) @@ -194,7 +204,7 @@ void __init config_BSP(char *commandp, int size) mcf_timervector = 69; mcf_profilevector = 70; - mach_reset = coldfire_reset; + mach_reset = m5272_cpu_reset; } /***************************************************************************/ -- cgit v1.2.3