Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Marek Vasut" <marex@nabladev.com>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org,
	"Oliver Hartkopp" <socketcan@hartkopp.net>,
	Frank.Li@kernel.org, linux-can@vger.kernel.org,
	"Marc Kleine-Budde" <mkl@pengutronix.de>,
	"Oleksij Rempel" <o.rempel@pengutronix.de>,
	"Vincent Mailhol" <mailhol@kernel.org>,
	imx@lists.linux.dev
Subject: Re: [PATCH v6 3/3] arm64: dts: imx95: Add support for Data Modul i.MX95 eDM SBC
Date: Wed, 30 Sep 2026 22:02:11 +0000	[thread overview]
Message-ID: <20260930220212.50A571F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260930214729.809649-3-marex@nabladev.com>

Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [High] dts: imx95: incorrect PCAL6524 interrupt polarity causes IRQ storm
- [High] dts: imx95: incorrect reset-gpios polarity holds Ethernet PHYs in reset
- [Medium] dts: imx95: missing power supply regulator for M.2 Key-E slot
- [Low] dts: imx95: unused pinctrl_panel_backlight_lvds group left in device tree
--

commit 7f31e6dad5b9c7665d8920ec3ddbd34978190a69
Author: Marek Vasut <marex@nabladev.com>

arm64: dts: imx95: Add support for Data Modul i.MX95 eDM SBC

Add support for Data Modul i.MX95 eDM SBC board. This is an
evaluation board for various custom display units. Currently
supported are serial console, ethernet, eMMC, SD, SPI NOR,
USB host and PCIe.

diff --git a/arch/arm64/boot/dts/freescale/imx95-data-modul-edm-sbc.dts b/arch/arm64/boot/dts/freescale/imx95-data-modul-edm-sbc.dts
new file mode 100644
index 0000000000000..5ca26c6ab665f
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-data-modul-edm-sbc.dts
@@ -0,0 +1,1079 @@
[ ... ]
> +	i2c2_gpio_expander_20: gpio@20 {	/* U12 */
> +		compatible = "nxp,pcal6524";
> +		reg = <0x20>;
> +		#gpio-cells = <2>;
> +		gpio-controller;
> +		#interrupt-cells = <2>;
> +		interrupt-controller;
> +		interrupts-extended = <&gpio5 11 IRQ_TYPE_LEVEL_HIGH>;

[Severity: High]
Is the interrupt polarity configured correctly? Since open-drain lines
typically rest HIGH due to pull-ups and assert LOW, wouldn't setting the
polarity to IRQ_TYPE_LEVEL_HIGH cause the interrupt controller to see the
line as asserted immediately, leading to an interrupt storm?

This same configuration is also used in i2c2_gpio_expander_21 and
i2c2_gpio_expander_22.

[ ... ]
> +	ethphy0: ethernet-phy@1 {	/* KSZ9131RNXI U20 */
> +		compatible = "ethernet-phy-id0022.1640";
> +		reg = <1>;
> +		interrupts-extended = <&gpio1 10 IRQ_TYPE_LEVEL_LOW>;
> +		reset-assert-us = <1000>;
> +		/* RESET_N signal rise time ~100ms */
> +		reset-deassert-us = <120000>;
> +		reset-gpios = <&i2c2_gpio_expander_22 4 GPIO_ACTIVE_HIGH>;
> +	};
> +
> +	ethphy1: ethernet-phy@2 {	/* KSZ9131RNXI U22 */
> +		compatible = "ethernet-phy-id0022.1640";
> +		reg = <2>;
> +		interrupts-extended = <&gpio1 10 IRQ_TYPE_LEVEL_LOW>;
> +		reset-assert-us = <1000>;
> +		/* RESET_N signal rise time ~100ms */
> +		reset-deassert-us = <120000>;
> +		reset-gpios = <&i2c2_gpio_expander_22 5 GPIO_ACTIVE_HIGH>;
> +	};

[Severity: High]
Will setting GPIO_ACTIVE_HIGH hold the PHYs in reset? The core drives the line
LOW to deassert reset when active-high is used, but the physical RESET_N pin
is active-low, meaning a LOW signal actually holds the PHY in reset during
normal operation.

[ ... ]
> +&usdhc3 {	/* M.2 Key-E */
> +	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
> +	pinctrl-0 = <&pinctrl_usdhc3>;
> +	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
> +	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
> +	pinctrl-3 = <&pinctrl_usdhc3>;
> +	bus-width = <4>;
> +	status = "okay";
> +};

[Severity: Medium]
Is a regulator missing for the M.2 Key-E slot?

The usdhc3 interface is enabled, but the DT lacks a regulator node for
VDD_3V3_M2-E_EN (pin 5 of i2c2_gpio_expander_20) and lacks a vmmc-supply
assignment. Will the slot remain physically unpowered because the enable
GPIO is never driven active by the kernel?

[ ... ]
> +	pinctrl_panel_backlight_lvds: backlightlvdsgrp {
> +		fsl,pins = <
> +			IMX95_PAD_GPIO_IO27__GPIO2_IO_BIT27			0x31e
> +		>;
> +	};

[Severity: Low]
Is this pinctrl group orphaned? The backlight supply nodes were removed in
V6 of the patch, but the associated pinctrl_panel_backlight_lvds group
appears to have been left in the device tree.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260930214729.809649-1-marex@nabladev.com?part=3

      reply	other threads:[~2026-09-30 22:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-30 21:46 [PATCH v6 1/3] dt-bindings: phy: ti,tcan104x-can: Document Microchip ATA6563 Marek Vasut
2026-09-30 21:46 ` [PATCH v6 2/3] dt-bindings: arm: fsl: Document Data Modul i.MX95 eDM SBC Marek Vasut
2026-09-30 21:46 ` [PATCH v6 3/3] arm64: dts: imx95: Add support for " Marek Vasut
2026-09-30 22:02   ` sashiko-bot [this message]

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=20260930220212.50A571F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=linux-can@vger.kernel.org \
    --cc=mailhol@kernel.org \
    --cc=marex@nabladev.com \
    --cc=mkl@pengutronix.de \
    --cc=o.rempel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=socketcan@hartkopp.net \
    /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