diff --git a/docs/design/cpu-specific-build-macros.rst b/docs/design/cpu-specific-build-macros.rst index ad05a505a..d71efd37b 100644 --- a/docs/design/cpu-specific-build-macros.rst +++ b/docs/design/cpu-specific-build-macros.rst @@ -572,7 +572,7 @@ For Cortex-A710, the following errata build flags are defined : - ``ERRATA_A710_2058056``: This applies errata 2058056 workaround to Cortex-A710 CPU. This needs to be enabled for revisions r0p0, r1p0 and r2p0 - of the CPU and is still open. + and r2p1 of the CPU and is still open. - ``ERRATA_A710_2267065``: This applies errata 2267065 workaround to Cortex-A710 CPU. This needs to be enabled for revisions r0p0, r1p0 and r2p0 diff --git a/lib/cpus/aarch64/cortex_a710.S b/lib/cpus/aarch64/cortex_a710.S index eab5ada7f..c618d986e 100644 --- a/lib/cpus/aarch64/cortex_a710.S +++ b/lib/cpus/aarch64/cortex_a710.S @@ -80,14 +80,14 @@ workaround_reset_start cortex_a710, ERRATUM(2055002), ERRATA_A710_2055002 sysreg_bit_set CORTEX_A710_CPUACTLR_EL1, CORTEX_A710_CPUACTLR_EL1_BIT_46 workaround_reset_end cortex_a710, ERRATUM(2055002) -check_erratum_ls cortex_a710, ERRATUM(2055002), CPU_REV(2, 0) +check_erratum_range cortex_a710, ERRATUM(2055002), CPU_REV(1, 0), CPU_REV(2, 0) workaround_reset_start cortex_a710, ERRATUM(2058056), ERRATA_A710_2058056 sysreg_bitfield_insert CORTEX_A710_CPUECTLR2_EL1, CORTEX_A710_CPUECTLR2_EL1_PF_MODE_CNSRV, \ CPUECTLR2_EL1_PF_MODE_LSB, CPUECTLR2_EL1_PF_MODE_WIDTH workaround_reset_end cortex_a710, ERRATUM(2058056) -check_erratum_ls cortex_a710, ERRATUM(2058056), CPU_REV(2, 0) +check_erratum_ls cortex_a710, ERRATUM(2058056), CPU_REV(2, 1) workaround_reset_start cortex_a710, ERRATUM(2081180), ERRATA_A710_2081180 ldr x0,=0x3 diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index e12795f81..75f2a7757 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -557,7 +557,8 @@ CPU_FLAG_LIST += ERRATA_A710_2081180 CPU_FLAG_LIST += ERRATA_A710_2083908 # Flag to apply erratum 2058056 workaround during reset. This erratum applies -# to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. +# to revisions r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is still +# open. CPU_FLAG_LIST += ERRATA_A710_2058056 # Flag to apply erratum 2055002 workaround during reset. This erratum applies diff --git a/services/std_svc/errata_abi/errata_abi_main.c b/services/std_svc/errata_abi/errata_abi_main.c index c0a089b14..dbfd76bde 100644 --- a/services/std_svc/errata_abi/errata_abi_main.c +++ b/services/std_svc/errata_abi/errata_abi_main.c @@ -310,7 +310,7 @@ struct em_cpu_list cpu_list[] = { [1] = {2008768, 0x00, 0x20, ERRATA_A710_2008768}, [2] = {2017096, 0x00, 0x20, ERRATA_A710_2017096}, [3] = {2055002, 0x10, 0x20, ERRATA_A710_2055002}, - [4] = {2058056, 0x00, 0x20, ERRATA_A710_2058056}, + [4] = {2058056, 0x00, 0x21, ERRATA_A710_2058056}, [5] = {2081180, 0x00, 0x20, ERRATA_A710_2081180}, [6] = {2083908, 0x20, 0x20, ERRATA_A710_2083908}, [7] = {2136059, 0x00, 0x20, ERRATA_A710_2136059},