aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-28 00:13:21 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:08 -0400
commit7f72b47cedd1efc301576ff1050ec0a26c57eb48 (patch)
tree0bdf8eea894a34430b91291b18657290d1b79353
parent769f3e8c384795cc350e2aae27de2a12374d19d4 (diff)
m68knommu: fix system reset for ColdFire 527x family
The sofwtare reset control for the 527x ColdFire family is based on the same Reset Control Unit as the 528x ColdFire family. So use the same reset code for both. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r--arch/m68k/include/asm/system_no.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/m68k/include/asm/system_no.h b/arch/m68k/include/asm/system_no.h
index 4496c0aa8379..5fbc96d933ce 100644
--- a/arch/m68k/include/asm/system_no.h
+++ b/arch/m68k/include/asm/system_no.h
@@ -264,18 +264,18 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
264 : /* No output */ \ 264 : /* No output */ \
265 : "o" (*(char *)MCF_MBAR) ); \ 265 : "o" (*(char *)MCF_MBAR) ); \
266}) 266})
267#elif defined(CONFIG_M528x) 267#elif defined(CONFIG_M528x) || defined(CONFIG_M527x)
268/* 268/*
269 * The MCF528x has a bit (SOFTRST) in memory (Reset Control Register RCR), 269 * Most of the newer ColdFire family members have a proper RESET unit.
270 * that when set, resets the MCF528x. 270 * Use the software reset control bit in the Reset Control Register (RCR).
271 */ 271 */
272#define HARD_RESET_NOW() \ 272#define HARD_RESET_NOW() \
273({ \ 273({ \
274 unsigned char volatile *reset; \ 274 unsigned char volatile *reset; \
275 asm("move.w #0x2700, %sr"); \ 275 asm("move.w #0x2700, %sr"); \
276 reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \ 276 reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \
277 while(1) \ 277 while (1) \
278 *reset |= (0x01 << 7);\ 278 *reset |= (0x01 << 7); \
279}) 279})
280#elif defined(CONFIG_M523x) 280#elif defined(CONFIG_M523x)
281#define HARD_RESET_NOW() ({ \ 281#define HARD_RESET_NOW() ({ \