History log of /rk3399_ARM-atf/lib/cpus/ (Results 76 – 100 of 850)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
58148b9229-Jul-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(cpus): workaround for Cortex-X4 erratum 3133195

Cortex-X4 erratum 3133195 is a Cat B erratum that applies
to all revisions = r0p2 and is fixed in r0p3.

This erratum can be avoided by writing to

fix(cpus): workaround for Cortex-X4 erratum 3133195

Cortex-X4 erratum 3133195 is a Cat B erratum that applies
to all revisions = r0p2 and is fixed in r0p3.

This erratum can be avoided by writing to a set of implementation
defined registers which will execute a PSB instruction following
the TSB CSYNC instruction.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-2432808/latest

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: Id44daf950124e7c2d46cb5d6d6a1083d06fad12d

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/desc_image_load.c
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/st/crypto/stm32_rng.c
/rk3399_ARM-atf/drivers/st/mce/stm32_mce.c
/rk3399_ARM-atf/drivers/st/rif/stm32mp2_risaf.c
/rk3399_ARM-atf/fdts/stm32mp13-fw-config-mem-encrypt.dtsi
/rk3399_ARM-atf/fdts/stm32mp135f-dk-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp25-fw-config.dtsi
/rk3399_ARM-atf/fdts/stm32mp251.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-dk-ca35tdcid-fw-config.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-dk.dts
/rk3399_ARM-atf/fdts/stm32mp257f-ev1-ca35tdcid-fw-config.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-ev1.dts
/rk3399_ARM-atf/fdts/stmm_common.dtsi
/rk3399_ARM-atf/fdts/stmm_dev_region.dtsi
/rk3399_ARM-atf/fdts/stmm_mem_region.dtsi
/rk3399_ARM-atf/fdts/stmm_template.dts
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/st/stm32_mce.h
/rk3399_ARM-atf/include/drivers/st/stm32_rng.h
/rk3399_ARM-atf/include/drivers/st/stm32mp2_risaf.h
/rk3399_ARM-atf/include/dt-bindings/soc/rif.h
/rk3399_ARM-atf/include/dt-bindings/soc/stm32mp13-mce.h
/rk3399_ARM-atf/include/dt-bindings/soc/stm32mp25-rif.h
/rk3399_ARM-atf/include/lib/hob/hob_guid.h
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
aarch64/cortex_x4.S
cpu-ops.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_stmm_spmc_at_el3_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_stmm_manifest.dts
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd2/nrd_plat_arm_def2.h
/rk3399_ARM-atf/plat/arm/board/tc/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.c
/rk3399_ARM-atf/plat/arm/common/arm_transfer_list.c
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_bl31_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/include/stm32mp2_private.h
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_private.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_setup.c
f753b4a914-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): organize Cortex-X2 errata entries

The entries in cpu-ops.mk and cpu-specific-build-macros.rst are out of
order and the formatting is not consistent. This patch corrects these
minor format

fix(cpus): organize Cortex-X2 errata entries

The entries in cpu-ops.mk and cpu-specific-build-macros.rst are out of
order and the formatting is not consistent. This patch corrects these
minor formatting issues.

Change-Id: Ic01517d58d3ca1b2d39be5282b0058c94fa5d0e7
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

989c798d12-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 2291219

Cortex-X2 erratum 2291219 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTL

fix(cpus): workaround for Cortex-X2 erratum 2291219

Cortex-X2 erratum 2291219 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTLR2_EL1[36] before the power
down sequence that sets PWRDN_EN and executes WFI. This bit
should be be cleared after exiting WFI.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I43af57961feba3a1c001d09ad804740b996f1db7
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

41b9697612-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 2267065

Cortex-X2 erratum 2267065 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTL

fix(cpus): workaround for Cortex-X2 erratum 2267065

Cortex-X2 erratum 2267065 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTLR_EL1[22].

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I540e113f209ef11ec7103d4ef4e48ffb52416b4e
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

a8e4d5a512-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 2136059

Cortex-X2 erratum 2136059 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTL

fix(cpus): workaround for Cortex-X2 erratum 2136059

Cortex-X2 erratum 2136059 is a Cat B erratum that applies to
revisions r0p0, r1p0 and r2p0 and is fixed in r2p1.

The workaround is to set CPUACTLR5_EL1[44].

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I156467537c3f235b50fc8aa19a969f2798bd891b
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

