]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/cpu/armv7/omap-common/lowlevel_init.S
karo: fdt: fix panel-dpi support
[karo-tx-uboot.git] / arch / arm / cpu / armv7 / omap-common / lowlevel_init.S
index 86c0e4217478f9d06b00723d7280c6629e465059..8f2e83abb105863cbc00b8f167a389362e49653e 100644 (file)
 #include <asm/arch/spl.h>
 #include <linux/linkage.h>
 
+#ifdef CONFIG_SPL
 ENTRY(save_boot_params)
+
        ldr     r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
        str     r0, [r1]
-       bx      lr
+       b       save_boot_params_ret
 ENDPROC(save_boot_params)
+#endif
 
-ENTRY(set_pl310_ctrl_reg)
-       PUSH    {r4-r11, lr}    @ save registers - ROM code may pollute
+ENTRY(omap_smc1)
+       PUSH    {r4-r12, 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}
-ENDPROC(set_pl310_ctrl_reg)
+       MOV     r12, r0         @ Service
+       MOV     r0, r1          @ Argument
+       DSB
+       DMB
+#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 6 && defined(__ARM_ARCH_7A__)
+       .arch_extension sec
+       smc     #0              @ call ROM Code API to set control register
+#else
+       .word   0xe1600070
+#endif
+       POP     {r4-r12, pc}
+ENDPROC(omap_smc1)