summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorKrishna Reddy <vdumpa@nvidia.com>2011-09-07 12:22:48 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-09-21 20:17:50 -0700
commit94bc4325186c4753f6a7cbf29e44b446e2b5b136 (patch)
tree53f4cffbf4b9833658422b55f8e33dff2ee8c03b /arch
parent7ed44e17cb44fa54110753977fedb5302b94111c (diff)
ARM: tegra: Don't enable arm errata 752520 for versions r1p*
Bug 831928 Change-Id: I18a6be6ae09e61c6afcbd4ce4b5148b8d715c6e3 Reviewed-on: http://git-master/r/51160 Tested-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/cortex-a9.S2
-rw-r--r--arch/arm/mach-tegra/headsmp.S3
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cortex-a9.S b/arch/arm/mach-tegra/cortex-a9.S
index 96f915725eb1..bb744224ba5b 100644
--- a/arch/arm/mach-tegra/cortex-a9.S
+++ b/arch/arm/mach-tegra/cortex-a9.S
@@ -629,6 +629,8 @@ lh5: beq lh5
end1:
#endif
#ifdef CONFIG_ARM_ERRATA_752520
+ cmp r5, #0x1F @ not present in r1p*
+ ble end2
cmp r5, #0x29 @ present prior to r2p9
bge end2
tst r9, #(1 << 20)
diff --git a/arch/arm/mach-tegra/headsmp.S b/arch/arm/mach-tegra/headsmp.S
index 0f1e52d89edc..6693aacbbbe7 100644
--- a/arch/arm/mach-tegra/headsmp.S
+++ b/arch/arm/mach-tegra/headsmp.S
@@ -124,10 +124,13 @@ ENTRY(__tegra_cpu_reset_handler)
mcrlt p15, 0, r10, c15, c0, 1 @ write diagnostic register
#endif
#ifdef CONFIG_ARM_ERRATA_752520
+ teq r5, #0x00100000 @ not present in r1p*
+ beq skip_752520
cmp r6, #0x29 @ present prior to r2p9
mrclt p15, 0, r10, c15, c0, 1 @ read diagnostic register
orrlt r10, r10, #1 << 20 @ set bit #20
mcrlt p15, 0, r10, c15, c0, 1 @ write diagnostic register
+skip_752520:
#endif
#endif
mrc p15, 0, r10, c0, c0, 5 @ MPIDR