Re: [PATCH] ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x
From: Gregory CLEMENT
Date: Wed Sep 30 2026 - 18:24:21 EST
Hello Qingfang Deng,
> Armada 38x uses Cortex-A9 r4p1, but MACH_ARMADA_38X selects the
> workaround for erratum 720789, which was fixed in r2p0, and omits
> workarounds for errata that still affect r4p1.
>
I think that the very early version used r2p0.
The logs that I have from various Armada 38x show the CPU: ARMv7
Processor [414fc091] revision 1 (ARMv7). The value 414fc091 is the
MIDR. The MIDR indicates that the CPU is a CortexA9 at revision 4p1.
The logs that I checked are more than 10 years old. We can now safely
apply this change.
> Drop ARM_ERRATA_720789 and select ARM_ERRATA_754322 for faulty MMU
> translations following an ASID switch and ARM_ERRATA_764319 for
> unexpected undefined instruction exceptions when reading debug
> registers. Also select ARM_ERRATA_764369 when SMP is enabled to work
> around cache maintenance by MVA failing to reach other agents.
>
> The Cortex-A9 r4 Software Developers Errata Notice (ARM UAN 0009D)
> lists these errata in sections 2.3.3, 2.5.10 and 2.3.4, respectively.
>
> Link: https://documentation-service.arm.com/static/608118675e70d934bc69f143
> Fixes: 9aa30f1c13d1 ("ARM: mvebu: add initial support for the Armada 380/385 SOCs")
> Signed-off-by: Qingfang Deng <qingfang.deng@xxxxxxxxx>
Applied on mvebu/arm
Thanks,
Gregory
> ---
> arch/arm/mach-mvebu/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
> index 9f60a6fe0eaf..5203b5cfa457 100644
> --- a/arch/arm/mach-mvebu/Kconfig
> +++ b/arch/arm/mach-mvebu/Kconfig
> @@ -55,7 +55,9 @@ config MACH_ARMADA_375
> config MACH_ARMADA_38X
> bool "Marvell Armada 380/385 boards"
> depends on ARCH_MULTI_V7
> - select ARM_ERRATA_720789
> + select ARM_ERRATA_754322
> + select ARM_ERRATA_764319
> + select ARM_ERRATA_764369 if SMP
> select PL310_ERRATA_753970
> select ARM_GIC
> select ARM_GLOBAL_TIMER
> --
> 2.43.0
>
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com