diff options
| author | Greg Ungerer <gerg@uclinux.org> | 2009-05-01 02:09:17 -0400 |
|---|---|---|
| committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:11 -0400 |
| commit | fb29ad7949aeed3d464ba8d2c9772835f456d4c4 (patch) | |
| tree | 78618b1667740541d5438959fc83aea9a73deac8 | |
| parent | 05728aec8b05ec3fa859add8b22ba46432611e9e (diff) | |
m68knommu: remove obsolete reset code
All ColdFire and non-MMU 68k code has custom reset routines.
Remove the obsolete and now un-used reset macros.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| -rw-r--r-- | arch/m68k/include/asm/system_no.h | 98 | ||||
| -rw-r--r-- | arch/m68knommu/platform/coldfire/vectors.c | 7 |
2 files changed, 0 insertions, 105 deletions
diff --git a/arch/m68k/include/asm/system_no.h b/arch/m68k/include/asm/system_no.h index a0a1ae8b1524..3c0718d74398 100644 --- a/arch/m68k/include/asm/system_no.h +++ b/arch/m68k/include/asm/system_no.h | |||
| @@ -203,104 +203,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz | |||
| 203 | #include <asm-generic/cmpxchg.h> | 203 | #include <asm-generic/cmpxchg.h> |
| 204 | #endif | 204 | #endif |
| 205 | 205 | ||
| 206 | #if defined( CONFIG_M68328 ) || defined( CONFIG_M68EZ328 ) || \ | ||
| 207 | defined (CONFIG_M68360) || defined( CONFIG_M68VZ328 ) | ||
| 208 | #define HARD_RESET_NOW() ({ \ | ||
| 209 | local_irq_disable(); \ | ||
| 210 | asm(" \ | ||
| 211 | moveal #0x10c00000, %a0; \ | ||
| 212 | moveb #0, 0xFFFFF300; \ | ||
| 213 | moveal 0(%a0), %sp; \ | ||
| 214 | moveal 4(%a0), %a0; \ | ||
| 215 | jmp (%a0); \ | ||
| 216 | "); \ | ||
| 217 | }) | ||
| 218 | #endif | ||
| 219 | |||
| 220 | #ifdef CONFIG_COLDFIRE | ||
| 221 | #if defined(CONFIG_M5272) && defined(CONFIG_NETtel) | ||
| 222 | /* | ||
| 223 | * Need to account for broken early mask of 5272 silicon. So don't | ||
| 224 | * jump through the original start address. Jump strait into the | ||
| 225 | * known start of the FLASH code. | ||
| 226 | */ | ||
| 227 | #define HARD_RESET_NOW() ({ \ | ||
| 228 | asm(" \ | ||
| 229 | movew #0x2700, %sr; \ | ||
| 230 | jmp 0xf0000400; \ | ||
| 231 | "); \ | ||
| 232 | }) | ||
| 233 | #elif defined(CONFIG_NETtel) || \ | ||
| 234 | defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA) | ||
| 235 | #define HARD_RESET_NOW() ({ \ | ||
| 236 | asm(" \ | ||
| 237 | movew #0x2700, %sr; \ | ||
| 238 | moveal #0x10000044, %a0; \ | ||
| 239 | movel #0xffffffff, (%a0); \ | ||
| 240 | moveal #0x10000001, %a0; \ | ||
| 241 | moveb #0x00, (%a0); \ | ||
| 242 | moveal #0xf0000004, %a0; \ | ||
| 243 | moveal (%a0), %a0; \ | ||
| 244 | jmp (%a0); \ | ||
| 245 | "); \ | ||
| 246 | }) | ||
| 247 | #elif defined(CONFIG_M5272) | ||
| 248 | /* | ||
| 249 | * Retrieve the boot address in flash using CSBR0 and CSOR0 | ||
| 250 | * find the reset vector at flash_address + 4 (e.g. 0x400) | ||
| 251 | * remap it in the flash's current location (e.g. 0xf0000400) | ||
| 252 | * and jump there. | ||
| 253 | */ | ||
| 254 | #define HARD_RESET_NOW() ({ \ | ||
| 255 | asm(" \ | ||
| 256 | movew #0x2700, %%sr; \ | ||
| 257 | move.l %0+0x40,%%d0; \ | ||
| 258 | and.l %0+0x44,%%d0; \ | ||
| 259 | andi.l #0xfffff000,%%d0; \ | ||
| 260 | mov.l %%d0,%%a0; \ | ||
| 261 | or.l 4(%%a0),%%d0; \ | ||
| 262 | mov.l %%d0,%%a0; \ | ||
| 263 | jmp (%%a0);" \ | ||
| 264 | : /* No output */ \ | ||
| 265 | : "o" (*(char *)MCF_MBAR) ); \ | ||
| 266 | }) | ||
| 267 | #elif defined(CONFIG_M523x) || defined(CONFIG_M528x) || defined(CONFIG_M527x) | ||
| 268 | /* | ||
| 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). | ||
| 271 | */ | ||
| 272 | #define HARD_RESET_NOW() \ | ||
| 273 | ({ \ | ||
| 274 | unsigned char volatile *reset; \ | ||
| 275 | asm("move.w #0x2700, %sr"); \ | ||
| 276 | reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \ | ||
| 277 | while (1) \ | ||
| 278 | *reset |= 0x80; \ | ||
| 279 | }) | ||
| 280 | #elif defined(CONFIG_M520x) | ||
| 281 | /* | ||
| 282 | * The MCF5208 has a bit (SOFTRST) in memory (Reset Control Register | ||
| 283 | * RCR), that when set, resets the MCF5208. | ||
| 284 | */ | ||
| 285 | #define HARD_RESET_NOW() \ | ||
| 286 | ({ \ | ||
| 287 | unsigned char volatile *reset; \ | ||
| 288 | asm("move.w #0x2700, %sr"); \ | ||
| 289 | reset = ((volatile unsigned char *)(MCF_IPSBAR + 0xA0000)); \ | ||
| 290 | while(1) \ | ||
| 291 | *reset |= 0x80; \ | ||
| 292 | }) | ||
| 293 | #else | ||
| 294 | #define HARD_RESET_NOW() ({ \ | ||
| 295 | asm(" \ | ||
| 296 | movew #0x2700, %sr; \ | ||
| 297 | moveal #0x4, %a0; \ | ||
| 298 | moveal (%a0), %a0; \ | ||
| 299 | jmp (%a0); \ | ||
| 300 | "); \ | ||
| 301 | }) | ||
| 302 | #endif | ||
| 303 | #endif | ||
| 304 | #define arch_align_stack(x) (x) | 206 | #define arch_align_stack(x) (x) |
| 305 | 207 | ||
| 306 | 208 | ||
diff --git a/arch/m68knommu/platform/coldfire/vectors.c b/arch/m68knommu/platform/coldfire/vectors.c index 6cf894620234..bdca0297fa9a 100644 --- a/arch/m68knommu/platform/coldfire/vectors.c +++ b/arch/m68knommu/platform/coldfire/vectors.c | |||
| @@ -96,10 +96,3 @@ void ack_vector(unsigned int irq) | |||
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | /***************************************************************************/ | 98 | /***************************************************************************/ |
| 99 | |||
| 100 | void coldfire_reset(void) | ||
| 101 | { | ||
| 102 | HARD_RESET_NOW(); | ||
| 103 | } | ||
| 104 | |||
| 105 | /***************************************************************************/ | ||
