diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 03:03:09 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:09 -0400 |
commit | c18e52c7696e39c7cb23cd083bbda5652c338b79 (patch) | |
tree | 58cbda9a39ee6fbdbef62c5bb780d8ec2f7f97de /arch/m68knommu | |
parent | 293ca0f75415dd8373c716bf9755569daca7ba5d (diff) |
m68knommu: add CPU reset code for the 5307 ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu')
-rw-r--r-- | arch/m68knommu/platform/5307/config.c | 16 |
1 files changed, 12 insertions, 4 deletions
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 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/param.h> | 13 | #include <linux/param.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
18 | #include <asm/coldfire.h> | 17 | #include <asm/coldfire.h> |
@@ -22,8 +21,6 @@ | |||
22 | 21 | ||
23 | /***************************************************************************/ | 22 | /***************************************************************************/ |
24 | 23 | ||
25 | void coldfire_reset(void); | ||
26 | |||
27 | extern unsigned int mcf_timervector; | 24 | extern unsigned int mcf_timervector; |
28 | extern unsigned int mcf_profilevector; | 25 | extern unsigned int mcf_profilevector; |
29 | extern unsigned int mcf_timerlevel; | 26 | extern unsigned int mcf_timerlevel; |
@@ -119,6 +116,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
119 | 116 | ||
120 | /***************************************************************************/ | 117 | /***************************************************************************/ |
121 | 118 | ||
119 | void m5307_cpu_reset(void) | ||
120 | { | ||
121 | local_irq_disable(); | ||
122 | /* Set watchdog to soft reset, and enabled */ | ||
123 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
124 | for (;;) | ||
125 | /* wait for watchdog to timeout */; | ||
126 | } | ||
127 | |||
128 | /***************************************************************************/ | ||
129 | |||
122 | void __init config_BSP(char *commandp, int size) | 130 | void __init config_BSP(char *commandp, int size) |
123 | { | 131 | { |
124 | mcf_setimr(MCFSIM_IMR_MASKALL); | 132 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -134,7 +142,7 @@ void __init config_BSP(char *commandp, int size) | |||
134 | mcf_timerlevel = 6; | 142 | mcf_timerlevel = 6; |
135 | #endif | 143 | #endif |
136 | 144 | ||
137 | mach_reset = coldfire_reset; | 145 | mach_reset = m5307_cpu_reset; |
138 | 146 | ||
139 | #ifdef CONFIG_BDM_DISABLE | 147 | #ifdef CONFIG_BDM_DISABLE |
140 | /* | 148 | /* |