diff options
Diffstat (limited to 'arch/arm/cpu/armv7/vybrid/lowlevel_init.S')
-rw-r--r-- | arch/arm/cpu/armv7/vybrid/lowlevel_init.S | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/vybrid/lowlevel_init.S b/arch/arm/cpu/armv7/vybrid/lowlevel_init.S index 8c22e3c365..53e6f8884f 100644 --- a/arch/arm/cpu/armv7/vybrid/lowlevel_init.S +++ b/arch/arm/cpu/armv7/vybrid/lowlevel_init.S @@ -123,11 +123,17 @@ ldr r2, =ANATOP_BASE_ADDR ldr r1, =CONFIG_SYS_ANADIG_528_CTRL str r1, [r2, #0x30] + + /* check for lock */ +check: ldr r3, [r2, #0x30] + bic r3, r3, #0x7fffffff + cmp r3, #0x80000000 + bne check + ldr r1, =CONFIG_SYS_ANADIG_ENET_CTRL str r1, [r2, #0xE0] ldr r1, =CONFIG_SYS_ANADIG_SYS_CTRL str r1, [r2, #0x270] - /* check for lock */ ldr r1, =CONFIG_SYS_CLKCTRL_CCR str r1, [r0, #CLKCTL_CCR] @@ -155,6 +161,19 @@ ldr r1, =CONFIG_SYS_CLKCTRL_CSCDR4 str r1, [r0, #CLKCTL_CSCDR4] + + ldr r2, =SRC_BASE_ADDR + ldr r3, [r2, #0x08] + cmp r3, #0x40000 + beq out + str r3, [r2, #0x08] + ldr r1, [r2] + orr r1, r1, #0x1000 + str r1, [r2] + b out2 +out: + str r3, [r2, #0x08] +out2: .endm .macro setup_wdog |