[PATCH 2/2] imx: Support i.MX91 11x11 FRDM board

Joseph Guo qijian.guo at nxp.com
Mon Dec 1 03:39:14 CET 2025


On Thu, Nov 27, 2025 at 08:14:51AM -0600, Tom Rini wrote:
> On Thu, Nov 27, 2025 at 06:54:58PM +0900, Joseph Guo wrote:
> > Add i.MX91 11x11 EVK Board support.
> >  - Four ddr scripts included w/o inline ecc feature. Support
> >    both 1gb and 2gb DDR
> >  - SDHC/EQOS/I2C/UART supported
> >  - PCA9451 supported, default nominal drive mode
> >  - Documentation added.
> > 
> > Signed-off-by: Joseph Guo <qijian.guo at nxp.com>
> > ---
> >  arch/arm/dts/imx91-11x11-frdm-u-boot.dtsi          |  195 ++
> >  arch/arm/mach-imx/imx9/Kconfig                     |    8 +
> >  board/freescale/imx91_frdm/Kconfig                 |   19 +
> >  board/freescale/imx91_frdm/MAINTAINERS             |    7 +
> >  board/freescale/imx91_frdm/Makefile                |   16 +
> >  board/freescale/imx91_frdm/imx91_frdm.c            |   28 +
> >  board/freescale/imx91_frdm/imx91_frdm.env          |   88 +
> >  .../imx91_frdm/lpddr4_2400mts_1gb_timing.c         | 1996 ++++++++++++++++++++
> >  .../imx91_frdm/lpddr4_2400mts_2gb_timing.c         | 1996 ++++++++++++++++++++
> >  .../imx91_frdm/lpddr4_2400mts_ecc_1gb_timing.c     | 1996 ++++++++++++++++++++
> >  .../imx91_frdm/lpddr4_2400mts_ecc_2gb_timing.c     | 1996 ++++++++++++++++++++
> >  board/freescale/imx91_frdm/lpddr4_timing.h         |   12 +
> >  board/freescale/imx91_frdm/spl.c                   |  204 ++
> >  configs/imx91_11x11_frdm_defconfig                 |  143 ++
> >  configs/imx91_11x11_frdm_inline_ecc_defconfig      |  143 ++
> >  doc/board/nxp/imx91_frdm.rst                       |   99 +
> >  doc/board/nxp/index.rst                            |    1 +
> >  include/configs/imx91_frdm.h                       |   25 +
> >  18 files changed, 8972 insertions(+)
> > 
> > diff --git a/arch/arm/dts/imx91-11x11-frdm-u-boot.dtsi b/arch/arm/dts/imx91-11x11-frdm-u-boot.dtsi
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..7934ec89cfa58c1c033ba08ae7be826f5823bc1b
> > --- /dev/null
> > +++ b/arch/arm/dts/imx91-11x11-frdm-u-boot.dtsi
> > @@ -0,0 +1,195 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2025 NXP
> > + */
> > +
> > +#include "imx91-u-boot.dtsi"
> > +
> > +/ {
> > +	wdt-reboot {
> > +		compatible = "wdt-reboot";
> > +		wdt = <&wdog3>;
> > +		bootph-pre-ram;
> > +		bootph-some-ram;
> > +	};
> > +
> > +	firmware {
> > +		optee {
> > +			compatible = "linaro,optee-tz";
> > +			method = "smc";
> > +		};
> > +	};
> > +};
> > +
> > +&{/soc at 0} {
> > +	bootph-all;
> > +	bootph-pre-ram;
> > +};
> 
> These should be upstreamed and are not u-boot specific.
>

Hi Tom,

Thanks for your comments.

Can you please point out which node and why?
optee and wdt are always u-boot specific. These nodes have
never been put into upstream before.

Regards,
Joseph

> [snip]
> > diff --git a/board/freescale/imx91_frdm/imx91_frdm.c b/board/freescale/imx91_frdm/imx91_frdm.c
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..28201a8d62207672c837a34e8619ca9ef4638ed0
> > --- /dev/null
> > +++ b/board/freescale/imx91_frdm/imx91_frdm.c
> > @@ -0,0 +1,28 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2025 NXP
> > + */
> > +
> > +#include <env.h>
> > +#include <init.h>
> > +#include <miiphy.h>
> > +#include <netdev.h>
> > +#include <asm/arch/sys_proto.h>
> > +
> > +int board_late_init(void)
> > +{
> > +#ifdef CONFIG_ENV_IS_IN_MMC
> > +	board_late_mmc_env_init();
> > +#endif
> > +
> > +	env_set("sec_boot", "no");
> > +#ifdef CONFIG_AHAB_BOOT
> > +	env_set("sec_boot", "yes");
> > +#endif
> > +
> > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> > +	env_set("board_name", "11X11_FRDM");
> > +	env_set("board_rev", "iMX91");
> > +#endif
> > +	return 0;
> > +}
> 
> There are extraneous includes here, please fix and recheck the rest of
> the files too.
> 
> [snip]
> > diff --git a/configs/imx91_11x11_frdm_inline_ecc_defconfig b/configs/imx91_11x11_frdm_inline_ecc_defconfig
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..b1daad00c24aff1628c76aa06cbdf7d8c498ab9c
> > --- /dev/null
> > +++ b/configs/imx91_11x11_frdm_inline_ecc_defconfig
> > @@ -0,0 +1,143 @@
> > +CONFIG_ARM=y
> > +CONFIG_ARCH_IMX9=y
> 
> This should make use of #include to avoid having to keep them in sync,
> and make sure that buildman can still build them both when done (or CI
> will fail).
> 
> > diff --git a/doc/board/nxp/imx91_frdm.rst b/doc/board/nxp/imx91_frdm.rst
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..04780f1d8db693f8a32c0bf293d59454862166da
> > --- /dev/null
> > +++ b/doc/board/nxp/imx91_frdm.rst
> > @@ -0,0 +1,99 @@
> > +.. SPDX-License-Identifier: GPL-2.0+
> > +
> > +imx91_frdm
> > +=======================
> 
> Please see the docs on building the documentation, this and likely other
> style errors will fail in CI.
> 
> Thanks!
> 
> -- 
> Tom




More information about the U-Boot mailing list