diff --git a/docs/design/cpu-specific-build-macros.rst b/docs/design/cpu-specific-build-macros.rst index df0cfc03d..1a4638635 100644 --- a/docs/design/cpu-specific-build-macros.rst +++ b/docs/design/cpu-specific-build-macros.rst @@ -601,42 +601,41 @@ For Cortex-A710, the following errata build flags are defined : For Neoverse N2, the following errata build flags are defined : - ``ERRATA_N2_2002655``: This applies errata 2002655 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU, it is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2067956``: This applies errata 2067956 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2025414``: This applies errata 2025414 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2189731``: This applies errata 2189731 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138956``: This applies errata 2138956 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138953``: This applies errata 2138953 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revisions r0p0, r0p1, r0p2, r0p3 and is still open. - ``ERRATA_N2_2242415``: This applies errata 2242415 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138958``: This applies errata 2138958 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2242400``: This applies errata 2242400 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2280757``: This applies errata 2280757 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2326639``: This applies errata 2326639 workaround to Neoverse-N2 CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in r0p1. - ``ERRATA_N2_2376738``: This applies errata 2376738 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in - r0p1. + CPU. This needs to be enabled for revision r0p0, r0p1, r0p2, r0p3 and is still open. - ``ERRATA_N2_2388450``: This applies errata 2388450 workaround to Neoverse-N2 CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in diff --git a/lib/cpus/aarch64/neoverse_n2.S b/lib/cpus/aarch64/neoverse_n2.S index bad85efd0..44331a5a8 100644 --- a/lib/cpus/aarch64/neoverse_n2.S +++ b/lib/cpus/aarch64/neoverse_n2.S @@ -76,7 +76,7 @@ workaround_reset_start neoverse_n2, ERRATUM(2138953), ERRATA_N2_2138953 msr NEOVERSE_N2_CPUECTLR2_EL1, x1 workaround_reset_end neoverse_n2, ERRATUM(2138953) -check_erratum_ls neoverse_n2, ERRATUM(2138953), CPU_REV(0, 0) +check_erratum_ls neoverse_n2, ERRATUM(2138953), CPU_REV(0, 3) workaround_reset_start neoverse_n2, ERRATUM(2138956), ERRATA_N2_2138956 /* Apply instruction patching sequence */ @@ -157,7 +157,7 @@ workaround_reset_start neoverse_n2, ERRATUM(2376738), ERRATA_N2_2376738 sysreg_bit_set NEOVERSE_N2_CPUACTLR2_EL1, NEOVERSE_N2_CPUACTLR2_EL1_BIT_0 workaround_reset_end neoverse_n2, ERRATUM(2376738) -check_erratum_ls neoverse_n2, ERRATUM(2376738), CPU_REV(0, 0) +check_erratum_ls neoverse_n2, ERRATUM(2376738), CPU_REV(0, 3) workaround_reset_start neoverse_n2, ERRATUM(2388450), ERRATA_N2_2388450 /*Set bit 40 in ACTLR2_EL1 */ diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index 4a80bcea2..175f88d7b 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -612,43 +612,43 @@ CPU_FLAG_LIST += ERRATA_A710_2701952 CPU_FLAG_LIST += ERRATA_A710_2768515 # Flag to apply erratum 2002655 workaround during reset. This erratum applies -# to revisions r0p0 of the Neoverse-N2 cpu, it is still open. +# to revisions r0p0 of the Neoverse-N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2002655 # Flag to apply erratum 2067956 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2067956 # Flag to apply erratum 2025414 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2025414 # Flag to apply erratum 2189731 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2189731 # Flag to apply erratum 2138956 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2138956 # Flag to apply erratum 2138953 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. CPU_FLAG_LIST += ERRATA_N2_2138953 # Flag to apply erratum 2242415 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2242415 # Flag to apply erratum 2138958 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2138958 # Flag to apply erratum 2242400 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2242400 # Flag to apply erratum 2280757 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2280757 # Flag to apply erraturm 2326639 workaroud during powerdown. This erratum @@ -656,7 +656,7 @@ CPU_FLAG_LIST += ERRATA_N2_2280757 CPU_FLAG_LIST += ERRATA_N2_2326639 # Flag to apply erratum 2376738 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu, it is fixed in r0p1. +# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. CPU_FLAG_LIST += ERRATA_N2_2376738 # Flag to apply erratum 2388450 workaround during reset. This erratum applies