2c0467af12-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 1934260

Cortex-X2 erratum 1934260 is a Cat B erratum that applies only
to revision r1p0 and is fixed in r2p0.

The workaround is to set CPUECTLR_EL1[25:18

fix(cpus): workaround for Cortex-X2 erratum 1934260

Cortex-X2 erratum 1934260 is a Cat B erratum that applies only
to revision r1p0 and is fixed in r2p0.

The workaround is to set CPUECTLR_EL1[25:18] to 0xFF. This
workaround will result in reduced performance for workloads
that benefit from write streaming.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I180d38fee27175dc8ac5fa6726e5b71c3340285f
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

e236548412-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 1927200

Cortex-X2 erratum 1927200 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to use instruction p

fix(cpus): workaround for Cortex-X2 erratum 1927200

Cortex-X2 erratum 1927200 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to use instruction patching to insert a DMB ST
before acquire atomic instructions without release semantics.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I8d9038df1907888b3c5b2520d06bc150665e74a1
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

ccee7fa812-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 1917258

Cortex-X2 erratum 1917258 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1

fix(cpus): workaround for Cortex-X2 erratum 1917258

Cortex-X2 erratum 1917258 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[43]. This has no
performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: Ic18a5179856f861701f09b2556906a6722db8150
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

ff879c5212-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 1916945

Cortex-X2 erratum 1916945 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUECTLR_EL1[

fix(cpus): workaround for Cortex-X2 erratum 1916945

Cortex-X2 erratum 1916945 is a Cat B erratum that applies to
revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUECTLR_EL1[8]. This has a small
performance impact (<0.5%).

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: If810b1d0a07c43b3e1aa70d2ec88c1dcfa6f735f
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

ce64ea6e12-Jul-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-X2 erratum 1901946

Cortex-X2 erratum 1901946 is a Cat B erratum that applies to
revision r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[15]. This

fix(cpus): workaround for Cortex-X2 erratum 1901946

Cortex-X2 erratum 1901946 is a Cat B erratum that applies to
revision r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[15]. This has a small
performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775100/latest

Change-Id: I5a65db60f06982191994db49815419c4d72506cf
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

28a0b5a130-Jul-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cpus): put back the global declaration for erratum #3701747

Patch 89dba82df accidentally removed it. Put it back.

Change-Id: Ic7a5a13ae89b0b86ccbea56fecfe12bef57a90b9
Signed-off-by: Boyan Karat

fix(cpus): put back the global declaration for erratum #3701747

Patch 89dba82df accidentally removed it. Put it back.

Change-Id: Ic7a5a13ae89b0b86ccbea56fecfe12bef57a90b9
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/components/fconf/tb_fw_bindings.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager-mm.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/fdts/fvp-base-psci-common.dtsi
/rk3399_ARM-atf/include/common/feat_detect.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/fconf/fconf.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_utils.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_stmm_manifest.dts
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_common.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_el3_spmc.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_security.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/disp/mt8189/mtk_disp_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/disp/mtk_disp_priv.h
/rk3399_ARM-atf/plat/mediatek/drivers/disp/mtk_disp_smc.c
/rk3399_ARM-atf/plat/mediatek/drivers/disp/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_xlat.c
2e764df008-Jul-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(cpus): add pabandon support to the Alto cpu

Alto supports powerdown abandon. That support has flown under the radar
so add it in the same way as other pabandon CPUs.

Change-Id: I15f9e8cd77bf5a

feat(cpus): add pabandon support to the Alto cpu

Alto supports powerdown abandon. That support has flown under the radar
so add it in the same way as other pabandon CPUs.

Change-Id: I15f9e8cd77bf5aa23df8e548eb3d35d5c1f4eb2d
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

461b62b525-Mar-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(psci): check that CPUs handled a pabandon

Up to now PSCI assumed that if a pabandon happened then the CPU driver
will have handled it. This patch adds a simple protocol to make sure
that this i

feat(psci): check that CPUs handled a pabandon

Up to now PSCI assumed that if a pabandon happened then the CPU driver
will have handled it. This patch adds a simple protocol to make sure
that this is indeed the case. The chosen method is with a return value
that is highly unlikely on cores that are unaware of pabandon (x0 will
be primed with 1 and if used should be overwritten with the value of
CPUPWRCTLR_EL1 which should have its last bit set to power off and its
top bits RES0; the ACK value is chosen to be the exact opposite). An
alternative method would have been to add a field in cpu_ops, however
that would have required more major refactoring across many cpus and
would have taken up more memory on older platforms, so it was not
chosen.

Change-Id: I5826c0e4802e104d295c4ecbd80b5f676d2cd871
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

04c39e4624-Mar-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(psci): make pabandon support generic

Support for aborted powerdowns does not require much dedicated code.
Rather, it is largely a matter of orchestrating things to happen in the
right order.

T

feat(psci): make pabandon support generic

Support for aborted powerdowns does not require much dedicated code.
Rather, it is largely a matter of orchestrating things to happen in the
right order.

The only exception to this are older secure world dispatchers, which
assume that a CPU_SUSPEND call will be terminal and therefore can
clobber context. This was patched over in common code and hidden behind
a flag. This patch moves this to the dispatchers themselves.

Dispatchers that don't register svc_suspend{_finish} are unaffected.
Those that do must save the NS context before clobbering it and
restoring in only in case of a pabandon. Due to this operation being
non-trivial, this patch makes the assumption that these dispatchers will
only be present on hardware that does not support pabandon and therefore
does not add any contexting for them. In case this assumption ever
changes, asserts are added that should alert us of this change.

Change-Id: I94a907515b782b4d2136c0d274246cfe1d567c0e
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

aadb4b5612-Mar-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(psci): unify coherency exit between AArch64 and AArch32

The procedure is fairly simple: if we have hardware assisted coherency,
call into the cpu driver and let it do its thing. If we don't

refactor(psci): unify coherency exit between AArch64 and AArch32

The procedure is fairly simple: if we have hardware assisted coherency,
call into the cpu driver and let it do its thing. If we don't, then we
must turn data caches off, handle the confusion that causes with the
stack, and call into the cpu driver which will flush the caches that
need flushing.

On AArch32 the above happens in common code. On AArch64, however, the
turning off of the caches happens in the cpu driver. Since we're dealing
with the stack, we must exercise control over it and implement this in
assembly. But as the two implementations are nominally different (in the
ordering of operations), the part that is in assembly is quite large as
jumping back to C to handle the difference might involve the stack.

Presumably, the AArch difference was introduced in order to cater for a
possible implementation where turning off the caches requires an IMP DEF
sequence. Well, Arm no longer makes cores without hardware assisted
coherency, so this eventually is not possible.

So take this part out of the cpu driver and put it into common code,
just like in AArch32. With this, there is no longer a need call
prepare_cpu_pwr_dwn() in a different order either - we can delay it a
bit to happen after the stack management. So the two AArch-s flows
become identical. We can convert prepare_cpu_pwr_dwn() to C and leave
psci_do_pwrdown_cache_maintenance() only to exercise control over stack.

Change-Id: Ie4759ebe20bb74b60533c6a47dbc2b101875900f
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

232c189211-Mar-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(psci): absorb psci_power_down_wfi() into common code

The AArch64 and AArch32 variants are not that different so there is no
need for them to be in assembly. They should also not be called f

refactor(psci): absorb psci_power_down_wfi() into common code

The AArch64 and AArch32 variants are not that different so there is no
need for them to be in assembly. They should also not be called from
non-PSCI code as PSCI is smart enough to handle this after platform
hooks. So absorb the functions into common code.

This allows for a tiny bit of optimisation: there will be no branch
(that can be missed or non-cached) to a non-inlineable function. Then in
the terminal case we can call wfi() directly with the application of the
erratum before the loop. And finally in the wakeup case, we don't have
to explicitly clear the errata as that will happen automatically on the
second call of prepare_cpu_pwr_dwn().

The A510 erratum requires a tsb csync before the dsb+wfi combo to turn
the core off. We can do this a little bit earlier in the cpu hook and
relieve common code from the responsibility. EL3 is always a prohibited
region so the buffer will stay empty.

Change-Id: I5f950df3fb7b0736df4ce25a21f78b29896de215
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

645917ab23-Jul-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cpus): check minor revision before applying runtime errata

