aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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() ({ \