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 <[email protected]> > --- > 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@0} { > + bootph-all; > + bootph-pre-ram; > +};
These should be upstreamed and are not u-boot specific.
[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
signature.asc
Description: PGP signature

