summaryrefslogtreecommitdiff
path: root/lib/cpus/cpu-ops.mk
diff options
context:
space:
mode:
authorHarrison Mutai <harrison.mutai@arm.com>2022-12-09 12:14:25 +0000
committerHarrison Mutai <harrison.mutai@arm.com>2023-01-25 09:40:33 +0000
commitaea4ccf8d9f3eabbc931f0e82df65ffca28c25e5 (patch)
tree8d59c00437acf25634525f592460b102f8c973ec /lib/cpus/cpu-ops.mk
parent695a48b5b4366d1005f8b9a0fc83726914668fb5 (diff)
fix(cpus): workaround for Cortex-A510 erratum 2684597
Cortex-A510 erratum 2684597 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1 and r1p2. It is fixed in r1p3. The workaround is to execute a TSB CSYNC and DSB before executing WFI for power down. SDEN can be found here: https://developer.arm.com/documentation/SDEN1873361/latest https://developer.arm.com/documentation/SDEN1873351/latest Change-Id: Ic0b24b600bc013eb59c797401fbdc9bda8058d6d Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Diffstat (limited to 'lib/cpus/cpu-ops.mk')
-rw-r--r--lib/cpus/cpu-ops.mk9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk
index c9b444797..9c556b612 100644
--- a/lib/cpus/cpu-ops.mk
+++ b/lib/cpus/cpu-ops.mk
@@ -736,6 +736,11 @@ ERRATA_A510_2371937 ?=0
# to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is fixed in r1p2.
ERRATA_A510_2666669 ?=0
+# Flag to apply erratum 2684597 workaround during powerdown. This erratum
+# applies to revision r0p0, r0p1, r0p2, r0p3, r1p0, r1p1 and r1p2 of the
+# Cortex-A510 cpu and is fixed in r1p3.
+ERRATA_A510_2684597 ?=0
+
# Flag to apply DSU erratum 798953. This erratum applies to DSUs revision r0p0.
# Applying the workaround results in higher DSU power consumption on idle.
ERRATA_DSU_798953 ?=0
@@ -1390,6 +1395,10 @@ $(eval $(call add_define,ERRATA_A510_2371937))
$(eval $(call assert_boolean,ERRATA_A510_2666669))
$(eval $(call add_define,ERRATA_A510_2666669))
+# Process ERRATA_A510_2684597 flag
+$(eval $(call assert_boolean,ERRATA_A510_2684597))
+$(eval $(call add_define,ERRATA_A510_2684597))
+
#Process ERRATA_DSU_798953 flag
$(eval $(call assert_boolean,ERRATA_DSU_798953))
$(eval $(call add_define,ERRATA_DSU_798953))