diff --git a/docs/design/cpu-specific-build-macros.rst b/docs/design/cpu-specific-build-macros.rst index d71efd37b..2cf7992bf 100644 --- a/docs/design/cpu-specific-build-macros.rst +++ b/docs/design/cpu-specific-build-macros.rst @@ -335,26 +335,26 @@ For Cortex-A78, the following errata build flags are defined : CPU. This needs to be enabled for revisions r0p0, r1p0, r1p1 and r1p2 and it is still open. -For Cortex-A78 AE, the following errata build flags are defined : +For Cortex-A78AE, the following errata build flags are defined : - ``ERRATA_A78_AE_1941500`` : This applies errata 1941500 workaround to - Cortex-A78 AE CPU. This needs to be enabled for revisions r0p0 and r0p1. + Cortex-A78AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This erratum is still open. - ``ERRATA_A78_AE_1951502`` : This applies errata 1951502 workaround to - Cortex-A78 AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This + Cortex-A78AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This erratum is still open. - ``ERRATA_A78_AE_2376748`` : This applies errata 2376748 workaround to - Cortex-A78 AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This - erratum is still open. + Cortex-A78AE CPU. This needs to be enabled for revisions r0p0, r0p1 and r0p2. + This erratum is still open. - ``ERRATA_A78_AE_2395408`` : This applies errata 2395408 workaround to - Cortex-A78 AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This + Cortex-A78AE CPU. This needs to be enabled for revisions r0p0 and r0p1. This erratum is still open. - ``ERRATA_A78_AE_2712574`` : This applies erratum 2712574 workaround to - Cortex-A78 AE CPU. This erratum affects system configurations that do not use + Cortex-A78AE CPU. This erratum affects system configurations that do not use an ARM interconnect IP. This needs to be enabled for revisions r0p0, r0p1 and r0p2. This erratum is still open. diff --git a/lib/cpus/aarch64/cortex_a78_ae.S b/lib/cpus/aarch64/cortex_a78_ae.S index 94f6465c6..d3a3e5d88 100644 --- a/lib/cpus/aarch64/cortex_a78_ae.S +++ b/lib/cpus/aarch64/cortex_a78_ae.S @@ -70,7 +70,7 @@ workaround_reset_start cortex_a78_ae, ERRATUM(2376748), ERRATA_A78_AE_2376748 sysreg_bit_set CORTEX_A78_AE_ACTLR2_EL1, CORTEX_A78_AE_ACTLR2_EL1_BIT_0 workaround_reset_end cortex_a78_ae, ERRATUM(2376748) -check_erratum_ls cortex_a78_ae, ERRATUM(2376748), CPU_REV(0, 1) +check_erratum_ls cortex_a78_ae, ERRATUM(2376748), CPU_REV(0, 2) workaround_reset_start cortex_a78_ae, ERRATUM(2395408), ERRATA_A78_AE_2395408 /* -------------------------------------------------------- diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index 75f2a7757..82212f938 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -352,7 +352,7 @@ CPU_FLAG_LIST += ERRATA_A78_AE_1941500 CPU_FLAG_LIST += ERRATA_A78_AE_1951502 # Flag to apply erratum 2376748 workaround during reset. This erratum applies -# to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. +# to revisions r0p0, r0p1 and r0p2 of the A78 AE cpu. It is still open. CPU_FLAG_LIST += ERRATA_A78_AE_2376748 # Flag to apply erratum 2395408 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 d911e91a9..53353f80e 100644 --- a/services/std_svc/errata_abi/errata_abi_main.c +++ b/services/std_svc/errata_abi/errata_abi_main.c @@ -218,7 +218,7 @@ struct em_cpu_list cpu_list[] = { .cpu_errata_list = { [0] = {1941500, 0x00, 0x01, ERRATA_A78_AE_1941500}, [1] = {1951502, 0x00, 0x01, ERRATA_A78_AE_1951502}, - [2] = {2376748, 0x00, 0x01, ERRATA_A78_AE_2376748}, + [2] = {2376748, 0x00, 0x02, ERRATA_A78_AE_2376748}, [3] = {2395408, 0x00, 0x01, ERRATA_A78_AE_2395408}, [4] = {2712574, 0x00, 0x02, ERRATA_A78_AE_2712574, \ ERRATA_NON_ARM_INTERCONNECT},