summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2023-04-13 22:34:43 +0200
committerTom Rini <trini@konsulko.com>2023-04-25 15:31:28 -0400
commit7add47959ed24a9cb7ffef081d2f9b5bdb8ae275 (patch)
tree14da4efad4d28e4bfcb56fb5245def02e8776f91 /arch/arm/mach-omap2
parent51e0cacca7b8039a6c37cbd6b5f77ac2e91045f2 (diff)
downloadu-boot-7add47959ed24a9cb7ffef081d2f9b5bdb8ae275.tar.gz
u-boot-7add47959ed24a9cb7ffef081d2f9b5bdb8ae275.tar.bz2
u-boot-7add47959ed24a9cb7ffef081d2f9b5bdb8ae275.zip
arm: omap3: Directly use SMC #1 in lowlevel_init.S
Since commit de39dc71625d ("arm: armv7-a: Compile and tune for armv7-a instead of armv5") is used -march=armv7-a option for Omap3 platforms. With directive ".arch_extension sec" it is possible for -march=armv7-a to directly use ARM SMC instruction. So enable ".arch_extension sec" in Omap3 lowlevel_init.S and replace hand assembled ".word 0xe1600071" by "SMC #1". Since commit 51d063865064 ("arm: omap-common: add secure smc entry") same pattern is already used in arch/arm/cpu/armv7/omap-common/lowlevel_init.S. Signed-off-by: Pali Rohár <pali@kernel.org>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/omap3/lowlevel_init.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/omap3/lowlevel_init.S b/arch/arm/mach-omap2/omap3/lowlevel_init.S
index ab7cdcf3d4..1ab9472e19 100644
--- a/arch/arm/mach-omap2/omap3/lowlevel_init.S
+++ b/arch/arm/mach-omap2/omap3/lowlevel_init.S
@@ -15,13 +15,14 @@
#include <asm/arch/clocks_omap3.h>
#include <linux/linkage.h>
+.arch_extension sec
+
/*
* Funtion for making PPA HAL API calls in secure devices
* Input:
* R0 - Service ID
* R1 - paramer list
*/
-/* TODO: Re-evaluate the comment at the end regarding armv5 vs armv7 */
ENTRY(do_omap3_emu_romcode_call)
PUSH {r4-r12, lr} @ Save all registers from ROM code!
MOV r12, r0 @ Copy the Secure Service ID in R12
@@ -32,8 +33,7 @@ ENTRY(do_omap3_emu_romcode_call)
MOV r6, #0xFF @ Indicate new Task call
mcr p15, 0, r0, c7, c10, 4 @ DSB
mcr p15, 0, r0, c7, c10, 5 @ DMB
- .word 0xe1600071 @ SMC #1 to call PPA service - hand assembled
- @ because we use -march=armv5
+ SMC #1 @ Call PPA service
POP {r4-r12, pc}
ENDPROC(do_omap3_emu_romcode_call)