Patch db9ee83432 removed cpu_rev checking for runtime errata
within cpu functions with the argument that if we're in the cpu file,
we'v

fix(cpus): check minor revision before applying runtime errata

Patch db9ee83432 removed cpu_rev checking for runtime errata
within cpu functions with the argument that if we're in the cpu file,
we've already check the MIDR and matched against the CPU. However, that
also removes the revision check which being in the cpu file does not
guarantee. Reintroduce the MIDR checking so that the revision check
happens and errata can be skipped if they don't apply.

Change-Id: I46b2ba8b524a073e02b4b5de641ae97795bc176b
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

42920aa710-Jul-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(cpus): workaround for Cortex-X3 erratum 3213672

Cortex-X3 erratum 3213672 is a Cat B erratum that applies to
r0p0, r1p0, r1p1 and r1p2. It is still open.

This erratum can be worked around by se

fix(cpus): workaround for Cortex-X3 erratum 3213672

Cortex-X3 erratum 3213672 is a Cat B erratum that applies to
r0p0, r1p0, r1p1 and r1p2. It is still open.

This erratum can be worked around by setting CPUACTLR_EL1[36]
before enabling icache.

SDEN Documentation:
https://developer.arm.com/documentation/SDEN-2055130/latest/

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: Ia1c03217f4e1816b4e8754a090cf5bc17546be40

