]> git.baikalelectronics.ru Git - arm-tf.git/commit
fix(cpus): workaround for Cortex-A710 erratum 2291219
authorBoyan Karatotev <boyan.karatotev@arm.com>
Mon, 3 Oct 2022 13:21:28 +0000 (14:21 +0100)
committerBoyan Karatotev <boyan.karatotev@arm.com>
Thu, 27 Oct 2022 12:46:52 +0000 (13:46 +0100)
commit888eafa00b99aa06b4ff688407336811a7ff439a
tree55d2e351725568cb07a98dfb4f787190de836255
parent79544126943a90d31d81177655be11f75330ffed
fix(cpus): workaround for Cortex-A710 erratum 2291219

Cortex-A710 erratum 2291219 is a Cat B erratum that applies to revisions
r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set
CPUACTLR2_EL1[36] to 1 before the power down sequence that sets
CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents
the deadlock. TF-A never clears this bit even if it wakes up from the
wfi in the sequence since it is not expected to do anything but retry to
power down after and the bit is cleared on reset.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1775101/latest

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I7d3a97dfac0c433c0be386c1f3d2f2e895a3f691
docs/design/cpu-specific-build-macros.rst
include/lib/cpus/aarch64/cortex_a710.h
lib/cpus/aarch64/cortex_a710.S
lib/cpus/cpu-ops.mk