[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