summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/sleep.S
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2014-02-09 23:49:13 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2014-02-09 23:51:11 -0800
commitf950aa05f2443494d3952fa3970eed83549d6943 (patch)
tree2d4b4d7d25ada8085b885a99dd1f4f44321a07ed /arch/arm/mach-tegra/sleep.S
parentbcb186075677a767c07a89b3bde1f34cc0d788ee (diff)
Revert "ARM: tegra: trustzone: Single kernel to work in both secure and non-secure mode."
This reverts commit 7f93a0dddf39f372c064f772f9af6903e91aaacf as the t132ref builds break with the following errors - <android>/kernel/drivers/platform/tegra/../../../arch/arm/mach-tegra/reset.c:45: undefined reference to `is_secure_mode' <android>/kernel/drivers/platform/tegra/../../../arch/arm/mach-tegra/reset.c:57: undefined reference to `is_secure_mode' <android>/kernel/drivers/platform/tegra/../../../arch/arm/mach-tegra/reset.c:58: undefined reference to `tegra_generic_smc' Change-Id: I4e44c2ffba4e1c013213e543b67f2d49a928b764 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/365347
Diffstat (limited to 'arch/arm/mach-tegra/sleep.S')
-rw-r--r--arch/arm/mach-tegra/sleep.S20
1 files changed, 9 insertions, 11 deletions
diff --git a/arch/arm/mach-tegra/sleep.S b/arch/arm/mach-tegra/sleep.S
index 099de4590c23..75ed8db27990 100644
--- a/arch/arm/mach-tegra/sleep.S
+++ b/arch/arm/mach-tegra/sleep.S
@@ -208,15 +208,15 @@ ENDPROC(tegra_flush_l1_cache)
*/
ENTRY(tegra_sleep_cpu_finish)
mov r4, r0
- bl is_secure_mode
- cmp r0, #1
- beq 1f @if in secure-mode skip
+#if defined(CONFIG_TEGRA_USE_SECURE_KERNEL)
ldr r0, =0x84000001
ldr r1, =((1 << 16) | 4)
ldr r2, =TEGRA_RESET_HANDLER_BASE
bl tegra_generic_smc
-1:
+#endif
+
bl tegra_flush_cache
+
mov r0, r4
bl tegra_cpu_exit_coherency
@@ -298,12 +298,8 @@ tegra_shut_off_mmu:
dsb
mcr p15, 0, r3, c1, c0, 0
isb
-#if defined(CONFIG_CACHE_L2X0)
- mov r5, r0 @save r0
- bl is_secure_mode
- cmp r0, #1
- mov r0, r5 @restore r0
- bne 2f @if non-secure mode skip
+#if defined(CONFIG_CACHE_L2X0) && \
+ !defined(CONFIG_TEGRA_USE_SECURE_KERNEL)
tst r11, #1
beq 2f
mov32 r1, TEGRA_ARM_PL310_BASE
@@ -322,7 +318,7 @@ tegra_shut_off_mmu:
mov r2, #0
str r2, [r1, #L2X0_CACHE_SYNC]
str r2, [r1, #L2X0_CTRL]
-#endif /* CONFIG_CACHE_L2X0 */
+#endif /* CONFIG_CACHE_L2X0 && !CONFIG_TEGRA_USE_SECURE_KERNEL */
2: mov pc, r0
/*
@@ -342,6 +338,7 @@ ENTRY(tegra_cpu_pllp)
ENDPROC(tegra_cpu_pllp)
#endif
+#if defined(CONFIG_TEGRA_USE_SECURE_KERNEL)
/*
* tegra_generic_smc
*
@@ -367,3 +364,4 @@ restart:
done:
mov pc, lr
ENDPROC(tegra_generic_smc)
+#endif