From: sashiko-bot@kernel.org
To: "Judith Mendez" <jm@ti.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH 5/8] arm64: dts: ti: k3-am64: Enable IO expander interrupt
Date: Wed, 29 Jul 2026 20:09:34 +0000 [thread overview]
Message-ID: <20260729200934.C5BCE1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260729195958.671147-6-jm@ti.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The IO expander interrupt is incorrectly configured with IRQ_TYPE_LEVEL_HIGH polarity for an active-low open-drain output.
- [Medium] The pad configuration for the SK board removes the internal pull-up, potentially leaving the open-drain interrupt line floating.
--
--- Patch [5]: [PATCH 5/8] arm64: dts: ti: k3-am64: Enable IO expander interrupt ---
commit 846c9ea4531cda7562459d539ef568783fb1e41c
Author: Judith Mendez <jm@ti.com>
arm64: dts: ti: k3-am64: Enable IO expander interrupt
On AM64 EVM and SK boards, MMC1_SDWP is used for IO expander interrupt,
remove from MMC1 pinmux node and setup as exp1 IO expander interrupt.
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> --- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
[ ... ]
> @@ -481,6 +487,12 @@ exp1: gpio@22 {
> bootph-all;
> compatible = "ti,tca6424";
> reg = <0x22>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
> + interrupt-parent = <&main_gpio1>;
> + interrupts = <78 IRQ_TYPE_LEVEL_HIGH>;
[Severity: High]
Will setting this interrupt to IRQ_TYPE_LEVEL_HIGH cause an interrupt storm?
Since the TCA6424 IO expander has an active-low open-drain interrupt output,
an active-high configuration might trigger continuously when the line is
idle, eventually causing the kernel to disable the interrupt.
> + interrupt-controller;
> + #interrupt-cells = <2>;
> gpio-controller;
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> @@ -198,7 +198,6 @@ &main_pmx0 {
> main_mmc1_pins_default: main-mmc1-default-pins {
> bootph-all;
> pinctrl-single,pins = <
> - AM64X_IOPAD(0x029c, PIN_INPUT_PULLUP, 0) /* (C20) MMC1_SDWP */
> AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
> AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
[ ... ]
> @@ -210,6 +209,13 @@ AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
> >;
> };
>
> + main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
> + pinctrl-single,pins = <
> + AM64X_IOPAD(0x029c, PIN_INPUT, 7) /* (C20) MMC1_SDWP.GPIO1_78 */
[Severity: Medium]
Does dropping the internal pull-up on this pad risk leaving the interrupt
line floating?
The previous configuration for this pad on the SK board used
PIN_INPUT_PULLUP. If the board lacks a dedicated external pull-up resistor
for this open-drain interrupt, using PIN_INPUT might lead to spurious edge
detections.
> + >;
> + bootph-all;
> + };
[ ... ]
> @@ -383,6 +389,12 @@ exp1: gpio@70 {
> bootph-all;
> compatible = "nxp,pca9538";
> reg = <0x70>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
> + interrupt-parent = <&main_gpio1>;
> + interrupts = <78 IRQ_TYPE_LEVEL_HIGH>;
[Severity: High]
Could this also trigger an interrupt storm on the SK board?
Similar to the EVM board, the PCA9538 IO expander typically has an
active-low open-drain interrupt. An active-high configuration will likely
trigger unconditionally on boot.
> + interrupt-controller;
> + #interrupt-cells = <2>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260729195958.671147-1-jm@ti.com?part=5
next prev parent reply other threads:[~2026-07-29 20:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 19:59 [PATCH 0/8] MMC pinmux configuration fixes Judith Mendez
2026-07-29 19:59 ` [PATCH 1/8] arm64: dts: ti: k3-am62a: Fix MMC0_CLK register address Judith Mendez
2026-07-29 19:59 ` [PATCH 2/8] arm64: dts: ti: k3-am62a: Set MMC clock pins as OUTPUT Judith Mendez
2026-07-29 19:59 ` [PATCH 3/8] arm64: dts: ti: k3-am62: " Judith Mendez
2026-07-29 20:08 ` sashiko-bot
2026-07-29 19:59 ` [PATCH 4/8] arm64: dts: ti: k3-am62l-evm: Remove unnecessary internal pullups for MMC0 Judith Mendez
2026-07-29 19:59 ` [PATCH 5/8] arm64: dts: ti: k3-am64: Enable IO expander interrupt Judith Mendez
2026-07-29 20:09 ` sashiko-bot [this message]
2026-07-29 19:59 ` [PATCH 6/8] arm64: dts: ti: k3-am64: Let MMC1 clock loopback use hardware default Judith Mendez
2026-07-29 19:59 ` [PATCH 7/8] arm64: dts: ti: k3-am64-sk: Disable MMC1 internal pulls Judith Mendez
2026-07-29 20:13 ` sashiko-bot
2026-07-29 19:59 ` [PATCH 8/8] arm64: dts: ti: k3-am642-evm: Remove unnecessary internal pullups for MMC1 Judith Mendez
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=20260729200934.C5BCE1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jm@ti.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.