]> git.baikalelectronics.ru Git - arm-tf.git/commit
fix(cpus): workaround for Neoverse-N2 erratum 2326639
authorBoyan Karatotev <boyan.karatotev@arm.com>
Mon, 3 Oct 2022 13:07:08 +0000 (14:07 +0100)
committerBoyan Karatotev <boyan.karatotev@arm.com>
Thu, 27 Oct 2022 12:46:52 +0000 (13:46 +0100)
commit43438ad1ad6651964e9ae75d35f40aed8d86d088
tree3dc5cdd9cbc5e67ee10b80162a52d0bf9c8fec67
parent028c4e42d8f632d40081b88f66d0d05c7d7c9b23
fix(cpus): workaround for Neoverse-N2 erratum 2326639

Neoverse-N2 erratum 2326639 is a Cat B erratum that applies to revision
r0p0 and is fixed in r0p1. 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/SDEN1982442/latest/

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