[PATCH] imx93_frdm: Add initial board support
Fabio Estevam
festevam at gmail.com
Thu Jul 24 04:26:45 CEST 2025
Hi Peng,
On Wed, Jul 23, 2025 at 11:19 PM Peng Fan <peng.fan at oss.nxp.com> wrote:
>
> Hi Fabio,
>
> Thanks for working on i.MX93 FRDM upstream.
>
> On Tue, Jul 22, 2025 at 05:37:36PM -0300, Fabio Estevam wrote:
> >Add the initial board support for the NXP i.MX93 FRDM board:
> >
> >https://www.nxp.com/design/design-center/development-boards-and-designs/frdm-i-mx-93-development-board:FRDM-IMX93
> >
> >Based on the NXP U-Boot code.
> >
> >There were attempts to upstream the board devicetree, but it has not been
> >accepted upstream yet:
> >
> >https://lore.kernel.org/linux-arm-kernel/20250526-fpg-nxp-imx93-frdm-v2-2-e5ad0efaec33@pengutronix.de/
> >
> >Once it reaches upstream, we can switch to OF_UPSTREAM.
> >
> >Signed-off-by: Fabio Estevam <festevam at gmail.com>
> >---
> > arch/arm/dts/Makefile | 1 +
> > arch/arm/dts/imx93-11x11-frdm-u-boot.dtsi | 212 ++
> > arch/arm/dts/imx93-11x11-frdm.dts | 603 +++++
> > arch/arm/include/asm/arch-imx9/ddr.h | 1 +
> > arch/arm/mach-imx/imx9/Kconfig | 9 +
> > board/freescale/imx93_frdm/Kconfig | 12 +
> > board/freescale/imx93_frdm/MAINTAINERS | 6 +
> > board/freescale/imx93_frdm/Makefile | 11 +
> > board/freescale/imx93_frdm/imx93_frdm.c | 59 +
> > board/freescale/imx93_frdm/imx93_frdm.env | 31 +
> > board/freescale/imx93_frdm/lpddr4_timing.h | 13 +
> > .../freescale/imx93_frdm/lpddr4x_1gb_timing.c | 1996 +++++++++++++++++
> > .../freescale/imx93_frdm/lpddr4x_2gb_timing.c | 1995 ++++++++++++++++
> > board/freescale/imx93_frdm/spl.c | 207 ++
> > configs/imx93_frdm_defconfig | 124 +
> > doc/board/nxp/imx93_frdm.rst | 75 +
> > doc/board/nxp/index.rst | 1 +
> > include/configs/imx93_frdm.h | 32 +
> > 18 files changed, 5388 insertions(+)
> > create mode 100644 arch/arm/dts/imx93-11x11-frdm-u-boot.dtsi
> > create mode 100644 arch/arm/dts/imx93-11x11-frdm.dts
> > create mode 100644 board/freescale/imx93_frdm/Kconfig
> > create mode 100644 board/freescale/imx93_frdm/MAINTAINERS
> > create mode 100644 board/freescale/imx93_frdm/Makefile
> > create mode 100644 board/freescale/imx93_frdm/imx93_frdm.c
> > create mode 100644 board/freescale/imx93_frdm/imx93_frdm.env
> > create mode 100644 board/freescale/imx93_frdm/lpddr4_timing.h
> > create mode 100644 board/freescale/imx93_frdm/lpddr4x_1gb_timing.c
> > create mode 100644 board/freescale/imx93_frdm/lpddr4x_2gb_timing.c
> > create mode 100644 board/freescale/imx93_frdm/spl.c
> > create mode 100644 configs/imx93_frdm_defconfig
> > create mode 100644 doc/board/nxp/imx93_frdm.rst
> > create mode 100644 include/configs/imx93_frdm.h
> >
> >diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> >index 17795f8f746d..09e3edc4f8b1 100644
> >--- a/arch/arm/dts/Makefile
> >+++ b/arch/arm/dts/Makefile
> >@@ -918,6 +918,7 @@ dtb-$(CONFIG_ARCH_IMX8M) += \
> > imx8mq-librem5-r4.dtb
> >
> > dtb-$(CONFIG_ARCH_IMX9) += \
> >+ imx93-11x11-frdm.dtb \
> > imx93-var-som-symphony.dtb
> >
> > dtb-$(CONFIG_ARCH_IMXRT) += imxrt1020-evk.dtb \
> >diff --git a/arch/arm/dts/imx93-11x11-frdm-u-boot.dtsi b/arch/arm/dts/imx93-11x11-frdm-u-boot.dtsi
> >new file mode 100644
> >index 000000000000..558a43470e81
> >--- /dev/null
> >+++ b/arch/arm/dts/imx93-11x11-frdm-u-boot.dtsi
> >@@ -0,0 +1,212 @@
> >+// SPDX-License-Identifier: GPL-2.0+
> >+/*
> >+ * Copyright 2024 NXP
>
> 2025.
>
> >+ */
> >+
> >+#include "imx93-u-boot.dtsi"
> >+
> >+/ {
> >+ wdt-reboot {
> >+ compatible = "wdt-reboot";
> >+ wdt = <&wdog3>;
> >+ bootph-pre-ram;
> >+ bootph-some-ram;
> >+ };
> >+
> >+ aliases {
> >+ usbgadget0 = &usbg1;
> >+ usbgadget1 = &usbg2;
> >+ };
> >+
> >+ usbg1: usbg1 {
> >+ compatible = "fsl,imx27-usb-gadget";
> >+ dr_mode = "peripheral";
> >+ chipidea,usb = <&usbotg1>;
> >+ status = "okay";
> >+ };
> >+
> >+ usbg2: usbg2 {
> >+ compatible = "fsl,imx27-usb-gadget";
> >+ dr_mode = "peripheral";
> >+ chipidea,usb = <&usbotg2>;
> >+ status = "okay";
> >+ };
>
> This fsl,imx27-usb-gadget is only in NXP downstream, needs drop here.
Yes, I have removed it in v2.
> >--- /dev/null
> >+++ b/board/freescale/imx93_frdm/lpddr4_timing.h
> >@@ -0,0 +1,13 @@
> >+/* SPDX-License-Identifier: GPL-2.0+ */
> >+/*
> >+ * Copyright 2022 Marek Vasut <marex at denx.de>
>
> Wrong Copyright.
The NXP code declares the externs inside the C file, which is not a
good practice.
I used the approach done by Marek on another board, so I kept his Copyright.
> Align macros.
>
> Seems some use blank space, some use tab
This is also fixed in v2.
I will address your 2025 Copyright changes and submit a v3.
Thanks
More information about the U-Boot
mailing list