aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf533/head.S
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-10-10 12:22:35 -0400
committerBryan Wu <bryan.wu@analog.com>2007-10-10 12:22:35 -0400
commit168f1212c098727f2509fe0f66bd30d7209a8159 (patch)
treee749898e8ab56131a12d8fc489081321abb3ff2f /arch/blackfin/mach-bf533/head.S
parent27d875f2c134c4b26860ccdd03b4c52cce4efc2c (diff)
Blackfin arch: rewrite our reboot code in C
rewrite our reboot code in C rather than assembly to be like other architectures and to allow board maintainers to define custom behavior Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-bf533/head.S')
-rw-r--r--arch/blackfin/mach-bf533/head.S60
1 files changed, 0 insertions, 60 deletions
diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S
index 3be6feefa8a9..6e1b5f6da5ca 100644
--- a/arch/blackfin/mach-bf533/head.S
+++ b/arch/blackfin/mach-bf533/head.S
@@ -459,66 +459,6 @@ ENTRY(_start_dma_code)
459ENDPROC(_start_dma_code) 459ENDPROC(_start_dma_code)
460#endif /* CONFIG_BFIN_KERNEL_CLOCK */ 460#endif /* CONFIG_BFIN_KERNEL_CLOCK */
461 461
462ENTRY(_bfin_reset)
463 /* No more interrupts to be handled*/
464 CLI R6;
465 SSYNC;
466
467#if defined(CONFIG_BFIN_SHARED_FLASH_ENET)
468 p0.h = hi(FIO_INEN);
469 p0.l = lo(FIO_INEN);
470 r0.l = ~(1 << CONFIG_ENET_FLASH_PIN);
471 w[p0] = r0.l;
472
473 p0.h = hi(FIO_DIR);
474 p0.l = lo(FIO_DIR);
475 r0.l = (1 << CONFIG_ENET_FLASH_PIN);
476 w[p0] = r0.l;
477
478 p0.h = hi(FIO_FLAG_C);
479 p0.l = lo(FIO_FLAG_C);
480 r0.l = (1 << CONFIG_ENET_FLASH_PIN);
481 w[p0] = r0.l;
482#endif
483
484 /* Clear the IMASK register */
485 p0.h = hi(IMASK);
486 p0.l = lo(IMASK);
487 r0 = 0x0;
488 [p0] = r0;
489
490 /* Clear the ILAT register */
491 p0.h = hi(ILAT);
492 p0.l = lo(ILAT);
493 r0 = [p0];
494 [p0] = r0;
495 SSYNC;
496
497 /* make sure SYSCR is set to use BMODE */
498 P0.h = hi(SYSCR);
499 P0.l = lo(SYSCR);
500 R0.l = 0x0;
501 W[P0] = R0.l;
502 SSYNC;
503
504 /* issue a system soft reset */
505 P1.h = hi(SWRST);
506 P1.l = lo(SWRST);
507 R1.l = 0x0007;
508 W[P1] = R1;
509 SSYNC;
510
511 /* clear system soft reset */
512 R0.l = 0x0000;
513 W[P0] = R0;
514 SSYNC;
515
516 /* issue core reset */
517 raise 1;
518
519 RTS;
520ENDPROC(_bfin_reset)
521
522#if CONFIG_DEBUG_KERNEL_START 462#if CONFIG_DEBUG_KERNEL_START
523debug_kernel_start_trap: 463debug_kernel_start_trap:
524 /* Set up a temp stack in L1 - SDRAM might not be working */ 464 /* Set up a temp stack in L1 - SDRAM might not be working */