aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cpus/aarch64
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2020-01-24 11:54:44 +0000
committerManish Pandey <manish.pandey2@arm.com>2020-01-27 14:44:35 +0000
commitf2d6b4ee5740245a92fd511180f7eebc6736a80b (patch)
tree472c08cbcc8f5d3ca0dbf7eaada2a859771f0e32 /lib/cpus/aarch64
parent9054018bd5c12b16ef55ea41fcf8cdb15a24ae18 (diff)
downloadplatform_external_arm-trusted-firmware-f2d6b4ee5740245a92fd511180f7eebc6736a80b.tar.gz
platform_external_arm-trusted-firmware-f2d6b4ee5740245a92fd511180f7eebc6736a80b.tar.bz2
platform_external_arm-trusted-firmware-f2d6b4ee5740245a92fd511180f7eebc6736a80b.zip
Neovers N1: added support to update presence of External LLC
CPUECTLR_EL1.EXTLLC bit indicates the presense of internal or external last level cache(LLC) in the system, the reset value is internal LLC. To cater for the platforms(like N1SDP) which has external LLC present introduce a new build option 'NEOVERSE_N1_EXTERNAL_LLC' which can be enabled by platform port. Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ibf475fcd6fd44401897a71600f4eafe989921363
Diffstat (limited to 'lib/cpus/aarch64')
-rw-r--r--lib/cpus/aarch64/neoverse_n1.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/cpus/aarch64/neoverse_n1.S b/lib/cpus/aarch64/neoverse_n1.S
index d058d98df..d537ed6a8 100644
--- a/lib/cpus/aarch64/neoverse_n1.S
+++ b/lib/cpus/aarch64/neoverse_n1.S
@@ -465,6 +465,13 @@ func neoverse_n1_reset_func
msr CPUAMCNTENSET_EL0, x0
#endif
+#if NEOVERSE_N1_EXTERNAL_LLC
+ /* Some system may have External LLC, core needs to be made aware */
+ mrs x0, NEOVERSE_N1_CPUECTLR_EL1
+ orr x0, x0, NEOVERSE_N1_CPUECTLR_EL1_EXTLLC_BIT
+ msr NEOVERSE_N1_CPUECTLR_EL1, x0
+#endif
+
#if ERRATA_DSU_936184
bl errata_dsu_936184_wa
#endif