[PATCH 2/2] imx: Eliminate IMX95_A0

Marek Vasut marek.vasut at mailbox.org
Thu Nov 27 20:25:22 CET 2025


Instead of ifdeffery in DTs, simply generate flash-a0.bin for i.MX95 A0/A1
and flash.bin for i.MX95 B0 and newer. This way, both SoC revisions can be
supported and binman will fill in missing blobs into flash*bin if they are
not accessible. This makes U-Boot generic on i.MX95 A0, A1, B0 and newer
once more.

Signed-off-by: Marek Vasut <marek.vasut at mailbox.org>
---
Cc: "João Paulo Gonçalves" <joao.goncalves at toradex.com>
Cc: "NXP i.MX U-Boot Team" <uboot-imx at nxp.com>
Cc: Alice Guo <alice.guo at nxp.com>
Cc: Fabio Estevam <festevam at gmail.com>
Cc: Jacky Bai <ping.bai at nxp.com>
Cc: Peng Fan <peng.fan at nxp.com>
Cc: Tom Rini <trini at konsulko.com>
Cc: Ye Li <ye.li at nxp.com>
Cc: u-boot at lists.denx.de
---
NOTE: Compile-tested only
---
 arch/arm/dts/imx95-u-boot.dtsi       | 49 ++++++++++++++++++++--------
 arch/arm/mach-imx/imx9/Kconfig       |  3 --
 configs/imx95_a0_19x19_evk_defconfig |  2 --
 3 files changed, 35 insertions(+), 19 deletions(-)
 delete mode 100644 configs/imx95_a0_19x19_evk_defconfig

diff --git a/arch/arm/dts/imx95-u-boot.dtsi b/arch/arm/dts/imx95-u-boot.dtsi
index 591cb317508..01f3bf9b172 100644
--- a/arch/arm/dts/imx95-u-boot.dtsi
+++ b/arch/arm/dts/imx95-u-boot.dtsi
@@ -47,7 +47,41 @@
 			};
 		};
 
-		imx-boot {
+		imx-boot-a0 {
+			filename = "flash-a0.bin";
+			pad-byte = <0x00>;
+
+			spl {
+				type = "nxp-imx9image";
+				cfg-path = "spl/u-boot-spl.cfgout";
+				args;
+
+				boot-from = "sd";
+				soc-type = "IMX9";
+				append = "mx95a0-ahab-container.img";
+				container;
+				image0 = "oei", "m33-oei-ddrfw.bin", "0x1ffc0000";
+				hold = <0x10000>;
+				image1 = "oei", "oei-m33-tcm.bin", "0x1ffc0000";
+				image2 = "m33", "m33_image.bin", "0x1ffc0000";
+				image3 = "a55", "spl/u-boot-spl.bin", "0x20480000";
+				dummy-v2x = <0x8b000000>;
+			};
+
+			u-boot {
+				type = "nxp-imx9image";
+				cfg-path = "u-boot-container.cfgout";
+				args;
+
+				boot-from = "sd";
+				soc-type = "IMX9";
+				container;
+				image0 = "a55", "bl31.bin", "0x8a200000";
+				image1 = "a55", "u-boot.bin", "0x90200000";
+			};
+		};
+
+		imx-boot-b0 {
 			filename = "flash.bin";
 			pad-byte = <0x00>;
 
@@ -56,25 +90,14 @@
 				cfg-path = "spl/u-boot-spl.cfgout";
 				args;
 
-#ifndef CONFIG_IMX95_A0
 				cntr-version = <2>;
-#endif
 				boot-from = "sd";
 				soc-type = "IMX9";
-#ifdef CONFIG_IMX95_A0
-				append = "mx95a0-ahab-container.img";
-#else
 				append = "mx95b0-ahab-container.img";
-#endif
 				container;
-#ifndef CONFIG_IMX95_A0
 				dummy-ddr;
-#endif
 				image0 = "oei", "m33-oei-ddrfw.bin", "0x1ffc0000";
 				hold = <0x10000>;
-#ifdef CONFIG_IMX95_A0
-				image1 = "oei", "oei-m33-tcm.bin", "0x1ffc0000";
-#endif
 				image2 = "m33", "m33_image.bin", "0x1ffc0000";
 				image3 = "a55", "spl/u-boot-spl.bin", "0x20480000";
 				dummy-v2x = <0x8b000000>;
@@ -85,9 +108,7 @@
 				cfg-path = "u-boot-container.cfgout";
 				args;
 
-#ifndef CONFIG_IMX95_A0
 				cntr-version = <2>;
-#endif
 				boot-from = "sd";
 				soc-type = "IMX9";
 				container;
diff --git a/arch/arm/mach-imx/imx9/Kconfig b/arch/arm/mach-imx/imx9/Kconfig
index 8a01b9045dd..f5e4c364087 100644
--- a/arch/arm/mach-imx/imx9/Kconfig
+++ b/arch/arm/mach-imx/imx9/Kconfig
@@ -25,9 +25,6 @@ config IMX91
 	select ARCH_MISC_INIT
 	select ARMV8_SPL_EXCEPTION_VECTORS
 
-config IMX95_A0
-	bool "Support for i.MX95 A0 silicon version"
-
 config IMX95
 	bool
 	select ARCH_MISC_INIT
diff --git a/configs/imx95_a0_19x19_evk_defconfig b/configs/imx95_a0_19x19_evk_defconfig
deleted file mode 100644
index 9376f11b151..00000000000
--- a/configs/imx95_a0_19x19_evk_defconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <configs/imx95_evk.config>
-CONFIG_IMX95_A0=y
-- 
2.51.0



More information about the U-Boot mailing list