diff options
Diffstat (limited to 'cpu/arm1136/start.S')
-rw-r--r-- | cpu/arm1136/start.S | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S index 56009d0..8b765f1 100644 --- a/cpu/arm1136/start.S +++ b/cpu/arm1136/start.S @@ -30,6 +30,9 @@ #include <config.h> #include <version.h> +#if !defined(CONFIG_INTEGRATOR) && ! defined(CONFIG_ARCH_CINTEGRATOR) +#include <asm/arch/omap2420.h> +#endif .globl _start _start: b reset #ifdef CONFIG_ONENAND_IPL @@ -435,4 +438,22 @@ fiq: arm1136_cache_flush: mcr p15, 0, r1, c7, c5, 0 @ invalidate I cache mov pc, lr @ back to caller + +#if defined(CONFIG_INTEGRATOR) && defined(CONFIG_ARCH_CINTEGRATOR) +/* Use the IntegratorCP function from board/integratorcp/platform.S */ +#else + + .align 5 +.globl reset_cpu +reset_cpu: + ldr r1, rstctl /* get addr for global reset reg */ + mov r3, #0x2 /* full reset pll+mpu */ + str r3, [r1] /* force reset */ + mov r0, r0 +_loop_forever: + b _loop_forever +rstctl: + .word PM_RSTCTRL_WKUP + +#endif #endif /* CONFIG_ONENAND_IPL */ |