summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/vybrid/lowlevel_init.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/armv7/vybrid/lowlevel_init.S')
-rw-r--r--arch/arm/cpu/armv7/vybrid/lowlevel_init.S21
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