aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-28 02:56:03 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:09 -0400
commit293ca0f75415dd8373c716bf9755569daca7ba5d (patch)
tree6c853bed92928fffe52cfe9f1a765899aa14c46d /arch/m68k
parent7f72b47cedd1efc301576ff1050ec0a26c57eb48 (diff)
m68knommu: merge system reset for code ColdFire 523x family
The sofwtare reset control code for the 523x ColdFire family uses the same Reset unit hardware as the 527x and 528x ColdFire parts. So they should all use the same code. Merge them. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k')
-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 /*