* [PATCH] ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x
@ 2026-09-20 4:07 Qingfang Deng
2026-09-30 20:28 ` Gregory CLEMENT
0 siblings, 1 reply; 2+ messages in thread
From: Qingfang Deng @ 2026-09-20 4:07 UTC (permalink / raw)
To: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Russell King, Jason Cooper, Thomas Petazzoni, linux-arm-kernel,
linux-kernel
Cc: Gabriel Rodriguez, 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.
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@linux.dev>
---
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x
2026-09-20 4:07 [PATCH] ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x Qingfang Deng
@ 2026-09-30 20:28 ` Gregory CLEMENT
0 siblings, 0 replies; 2+ messages in thread
From: Gregory CLEMENT @ 2026-09-30 20:28 UTC (permalink / raw)
To: Qingfang Deng, Andrew Lunn, Sebastian Hesselbarth, Russell King,
Jason Cooper, Thomas Petazzoni, linux-arm-kernel, linux-kernel
Cc: Gabriel Rodriguez, Qingfang Deng
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@linux.dev>
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-30 20:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-20 4:07 [PATCH] ARM: mvebu: fix Cortex-A9 errata selection for Armada 38x Qingfang Deng
2026-09-30 20:28 ` Gregory CLEMENT
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®