aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/m68k/include/asm/system_no.h13
1 files changed, 2 insertions, 11 deletions
diff --git a/arch/m68k/include/asm/system_no.h b/arch/m68k/include/asm/system_no.h
index 5fbc96d933ce..a0a1ae8b1524 100644
--- a/arch/m68k/include/asm/system_no.h
+++ b/arch/m68k/include/asm/system_no.h
@@ -264,7 +264,7 @@ 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) || defined(CONFIG_M527x) 267#elif defined(CONFIG_M523x) || defined(CONFIG_M528x) || defined(CONFIG_M527x)
268/* 268/*
269 * Most of the newer ColdFire family members have a proper RESET unit. 269 * Most of the newer ColdFire family members have a proper RESET unit.
270 * Use the software reset control bit in the Reset Control Register (RCR). 270 * Use the software reset control bit in the Reset Control Register (RCR).
@@ -275,16 +275,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
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 |= 0x80; \
279})
280#elif defined(CONFIG_M523x)
281#define HARD_RESET_NOW() ({ \
282 asm(" \
283 movew #0x2700, %sr; \
284 movel #0x01000000, %sp; \
285 moveal #0x40110000, %a0; \
286 moveb #0x80, (%a0); \
287 "); \
288}) 279})
289#elif defined(CONFIG_M520x) 280#elif defined(CONFIG_M520x)
290 /* 281 /*