From: Francesco Valla <francesco@valla.it>
To: Joseph Guo <qijian.guo@nxp.com>
Cc: "NXP i.MX U-Boot Team" <uboot-imx@nxp.com>,
u-boot@lists.denx.de, Stefano Babic <sbabic@nabladev.com>,
Fabio Estevam <festevam@gmail.com>, Tom Rini <trini@konsulko.com>,
Peng Fan <peng.fan@nxp.com>,
Sumit Garg <sumit.garg@oss.qualcomm.com>, Ye Li <ye.li@nxp.com>,
Alice Guo <alice.guo@nxp.com>, Adam Ford <aford173@gmail.com>,
Sam Protsenko <semen.protsenko@linaro.org>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Simon Glass <sjg@chromium.org>,
Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>,
Jacky Bai <ping.bai@nxp.com>, Justin Jiang <justin.jiang@nxp.com>
Subject: Re: [PATCH v2 0/2] Add FRDM-IMX91 initial support
Date: Wed, 3 Dec 2025 15:11:21 +0100 [thread overview]
Message-ID: <aTBFCc-8NzeS4MzT@bywater> (raw)
In-Reply-To: <20251202-imx91_frdm-v2-0-992b8aa99375@nxp.com>
Hello Joseph,
thank you for the patch set.
On Tue, Dec 02, 2025 at 07:05:01PM +0900, Joseph Guo wrote:
> This series add initial support for the FRDM i.MX91 11x11 development
> board in U-Boot:
> https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-IMX91
>
> Include:
> - Device tree for the board.
> - Defconfig and Kconfig for the board.
> - Header file defining memory layout and hadware addresses.
>
> The board devicetree already attempted to upstream, but not been accepted yet:
> https://lore.kernel.org/all/20251114-imx91_frdm-v1-0-e5763bdf9336@nxp.com/
>
> Signed-off-by: Joseph Guo <qijian.guo@nxp.com>
> ---
> Changes in v2:
> - add upstream link
> - rename 'vrpi' to 'vexp' to keep align with upstream dts
> - move bootph- property from u-boot.dtsi to dts
> - correct commit message 'EVK' to 'FRDM'
> - use #include in ecc config file to avoid duplication
> - add ecc description in README
> - drop extraneous includes
> - rename 'imx91_frdm.rst' to 'imx91_11x11_frdm.rst'
> - drop IMX91_FRDM_LPDDR4 symbol
> - Link to v1: https://lore.kernel.org/r/20251127-imx91_frdm-v1-0-8f42646d89ad@nxp.com
>
> ---
> Joseph Guo (2):
> arm64: dts: add NXP FRDM-IMX91 device tree
> imx: Support i.MX91 11x11 FRDM board
>
> arch/arm/dts/imx91-11x11-frdm-u-boot.dtsi | 51 +
> arch/arm/dts/imx91-11x11-frdm.dts | 767 ++++++++
> arch/arm/mach-imx/imx9/Kconfig | 9 +
> board/freescale/imx91_frdm/Kconfig | 12 +
> board/freescale/imx91_frdm/MAINTAINERS | 7 +
> board/freescale/imx91_frdm/Makefile | 16 +
> board/freescale/imx91_frdm/imx91_frdm.c | 25 +
> 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 | 193 ++
> configs/imx91_11x11_frdm_defconfig | 143 ++
> configs/imx91_11x11_frdm_inline_ecc_defconfig | 3 +
> doc/board/nxp/imx91_11x11_frdm.rst | 100 +
> doc/board/nxp/index.rst | 1 +
> include/configs/imx91_frdm.h | 25 +
> 19 files changed, 9436 insertions(+)
> ---
> base-commit: e199db57c00ba2c2aba81069800126b6543a644c
> change-id: 20251117-imx91_frdm-7a2db95f279d
>
> Best regards,
> --
> Joseph Guo <qijian.guo@nxp.com>
>
I tested the series on the actual hardware with [0] on top of the
mainline Linux kernel and encountered a unmanaged interrupt warning
during boot, which wasn't there using the downstream NXP u-boot
version:
[ 1.840096] mmc1: host does not support reading read-only switch, assuming write-enable
[ 1.850352] mmc1: new high speed SDHC card at address 1234
[ 1.857170] mmcblk1: mmc1:1234 SA08G 7.21 GiB
[ 1.864850] mmcblk1: p1 p2
[ 2.279012] random: crng init done
[ 11.720182] platform pwrseq-usdhc3: deferred probe pending: pwrseq_simple: reset control not ready
[ 11.734562] platform 42890000.ethernet: deferred probe pending: platform: wait for supplier /soc@0/efuse@47510000/mac-address@4ec
[ 17.947574] irq 99: nobody cared (try booting with the "irqpoll" option)
[ 17.954292] CPU: 0 UID: 0 PID: 55 Comm: irq/99-1-0022 Not tainted 6.18.0-01544-g0817234e6cf9-dirty #1 PREEMPT
[ 17.954302] Hardware name: NXP FRDM-IMX91 Development Board (DT)
[ 17.954306] Call trace:
[ 17.954310] show_stack+0x18/0x30 (C)
[ 17.954326] dump_stack_lvl+0x60/0x80
[ 17.954335] dump_stack+0x18/0x24
[ 17.954341] __report_bad_irq+0x4c/0xec
[ 17.954351] note_interrupt+0x33c/0x390
[ 17.954361] handle_irq_event+0x94/0xbc
[ 17.954368] handle_level_irq+0xd8/0x170
[ 17.954375] handle_irq_desc+0x34/0x58
[ 17.954380] generic_handle_domain_irq+0x1c/0x28
[ 17.954386] vf610_gpio_irq_handler+0x70/0x110
[ 17.954395] handle_irq_desc+0x34/0x58
[ 17.954401] generic_handle_domain_irq+0x1c/0x28
[ 17.954407] gic_handle_irq+0x4c/0x140
[ 17.954412] call_on_irq_stack+0x30/0x48
[ 17.954419] do_interrupt_handler+0x80/0x84
[ 17.954426] el1_interrupt+0x38/0x60
[ 17.954436] el1h_64_irq_handler+0x18/0x24
[ 17.954443] el1h_64_irq+0x6c/0x70
[ 17.954448] _raw_spin_unlock_irqrestore+0x8/0x44 (P)
[ 17.954457] wake_threads_waitq+0x60/0x70
[ 17.954463] irq_thread+0x194/0x32c
[ 17.954469] kthread+0x12c/0x204
[ 17.954478] ret_from_fork+0x10/0x20
[ 17.954485] handlers:
[ 18.064352] [<00000000ec900a2b>] irq_default_primary_handler threaded [<00000000a61af792>] pca953x_irq_handler
[ 18.074353] Disabling IRQ #99
[ 18.080294] nxp-pca9450 1-0025: pca9451a probed.
Further analysis led me to think that this is caused by the fact that
the PCAL6524 GPIO expander (1-0022) shares its interrupt line with the
USB Type C port controller (PTN5110). As soon as the first interrupt
line from the PCAL is enabled (i.e., when the PCA9451A PMIC requests
its interrupt line, which is provided by the aforementioned PCAL6524),
the corresponding parent interrupt - which is shared - is also enabled
and this causes an interrupt storm, at least until the PTN5110 driver
is probed.
The interrupt storm causes a noticeable delay during the boot sequence,
as well as the disabling of the shared IRQ #99, making the device not
really usable.
In the downstream version of u-boot, this is taken care by the support
for the TypeC port controller logic [1], which is however not available
in upstream u-boot. Until that support is added, I'd suggest to add a
workaround in here (maybe in SPL code?) that simply disables the
interrupts for the PTN5110 and clears the interrupt latch as well.
The IRQ can then be enabled in a proper way by the kernel driver.
[0] https://lore.kernel.org/all/20251114-imx91_frdm-v1-0-e5763bdf9336@nxp.com/
[1] https://github.com/nxp-imx/uboot-imx/blob/lf_v2025.04/board/freescale/common/tcpc.c#L1058
Thank you
Regards,
Francesco
next prev parent reply other threads:[~2025-12-03 14:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-02 10:05 [PATCH v2 0/2] Add FRDM-IMX91 initial support Joseph Guo
2025-12-02 10:05 ` [PATCH v2 1/2] arm64: dts: add NXP FRDM-IMX91 device tree Joseph Guo
2025-12-02 10:05 ` [PATCH v2 2/2] imx: Support i.MX91 11x11 FRDM board Joseph Guo
2025-12-03 13:53 ` Francesco Valla
2025-12-03 14:27 ` Fabio Estevam
2025-12-04 7:12 ` [EXT] " Joseph Guo (OSS)
2025-12-04 14:03 ` Fabio Estevam
2025-12-05 3:12 ` Joseph Guo (OSS)
2025-12-05 10:43 ` Fabio Estevam
2025-12-03 14:11 ` Francesco Valla [this message]
2025-12-04 2:30 ` [PATCH v2 0/2] Add FRDM-IMX91 initial support Joseph Guo
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=aTBFCc-8NzeS4MzT@bywater \
--to=francesco@valla.it \
--cc=aford173@gmail.com \
--cc=alice.guo@nxp.com \
--cc=festevam@gmail.com \
--cc=justin.jiang@nxp.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=mathieu.dubois-briand@bootlin.com \
--cc=peng.fan@nxp.com \
--cc=ping.bai@nxp.com \
--cc=qijian.guo@nxp.com \
--cc=sbabic@nabladev.com \
--cc=semen.protsenko@linaro.org \
--cc=sjg@chromium.org \
--cc=sumit.garg@oss.qualcomm.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
--cc=ye.li@nxp.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