Skip to content

Commit

Permalink
m68knommu: fix system reset for ColdFire 527x family
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Greg Ungerer committed Jun 11, 2009
1 parent 769f3e8 commit 7f72b47
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions arch/m68k/include/asm/system_no.h
Original file line number Diff line number Diff line change
Expand Up @@ -264,18 +264,18 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
: /* No output */ \
: "o" (*(char *)MCF_MBAR) ); \
})
#elif defined(CONFIG_M528x)
#elif defined(CONFIG_M528x) || defined(CONFIG_M527x)
/*
* The MCF528x has a bit (SOFTRST) in memory (Reset Control Register RCR),
* that when set, resets the MCF528x.
* Most of the newer ColdFire family members have a proper RESET unit.
* Use the software reset control bit in the Reset Control Register (RCR).
*/
#define HARD_RESET_NOW() \
({ \
unsigned char volatile *reset; \
asm("move.w #0x2700, %sr"); \
({ \
unsigned char volatile *reset; \
asm("move.w #0x2700, %sr"); \
reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \
while(1) \
*reset |= (0x01 << 7);\
while (1) \
*reset |= (0x01 << 7); \
})
#elif defined(CONFIG_M523x)
#define HARD_RESET_NOW() ({ \
Expand Down

0 comments on commit 7f72b47

Please sign in to comment.