show more ...

6a464ee703-Jul-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(cpus): workaround for Cortex-X3 erratum 3827463

Cortex-X3 erratum 3827463 is a Cat B erratum that applies to
r0p0, r1p0 and r1p1. It is fixed in r1p2.

This erratum can be avoided by setting CPU

fix(cpus): workaround for Cortex-X3 erratum 3827463

Cortex-X3 erratum 3827463 is a Cat B erratum that applies to
r0p0, r1p0 and r1p1. It is fixed in r1p2.

This erratum can be avoided by setting CPUACTLR_EL1[1]
prior to enabling MMU. This bit will disable a branch predictor
power savings feature. Disabling this power feature
results in negligible power movement and no performance impact.

SDEN Documentation:
https://developer.arm.com/documentation/SDEN-2055130/latest/

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I1d4a2b9641400d8b9061f7cb32a8312c3995613e

show more ...

f828efe230-Jun-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(cpus): workaround for Cortex-X3 erratum 3692984

Cortex-X3 erratum 3692984 is a Cat B erratum that applies to
r0p0, r1p0, r1p1 and r1p2 and is still open.

The erratum can be avoided by disabling

fix(cpus): workaround for Cortex-X3 erratum 3692984

Cortex-X3 erratum 3692984 is a Cat B erratum that applies to
r0p0, r1p0, r1p1 and r1p2 and is still open.

The erratum can be avoided by disabling the
affected prefetcher setting CPUACTLR6_EL1[41].

SDEN Documentation:
https://developer.arm.com/documentation/SDEN-2055130/latest/

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I054b47d33fd1ff7bde3ae12e8ee3d99e9203965f

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch32/bl1_context_mgmt.c
/rk3399_ARM-atf/bl1/aarch64/bl1_context_mgmt.c
/rk3399_ARM-atf/bl31/bl31_context_mgmt.c
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/interrupt_mgmt.c
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/components/ven-el3-service.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/arm/cci/cci.c
/rk3399_ARM-atf/drivers/arm/mhu/mhu_v3_x.c
/rk3399_ARM-atf/drivers/console/multi_console.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/tpm/tpm2_fifo.c
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/drivers/arm/cci.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/mmio_poll.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/include/services/spm_mm_svc.h
/rk3399_ARM-atf/include/services/ven_el3_svc.h
aarch64/cortex_x3.S
cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_mem_protect.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/constraints.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/march.mk
/rk3399_ARM-atf/plat/amd/common/plat_fdt.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/ble/ble.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv3_2/mt_cpu_pm.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv3_2/mt_smp.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv3_2/mt_smp.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv3_2/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/mtcmos/mt8196/mtcmos.c
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/aarch64/lx2160a_helpers.S
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/ddr_tbbr.mk
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/include/pdef_tbb_cert.h
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/include/pdef_tbb_ext.h
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/include/pdef_tbb_key.h
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/src/pdef_tbb_cert.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/src/pdef_tbb_ext.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_helper/src/pdef_tbb_key.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2162aqds/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/qti/qcs615/inc/qti_secure_io_cfg.h
/rk3399_ARM-atf/plat/qti/qcs615/platform.mk
/rk3399_ARM-atf/plat/qti/sc7180/inc/qti_secure_io_cfg.h
/rk3399_ARM-atf/plat/qti/sc7180/platform.mk
/rk3399_ARM-atf/plat/qti/sc7280/inc/qti_secure_io_cfg.h
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_mbedtls_config.h
/rk3399_ARM-atf/plat/st/stm32mp1/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/xilinx/common/include/plat_fdt.h
/rk3399_ARM-atf/services/el3/ven_el3_svc.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_main.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/src/cca/cot.mk
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.mk
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbbr.mk
/rk3399_ARM-atf/tools/encrypt_fw/Makefile
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/juno/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/st/plat_fiptool.mk
/rk3399_ARM-atf/tools/stm32image/Makefile
f927412726-Jun-2025 Bipin Ravi <bipin.ravi@arm.com>

