aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cpus/cpu-ops.mk
diff options
context:
space:
mode:
authorLouis Mayencourt <louis.mayencourt@arm.com>2019-04-09 16:29:01 +0100
committerLouis Mayencourt <louis.mayencourt@arm.com>2019-04-17 13:46:43 +0100
commit0e985d708e8f429c1fa1f557d3eea90e32de5228 (patch)
tree1fcdb2dc74d4f1f127a9360319f3426e37c2dbf5 /lib/cpus/cpu-ops.mk
parent2c3b76ce7b9e36e5c8be3c454110e070a20332ca (diff)
downloadplatform_external_arm-trusted-firmware-0e985d708e8f429c1fa1f557d3eea90e32de5228.tar.gz
platform_external_arm-trusted-firmware-0e985d708e8f429c1fa1f557d3eea90e32de5228.tar.bz2
platform_external_arm-trusted-firmware-0e985d708e8f429c1fa1f557d3eea90e32de5228.zip
DSU: Implement workaround for errata 798953
Under certain near idle conditions, DSU may miss response transfers on the ACE master or Peripheral port, leading to deadlock. This workaround disables high-level clock gating of the DSU to prevent this. Change-Id: I820911d61570bacb38dd325b3519bc8d12caa14b Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
Diffstat (limited to 'lib/cpus/cpu-ops.mk')
-rw-r--r--lib/cpus/cpu-ops.mk8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk
index bfee990bb..4deb262d8 100644
--- a/lib/cpus/cpu-ops.mk
+++ b/lib/cpus/cpu-ops.mk
@@ -214,6 +214,10 @@ ERRATA_A76_1220197 ?=0
# only to r0p0 and r1p0 of the Neoverse N1 cpu.
ERRATA_N1_1043202 ?=1
+# 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
+
# Flag to apply DSU erratum 936184. This erratum applies to DSUs containing
# the ACP interface and revision < r2p0. Applying the workaround results in
# higher DSU power consumption on idle.
@@ -375,6 +379,10 @@ $(eval $(call add_define,ERRATA_A76_1220197))
$(eval $(call assert_boolean,ERRATA_N1_1043202))
$(eval $(call add_define,ERRATA_N1_1043202))
+# Process ERRATA_DSU_798953 flag
+$(eval $(call assert_boolean,ERRATA_DSU_798953))
+$(eval $(call add_define,ERRATA_DSU_798953))
+
# Process ERRATA_DSU_936184 flag
$(eval $(call assert_boolean,ERRATA_DSU_936184))
$(eval $(call add_define,ERRATA_DSU_936184))