[PATCH v2 2/2] imx95_evk: Restore support for i.MX95 A0 silicon
Tim Harvey
tharvey at gateworks.com
Thu Aug 7 02:49:42 CEST 2025
On Wed, Aug 6, 2025 at 5:40 AM Alice Guo (OSS) <alice.guo at oss.nxp.com> wrote:
>
> From: Alice Guo <alice.guo at nxp.com>
>
> This patch is used to restore support for i.MX95 A0 silicon. To avoid
> duplicating defconfig, imx95.config is added and can be shared between
> imx95_a0_19x19_evk_defconfig and imx95_19x19_evk_defconfig.
>
> container.cfg and imximage.cfg are used to created .cfgout files that
> are be passed to mkimage with -n to build flash.bin. Now they have been
> deleted and replaced by adding their content to the property cfg-content
> of node which type is nxp-config under binman node.
>
> Fixes: 9936724aa9b ("imx95_evk: Add i.MX95 B0 support")
>
Hi Alice,
Thanks for addressing this!
> Signed-off-by: Alice Guo <alice.guo at nxp.com>
> ---
> arch/arm/dts/imx95-u-boot.dtsi | 48 ++++++++++
> arch/arm/mach-imx/Makefile | 5 +
> arch/arm/mach-imx/imx9/Kconfig | 5 +-
> arch/arm/mach-imx/imx9/scmi/container.cfg | 11 ---
> arch/arm/mach-imx/imx9/scmi/imximage.cfg | 16 ----
> configs/imx95.config | 150 +++++++++++++++++++++++++++++
> configs/imx95_19x19_evk_defconfig | 153 +-----------------------------
> configs/imx95_a0_19x19_evk_defconfig | 2 +
> doc/board/nxp/imx95_evk.rst | 41 +++++++-
> 9 files changed, 247 insertions(+), 184 deletions(-)
>
> diff --git a/arch/arm/dts/imx95-u-boot.dtsi b/arch/arm/dts/imx95-u-boot.dtsi
> index 9bf8f9834c9..227e220cd65 100644
> --- a/arch/arm/dts/imx95-u-boot.dtsi
> +++ b/arch/arm/dts/imx95-u-boot.dtsi
> @@ -51,6 +51,54 @@
> filename = "flash.bin";
> pad-byte = <0x00>;
>
> + imximage-cfg {
> + type = "nxp-config";
> + cfg-path = "spl/u-boot-spl.cfgout";
> +#ifdef CONFIG_IMX95_A0
> + cfg-content = "BOOT_FROM SD",
> + "SOC_TYPE IMX9",
> + "APPEND mx95a0-ahab-container.img",
> + "CONTAINER",
> + "IMAGE OEI m33-oei-ddrfw.bin 0x1ffc0000",
> + "HOLD 0x10000",
> + "IMAGE OEI oei-m33-tcm.bin 0x1ffc0000",
> + "IMAGE M33 m33_image.bin 0x1ffc0000",
> + "IMAGE A55 spl/u-boot-spl.bin 0x20480000",
> + "DUMMY_V2X 0x8b000000";
> +#else
> + cfg-content = "CNTR_VERSION 2",
> + "BOOT_FROM SD",
> + "SOC_TYPE IMX9",
> + "APPEND mx95b0-ahab-container.img",
> + "CONTAINER",
> + "DUMMY_DDR",
> + "IMAGE OEI m33-oei-ddrfw.bin 0x1ffc0000",
> + "HOLD 0x10000",
> + "IMAGE M33 m33_image.bin 0x1ffc0000",
> + "IMAGE A55 spl/u-boot-spl.bin 0x20480000",
> + "DUMMY_V2X 0x8b000000";
> +#endif
> + };
> +
> + container-cfg {
> + type = "nxp-config";
> + cfg-path = "u-boot-container.cfgout";
> +#ifdef CONFIG_IMX95_A0
> + cfg-content = "BOOT_FROM SD",
> + "SOC_TYPE IMX9",
> + "CONTAINER",
> + "IMAGE A55 bl31.bin 0x8a200000",
> + "IMAGE A55 u-boot.bin 0x90200000";
> +#else
> + cfg-content = "CNTR_VERSION 2",
> + "BOOT_FROM SD",
> + "SOC_TYPE IMX9",
> + "CONTAINER",
> + "IMAGE A55 bl31.bin 0x8a200000",
> + "IMAGE A55 u-boot.bin 0x90200000";
> +#endif
> + };
> +
> spl {
> align = <0x400>;
> align-size = <0x400>;
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index 8bd85e889ab..fa2cdaba144 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -223,6 +223,10 @@ endif
>
> ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
>
> +ifneq ($(and $(CONFIG_IMX95),$(CONFIG_BINMAN)),)
> +SPL: spl/u-boot-spl.bin FORCE
> + $(call if_changed,mkimage)
> +else
> quiet_cmd_cpp_cfg_imx9_check = CHECK $@
> cmd_cpp_cfg_imx9_check = $(CPP) $(cpp_flags) -D__ASSEMBLY__ -x c -o $@ $< && $(srctree)/tools/imx9_image.sh $@
>
> @@ -244,6 +248,7 @@ u-boot-container.cfgout: $(IMX_CONTAINER_CFG) FORCE
> flash.bin: spl/u-boot-spl-ddr.bin container.cfgout FORCE
> $(call if_changed,mkimage)
> endif
> +endif
>
> else
> MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) \
excellent cleanup - nice to see those cfg files go away
<snip>
> diff --git a/doc/board/nxp/imx95_evk.rst b/doc/board/nxp/imx95_evk.rst
> index 27cd15eb7c9..83ec628f989 100644
> --- a/doc/board/nxp/imx95_evk.rst
> +++ b/doc/board/nxp/imx95_evk.rst
> @@ -21,6 +21,16 @@ Get ahab-container.img
>
> Note: srctree is U-Boot source directory
>
> +i.MX95 A0 silicon version
> +
> +.. code-block:: bash
> +
> + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-1.3.0-17945fc.bin
> + $ sh firmware-ele-imx-1.3.0-17945fc.bin --auto-accept
> + $ cp firmware-ele-imx-1.3.0-17945fc/mx95a0-ahab-container.img $(srctree)
> +
Is there a reason you are using a different version of the container
here? I find the mx95a0-ahab-container.img from
firmware-ele-imx-2.0.2-89161a8.bin appears to work fine. Either way:
Tested-By: Tim Harvey <tharvey at gateworks.com> # imx95-19x19-evk (rA0)
Best Regards,
Tim
More information about the U-Boot
mailing list