Merge "fix(cpus): workaround for Cortex-A710 erratum 1927200" into integration


/rk3399_ARM-atf/.gitmodules
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/tf_log.c
/rk3399_ARM-atf/contrib/libtl
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/interrupt-framework-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/license.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/tools/memory-layout-tool.rst
/rk3399_ARM-atf/drivers/arm/dsu/dsu.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicdv2_helpers.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/mmc/mmc.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/hw_key_blob.c
/rk3399_ARM-atf/drivers/nxp/crypto/caam/src/rng.c
/rk3399_ARM-atf/fdts/fvp-base-psci-common.dtsi
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/drivers/arm/dsu.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_sdmmc.h
/rk3399_ARM-atf/include/drivers/measured_boot/event_log/event_handoff.h
/rk3399_ARM-atf/include/drivers/measured_boot/event_log/event_log.h
/rk3399_ARM-atf/include/drivers/mmc.h
/rk3399_ARM-atf/include/drivers/nxp/crypto/caam/sec_hw_specific.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/dsu_def.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/libc/stdbool.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/plat_lfa.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/bl31_lfa.h
/rk3399_ARM-atf/include/services/lfa_component_desc.h
/rk3399_ARM-atf/include/services/lfa_holding_pen.h
/rk3399_ARM-atf/include/services/lfa_svc.h
/rk3399_ARM-atf/include/services/rmmd_rmm_lfa.h
aarch64/cortex_a710.S
cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/psci/psci_lib.mk
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/transfer_list/transfer_list.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amd/common/include/plat_xfer_list.h
/rk3399_ARM-atf/plat/amd/common/plat_fdt.c
/rk3399_ARM-atf/plat/amd/common/plat_xfer_list.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_lfa.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/fvp_lfa_components.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/gpc.c
/rk3399_ARM-atf/plat/imx/imx8ulp/imx8ulp_psci.c
/rk3399_ARM-atf/plat/mediatek/drivers/dfd/mt8189/plat_dfd.c
/rk3399_ARM-atf/plat/mediatek/drivers/dfd/mt8189/plat_dfd.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/rules.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/nxp/common/sip_svc/sip_svc.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/include/platform_def.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_bl2_el3_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_helpers.S
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_io_storage.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/s32cc_bl_common.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/s32g2_soc.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2160aqds/platform.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/ti/k3/common/k3_psci.c
/rk3399_ARM-atf/plat/xilinx/common/include/pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/std_svc/lfa/bl31_lfa.c
/rk3399_ARM-atf/services/std_svc/lfa/lfa.mk
/rk3399_ARM-atf/services/std_svc/lfa/lfa_holding_pen.c
/rk3399_ARM-atf/services/std_svc/lfa/lfa_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_rmm_lfa.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_setup.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/memory/poetry.lock
/rk3399_ARM-atf/tools/memory/pyproject.toml
/rk3399_ARM-atf/tools/memory/src/memory/elfparser.py
/rk3399_ARM-atf/tools/memory/src/memory/image.py
/rk3399_ARM-atf/tools/memory/src/memory/mapparser.py
/rk3399_ARM-atf/tools/memory/src/memory/memmap.py
/rk3399_ARM-atf/tools/memory/src/memory/printer.py
/rk3399_ARM-atf/tools/memory/src/memory/summary.py
/rk3399_ARM-atf/tools/memory/src/memory/templates/summary-flamegraph.html
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
7554f1df17-Jun-2025 Lauren Wehrmeister <lauren.wehrmeister@arm.com>

Merge changes I1fae91a5,I54793492,I703f0e6e into integration

