[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