summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/omap4/lowlevel_init.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/armv7/omap4/lowlevel_init.S')
-rw-r--r--arch/arm/cpu/armv7/omap4/lowlevel_init.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/omap4/lowlevel_init.S b/arch/arm/cpu/armv7/omap4/lowlevel_init.S
index 026dfa4..6abfbba 100644
--- a/arch/arm/cpu/armv7/omap4/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/omap4/lowlevel_init.S
@@ -45,3 +45,12 @@ lowlevel_init:
*/
bl s_init
pop {ip, pc}
+
+.globl set_pl310_ctrl_reg
+set_pl310_ctrl_reg:
+ PUSH {r4-r11, lr} @ save registers - ROM code may pollute
+ @ our registers
+ LDR r12, =0x102 @ Set PL310 control register - value in R0
+ .word 0xe1600070 @ SMC #0 - hand assembled because -march=armv5
+ @ call ROM Code API to set control register
+ POP {r4-r11, pc}