* changes:
fix(cpus): workaround for Cortex-A710 erratum 1917258
fix(cpus): workaround for Cortex-A710 erratum 1916945
fix(cpus): w

Merge changes I1fae91a5,I54793492,I703f0e6e into integration

* changes:
fix(cpus): workaround for Cortex-A710 erratum 1917258
fix(cpus): workaround for Cortex-A710 erratum 1916945
fix(cpus): workaround for Cortex-A710 erratum 1901946

show more ...


/rk3399_ARM-atf/.commitlintrc.js
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-specific-configs.rst
/rk3399_ARM-atf/drivers/arm/gic/gic.mk
/rk3399_ARM-atf/drivers/arm/gicv5/gicv5_cpuif.c
/rk3399_ARM-atf/drivers/arm/gicv5/gicv5_iri.c
/rk3399_ARM-atf/drivers/arm/gicv5/gicv5_main.c
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/bl31/interrupt_mgmt.h
/rk3399_ARM-atf/include/drivers/arm/gicv5.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a710.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/services/drtm_svc.h
aarch64/cortex_a710.S
cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/libc/memcpy.c
/rk3399_ARM-atf/lib/libc/memmove.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fconf/fconf_gicv3_config_getter.c
/rk3399_ARM-atf/plat/arm/board/fvp/fconf/fconf_hw_config_getter.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_gicv5.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/common/plat_gicv5.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/mt6359p_psc.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/registers.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6359p/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_lowpower_init.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_shutdown_cfg.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8189/pmic_swap_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/mt8189/pmic_wrap_init.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_init_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_init_v3.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/pmic_wrap_v3.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic_wrap/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/mt8189/platform_pmif_spmi.c
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6319_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6359p_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6359p_set_lowpower.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_set_lowpower.h
/rk3399_ARM-atf/plat/mediatek/mt8189/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8189/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8189/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/services/std_svc/drtm/drtm_dma_prot.h
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_event.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_intr_mgmt.c
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
cb2702c409-Jun-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A710 erratum 1927200

Cortex-A710 erratum 1927200 is a Cat B erratum that applies
to revisions r0p0 and r1p0 and is fixed in r2p0.

The fix is to insert DMB ST before

fix(cpus): workaround for Cortex-A710 erratum 1927200

Cortex-A710 erratum 1927200 is a Cat B erratum that applies
to revisions r0p0 and r1p0 and is fixed in r2p0.

The fix is to insert DMB ST before acquire atomic instructions
without release semantics via instruction patching.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1775101

Change-Id: I53c4aa17c1c2dc85b68f17d58f93bb1ee6b3d488
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

efc945f105-May-2025 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(errata): implement workaround for DSU-120 erratum 2900952

DSU Erratum 2900952 is a Cat B erratum that applies to some
DSU-120 implementations of revision r2p0 and is fixed in r2p1.
This erratum

feat(errata): implement workaround for DSU-120 erratum 2900952

DSU Erratum 2900952 is a Cat B erratum that applies to some
DSU-120 implementations of revision r2p0 and is fixed in r2p1.
This erratum is fixed in certain implementations of r2p0 which can be
determined by reading the IMP_CLUSTERREVIDR_EL1[1] register field
where a set bit indicates that the erratum is fixed in this part.

The workaround is to set the CLUSTERACTLR_EL1 bits [21:20] to 0x3
which ignores CBusy from the system interconnect and
setting CLUSTERACTLR_EL1 bit [8] to 1 to assert CBusy from DSU to
all the cores when DSU is busy.

SDEN: https://developer.arm.com/documentation/SDEN-2453103/1200/?lang=en

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I87aa440ab5c35121aff703032f5cf7a62d0b0bb4

show more ...

d91c417709-Jun-2025 John Powell <john.powell@arm.com>

fix(cpus): workaround for Cortex-A710 erratum 1917258

Cortex-A710 erratum 1917258 is a Cat B erratum that applies
to revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4

fix(cpus): workaround for Cortex-A710 erratum 1917258

Cortex-A710 erratum 1917258 is a Cat B erratum that applies
to revisions r0p0 and r1p0 and is fixed in r2p0.

The workaround is to set CPUACTLR4_EL1[43]. This has no
performance impact.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1775101

Change-Id: I1fae91a5e3a8ecea255f0f0a481bfd6196a7db51
Signed-off-by: John Powell <john.powell@arm.com>

show more ...

12345678910>>...34