ARM: OMAP3: Get rid of omap3_gp_romcode_call and replace with omap_smc1
authorNishanth Menon <nm@ti.com>
Mon, 9 Mar 2015 22:12:05 +0000 (17:12 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 13 Mar 2015 13:29:00 +0000 (09:29 -0400)
omap_smc1 is now generic enough to remove duplicate
omap3_gp_romcode_call logic that omap3 introduced.

As part of this change, move to using the generic lowlevel_init.S for
omap3 as well.

Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Matt Porter <mporter@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/cpu/armv7/omap-common/Makefile
arch/arm/cpu/armv7/omap-common/lowlevel_init.S
arch/arm/cpu/armv7/omap3/board.c
arch/arm/cpu/armv7/omap3/lowlevel_init.S
arch/arm/include/asm/arch-omap3/sys_proto.h

index 7695e16d36f59a0b2b80ac3f3f314b316b3c4a68..f3725b267c99c3df38f2b4a97faebdc89624a059 100644 (file)
@@ -28,7 +28,7 @@ endif
 
 ifeq ($(CONFIG_OMAP34XX),)
 obj-y  += boot-common.o
-obj-y  += lowlevel_init.o
 endif
+obj-y  += lowlevel_init.o
 
 obj-y  += mem-common.o
index 80619b04df5d44e884be0ffdceac17ce030f251b..746df922c27d686a6376cf03b238158ba0daeff4 100644 (file)
 #include <asm/arch/spl.h>
 #include <linux/linkage.h>
 
+#ifndef CONFIG_OMAP34XX
 ENTRY(save_boot_params)
        ldr     r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
        str     r0, [r1]
        b       save_boot_params_ret
 ENDPROC(save_boot_params)
+#endif
 
 ENTRY(omap_smc1)
        PUSH    {r4-r12, lr}    @ save registers - ROM code may pollute
index dd53b207f850e2fbe2c5064df414f4ed77457d5a..6e6a95762b8d622a8383aec2dfe1286d95ca4719 100644 (file)
@@ -429,8 +429,7 @@ static void omap3_update_aux_cr_secure(u32 set_bits, u32 clear_bits)
        acr |= set_bits;
 
        if (get_device_type() == GP_DEVICE) {
-               omap3_gp_romcode_call(OMAP3_GP_ROMCODE_API_WRITE_ACR,
-                                      acr);
+               omap_smc1(OMAP3_GP_ROMCODE_API_WRITE_ACR, acr);
        } else {
                struct emu_hal_params emu_romcode_params;
                emu_romcode_params.num_params = 1;
@@ -470,8 +469,7 @@ static void omap3_update_aux_cr(u32 set_bits, u32 clear_bits)
 static void omap3_invalidate_l2_cache_secure(void)
 {
        if (get_device_type() == GP_DEVICE) {
-               omap3_gp_romcode_call(OMAP3_GP_ROMCODE_API_L2_INVAL,
-                                     0);
+               omap_smc1(OMAP3_GP_ROMCODE_API_L2_INVAL, 0);
        } else {
                struct emu_hal_params emu_romcode_params;
                emu_romcode_params.num_params = 1;
index 80cb2639f60cc9ca8f3cb5eb338671e252dcb03e..7a691519bb6b3a4cf22ad0558d29a75902a9a653 100644 (file)
@@ -27,17 +27,6 @@ ENTRY(save_boot_params)
 ENDPROC(save_boot_params)
 #endif
 
-ENTRY(omap3_gp_romcode_call)
-       PUSH {r4-r12, lr} @ Save all registers from ROM code!
-       MOV r12, r0     @ Copy the Service ID in R12
-       MOV r0, r1      @ Copy parameter to R0
-       mcr     p15, 0, r0, c7, c10, 4  @ DSB
-       mcr     p15, 0, r0, c7, c10, 5  @ DMB
-       .word   0xe1600070      @ SMC #0 to enter monitor - hand assembled
-                               @ because we use -march=armv5
-       POP {r4-r12, pc}
-ENDPROC(omap3_gp_romcode_call)
-
 /*
  * Funtion for making PPA HAL API calls in secure devices
  * Input:
index bcf92fbe658b8a360bc24f39ee336652e7f23a14..0c77a22ccfff975be16029b8d675bdc39db50680 100644 (file)
@@ -73,6 +73,5 @@ void power_init_r(void);
 void dieid_num_r(void);
 void get_dieid(u32 *id);
 void do_omap3_emu_romcode_call(u32 service_id, u32 parameters);
-void omap3_gp_romcode_call(u32 service_id, u32 parameter);
 u32 warm_reset(void);
 #endif