From c18e52c7696e39c7cb23cd083bbda5652c338b79 Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Thu, 30 Apr 2009 17:03:09 +1000 Subject: m68knommu: add CPU reset code for the 5307 ColdFire Signed-off-by: Greg Ungerer --- arch/m68knommu/platform/5307/config.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'arch/m68knommu') diff --git a/arch/m68knommu/platform/5307/config.c b/arch/m68knommu/platform/5307/config.c index 44803bf70a6e..39da9e9ff674 100644 --- a/arch/m68knommu/platform/5307/config.c +++ b/arch/m68knommu/platform/5307/config.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -22,8 +21,6 @@ /***************************************************************************/ -void coldfire_reset(void); - extern unsigned int mcf_timervector; extern unsigned int mcf_profilevector; extern unsigned int mcf_timerlevel; @@ -119,6 +116,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) /***************************************************************************/ +void m5307_cpu_reset(void) +{ + local_irq_disable(); + /* Set watchdog to soft reset, and enabled */ + __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); + for (;;) + /* wait for watchdog to timeout */; +} + +/***************************************************************************/ + void __init config_BSP(char *commandp, int size) { mcf_setimr(MCFSIM_IMR_MASKALL); @@ -134,7 +142,7 @@ void __init config_BSP(char *commandp, int size) mcf_timerlevel = 6; #endif - mach_reset = coldfire_reset; + mach_reset = m5307_cpu_reset; #ifdef CONFIG_BDM_DISABLE /* -- cgit v1.2.3