[PATCH] ARM: Cortex-A9: document core versions used in various SoCs

Lucas Stach l.stach at pengutronix.de
Wed Jun 11 13:19:41 PDT 2025


The core revision is very helpful to know when checking if a specific
erratum is present in the core. Looking this up in the various SoC
specific documents is cumbersome, so leave a comment for the next time
anyone has to do this.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
Tegra seems to miss some workarounds, fixing this requires a bit more
thought than I can spare right now.
---
 arch/arm/mach-imx/cpu_init.c                 | 2 ++
 arch/arm/mach-socfpga/cpu_init.c             | 2 ++
 arch/arm/mach-tegra/tegra_maincomplex_init.c | 2 ++
 arch/arm/mach-zynq/cpu_init.c                | 2 ++
 4 files changed, 8 insertions(+)

diff --git a/arch/arm/mach-imx/cpu_init.c b/arch/arm/mach-imx/cpu_init.c
index e9f42945528e..bd464e9f09e9 100644
--- a/arch/arm/mach-imx/cpu_init.c
+++ b/arch/arm/mach-imx/cpu_init.c
@@ -38,6 +38,8 @@ void imx6_cpu_lowlevel_init(void)
 	arm_cpu_lowlevel_init();
 
 	arm_early_mmu_cache_invalidate();
+
+	/* apply necessary workarounds for Cortex A9 r2p10 */
 	enable_arm_errata_742230_war();
 	enable_arm_errata_743622_war();
 	enable_arm_errata_751472_war();
diff --git a/arch/arm/mach-socfpga/cpu_init.c b/arch/arm/mach-socfpga/cpu_init.c
index f10cd468da96..bed0dabc38e4 100644
--- a/arch/arm/mach-socfpga/cpu_init.c
+++ b/arch/arm/mach-socfpga/cpu_init.c
@@ -9,6 +9,8 @@
 void arria10_cpu_lowlevel_init(void)
 {
 	arm_early_mmu_cache_invalidate();
+
+	/* apply necessary workarounds for Cortex A9 r4p1 */
 	enable_arm_errata_794072_war();
 	enable_arm_errata_845369_war();
 }
diff --git a/arch/arm/mach-tegra/tegra_maincomplex_init.c b/arch/arm/mach-tegra/tegra_maincomplex_init.c
index e4cc3e780cbe..2ffffcdee3ff 100644
--- a/arch/arm/mach-tegra/tegra_maincomplex_init.c
+++ b/arch/arm/mach-tegra/tegra_maincomplex_init.c
@@ -38,11 +38,13 @@ void tegra_maincomplex_entry(char *fdt)
 	/* enable ARM errata workarounds early */
 	switch (chiptype) {
 	case TEGRA20:
+		/* Cortex A9 r1p1 */
 		enable_arm_errata_716044_war();
 		enable_arm_errata_742230_war();
 		enable_arm_errata_751472_war();
 		break;
 	case TEGRA30:
+		/* Cortex A9 r2p9 */
 		enable_arm_errata_743622_war();
 		enable_arm_errata_751472_war();
 		break;
diff --git a/arch/arm/mach-zynq/cpu_init.c b/arch/arm/mach-zynq/cpu_init.c
index f26e2947fd6a..b5f620004611 100644
--- a/arch/arm/mach-zynq/cpu_init.c
+++ b/arch/arm/mach-zynq/cpu_init.c
@@ -11,6 +11,8 @@ void zynq_cpu_lowlevel_init(void)
 	arm_cpu_lowlevel_init();
 
 	arm_early_mmu_cache_invalidate();
+
+	/* apply necessary workarounds for Cortex A9 r3p0 */
 	enable_arm_errata_761320_war();
 	enable_arm_errata_794072_war();
 	enable_arm_errata_845369_war();
-- 
2.49.0




More information about the barebox mailing list