]> git.baikalelectronics.ru Git - arm-tf.git/commit
fix(cpus): workaround for Cortex-X3 erratum 2313909
authorBoyan Karatotev <boyan.karatotev@arm.com>
Mon, 3 Oct 2022 13:18:28 +0000 (14:18 +0100)
committerBoyan Karatotev <boyan.karatotev@arm.com>
Thu, 27 Oct 2022 12:46:52 +0000 (13:46 +0100)
commit79544126943a90d31d81177655be11f75330ffed
treef4d49f21d5b4ccdf93726bba498f26de0ce0157f
parent43438ad1ad6651964e9ae75d35f40aed8d86d088
fix(cpus): workaround for Cortex-X3 erratum 2313909

Cortex-X3 erratum 2313909 is a Cat B erratum that applies to revisions
r0p0 and r1p0, and is fixed in r1p1. 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/SDEN2055130/latest

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