From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: Fabian Pflug <f.pflug@pengutronix.de>, barebox@lists.infradead.org
Cc: maud_spierings@hotmail.com
Subject: Re: [PATCH v2 2/2] ARM: boards: i.MX93: Add NXP FRDM i.MX93 support
Date: Tue, 21 Oct 2025 13:11:46 +0200 [thread overview]
Message-ID: <22735bfd-c673-45ec-8b98-4bb4ae6cfad0@pengutronix.de> (raw)
In-Reply-To: <20251021110149.1151936-5-f.pflug@pengutronix.de>
Hello Fabian,
On 10/21/25 12:59 PM, Fabian Pflug wrote:
> This board is a low cost i.MX93 eval board from NXP.
>
> There is no upstream DT yet, therefore a minimal DT is added in this
> patch. The kernel DT is submitted in [0].
>
> The DDR timings are copied from the NXP yocto layer [1] for u-boot with
> some small modifications to remove unused timings and DDR sizes.
>
> [0] https://lore.kernel.org/r/20250526-fpg-nxp-imx93-frdm-v2-0-e5ad0efaec33@pengutronix.de
> [1] https://github.com/nxp-imx-support/meta-imx-frdm/blob/lf-6.6.36-2.1.0/meta-imx-bsp/recipes-bsp/u-boot/u-boot-imx/0002-imx-imx93_frdm-Add-basic-board-support.patch
>
> Signed-off-by: Fabian Pflug <f.pflug@pengutronix.de>
> ---
> arch/arm/boards/Makefile | 1 +
> arch/arm/boards/nxp-imx93-frdm/Makefile | 2 +
> arch/arm/boards/nxp-imx93-frdm/board.c | 12 +
> arch/arm/boards/nxp-imx93-frdm/lowlevel.c | 46 +
> .../nxp-imx93-frdm/lpddr4x_2gb_timing.c | 1907 +++++++++++++++++
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/imx93-frdm.dts | 534 +++++
> arch/arm/mach-imx/Kconfig | 9 +
> images/Makefile.imx | 4 +
> 9 files changed, 2516 insertions(+)
> create mode 100644 arch/arm/boards/nxp-imx93-frdm/Makefile
> create mode 100644 arch/arm/boards/nxp-imx93-frdm/board.c
> create mode 100644 arch/arm/boards/nxp-imx93-frdm/lowlevel.c
> create mode 100644 arch/arm/boards/nxp-imx93-frdm/lpddr4x_2gb_timing.c
> create mode 100644 arch/arm/dts/imx93-frdm.dts
>
> diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
> index ac1fa74d4c..8bbf4d5ea5 100644
> --- a/arch/arm/boards/Makefile
> +++ b/arch/arm/boards/Makefile
> @@ -72,6 +72,7 @@ obj-$(CONFIG_MACH_NXP_IMX8MQ_EVK) += nxp-imx8mq-evk/
> obj-$(CONFIG_MACH_NXP_IMX8MM_EVK) += nxp-imx8mm-evk/
> obj-$(CONFIG_MACH_NXP_IMX8MN_EVK) += nxp-imx8mn-evk/
> obj-$(CONFIG_MACH_NXP_IMX8MP_EVK) += nxp-imx8mp-evk/
> +obj-$(CONFIG_MACH_NXP_IMX93_FRDM) += nxp-imx93-frdm/
> obj-$(CONFIG_MACH_CONGATEC_QMX8P_SOM) += congatec-qmx8p/
> obj-$(CONFIG_MACH_TQ_MBA8MPXL) += tqma8mpxl/
> obj-$(CONFIG_MACH_PCA100) += phytec-phycard-imx27/
> diff --git a/arch/arm/boards/nxp-imx93-frdm/Makefile b/arch/arm/boards/nxp-imx93-frdm/Makefile
> new file mode 100644
> index 0000000000..ac419ef7c2
> --- /dev/null
> +++ b/arch/arm/boards/nxp-imx93-frdm/Makefile
> @@ -0,0 +1,2 @@
> +lwl-y += lowlevel.o lpddr4x_2gb_timing.o
> +obj-y += board.o
> diff --git a/arch/arm/boards/nxp-imx93-frdm/board.c b/arch/arm/boards/nxp-imx93-frdm/board.c
> new file mode 100644
> index 0000000000..1e1c54ce81
> --- /dev/null
> +++ b/arch/arm/boards/nxp-imx93-frdm/board.c
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +#include <deep-probe.h>
> +
> +static const struct of_device_id frdm_imx93_of_match[] = {
> + {
> + .compatible = "fsl,imx93-11x11-frdm",
> + },
> + { /* sentinel */ },
> +};
> +
> +BAREBOX_DEEP_PROBE_ENABLE(frdm_imx93_of_match);
> diff --git a/arch/arm/boards/nxp-imx93-frdm/lowlevel.c b/arch/arm/boards/nxp-imx93-frdm/lowlevel.c
> new file mode 100644
> index 0000000000..bc48160431
> --- /dev/null
> +++ b/arch/arm/boards/nxp-imx93-frdm/lowlevel.c
> @@ -0,0 +1,46 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +#include <common.h>
> +#include <debug_ll.h>
> +#include <mach/imx/debug_ll.h>
> +#include <mach/imx/generic.h>
> +#include <mach/imx/xload.h>
> +#include <asm/barebox-arm.h>
> +#include <soc/imx9/ddr.h>
> +#include <mach/imx/atf.h>
> +#include <mach/imx/xload.h>
> +#include <mach/imx/esdctl.h>
> +
> +extern char __dtb_z_imx93_frdm_start[];
> +extern struct dram_timing_info frdm_imx93_dram_timing;
> +
> +static noinline void frdm_imx93_continue(void)
> +{
> + void __iomem *base = IOMEM(MX9_UART1_BASE_ADDR);
> + void __iomem *muxbase = IOMEM(MX9_IOMUXC_BASE_ADDR);
> +
> + /* configure LPUART1 TX pin */
> + writel(0x0, muxbase + 0x184);
> +
> + imx9_uart_setup(base);
> + pbl_set_putc(lpuart32_putc, base + 0x10);
> + putchar('>');
Do you see the > character on bootup if CONFIG_PBL_CONSOLE is enabled?
Maud (Cc'd) mentioned on the IRC that the 0x10 offset shouldn't be
necessary.
Cheers,
Ahmad
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2025-10-21 11:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-27 11:42 [PATCH] " Fabian Pflug
2025-05-27 12:23 ` Marco Felsch
2025-05-27 12:37 ` Ahmad Fatoum
2025-10-21 10:59 ` [PATCH v2 0/2] " Fabian Pflug
2025-10-21 10:59 ` [PATCH v2 1/2] common: deep-probe: include of for of_device_id Fabian Pflug
2025-10-21 10:59 ` [PATCH v2 2/2] ARM: boards: i.MX93: Add NXP FRDM i.MX93 support Fabian Pflug
2025-10-21 11:11 ` Ahmad Fatoum [this message]
2025-10-21 11:37 ` Fabian Pflug
2025-10-21 11:43 ` Ahmad Fatoum
2025-10-21 11:53 ` Fabian Pflug
2025-10-21 11:58 ` Maud Spierings
2025-10-22 6:52 ` Sascha Hauer
2025-10-21 18:01 ` [PATCH v2 0/2] " Maud Spierings
2025-10-22 6:47 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=22735bfd-c673-45ec-8b98-4bb4ae6cfad0@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=f.pflug@pengutronix.de \
--cc=maud_spierings@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox