Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements
@ 2026-05-19 11:15 Joy Zou
  2026-05-19 11:15 ` [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node Joy Zou
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

Remove unused clock-frequency property from mdio node for i.MX91 QSB.

Add watchdog pinctrl configuration for i.MX91 EVK and QSB to support
external reset output.

Add Ethernet PHY reset GPIO configuration for i.MX91 EVK and QSB to
ensure proper PHY initialization.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
Joy Zou (5):
      arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node
      arm64: dts: imx91-9x9-qsb: add pinctrl for wdog3 reset
      arm64: dts: imx91-11x11-evk: add pinctrl for wdog3 reset
      arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs
      arm64: dts: imx91-9x9-qsb: add reset gpios for ethernet PHYs

 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts | 14 ++++++++++++++
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts   | 12 +++++++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)
---
base-commit: e98d21c170b01ddef366f023bbfcf6b31509fa83
change-id: 20260519-b4-imx91-qsb-opt-583b781ee250

Best regards,
-- 
Joy Zou <joy.zou@nxp.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node
  2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
@ 2026-05-19 11:15 ` Joy Zou
  2026-05-19 11:23   ` sashiko-bot
  2026-05-19 11:15 ` [PATCH 2/5] arm64: dts: imx91-9x9-qsb: add pinctrl for wdog3 reset Joy Zou
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

The clock-frequency property is not implemented. Remove it to clean up the
device tree.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index 1239bbf579da44ab3f4be2dc566c53a1e5db6c05..9cbfe57be2d3c37208611dfba5acd428f0b58c3e 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -79,7 +79,6 @@ mdio {
 		compatible = "snps,dwmac-mdio";
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clock-frequency = <5000000>;
 
 		ethphy1: ethernet-phy@1 {
 			compatible = "ethernet-phy-ieee802.3-c22";

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/5] arm64: dts: imx91-9x9-qsb: add pinctrl for wdog3 reset
  2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
  2026-05-19 11:15 ` [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node Joy Zou
@ 2026-05-19 11:15 ` Joy Zou
  2026-05-19 11:15 ` [PATCH 3/5] arm64: dts: imx91-11x11-evk: " Joy Zou
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

The wdog3 node enables fsl,ext-reset-output to assert an external
reset signal upon watchdog timeout, but lacks pinctrl configuration
for the physical pad.

Without proper pinctrl settings, which could cause the watchdog timeout
to fail to reset the board hardware.

Add pinctrl configuration to ensure the pin is properly muxed and
configured for external watchdog reset functionality.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index 9cbfe57be2d3c37208611dfba5acd428f0b58c3e..62549a6de1b64496ffa5cf3f543145a00dbb10a8 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -230,6 +230,12 @@ MX91_PAD_SD2_DATA3__USDHC2_DATA3                        0x13fe
 			MX91_PAD_SD2_VSELECT__USDHC2_VSELECT                    0x51e
 		>;
 	};
+
+	pinctrl_wdog: wdoggrp {
+		fsl,pins = <
+			MX91_PAD_WDOG_ANY__WDOG1_WDOG_ANY	0x31e
+		>;
+	};
 };
 
 &lpi2c1 {
@@ -419,6 +425,8 @@ &usdhc2 {
 };
 
 &wdog3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_wdog>;
 	fsl,ext-reset-output;
 	status = "okay";
 };

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/5] arm64: dts: imx91-11x11-evk: add pinctrl for wdog3 reset
  2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
  2026-05-19 11:15 ` [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node Joy Zou
  2026-05-19 11:15 ` [PATCH 2/5] arm64: dts: imx91-9x9-qsb: add pinctrl for wdog3 reset Joy Zou
@ 2026-05-19 11:15 ` Joy Zou
  2026-05-19 11:15 ` [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs Joy Zou
  2026-05-19 11:15 ` [PATCH 5/5] arm64: dts: imx91-9x9-qsb: " Joy Zou
  4 siblings, 0 replies; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

The wdog3 node enables fsl,ext-reset-output to assert an external
reset signal upon watchdog timeout, but lacks pinctrl configuration
for the physical pad.

Without proper pinctrl settings, which could cause the watchdog timeout
to fail to reset the board hardware.

Add pinctrl configuration to ensure the pin is properly muxed and
configured for external watchdog reset functionality.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
index de524f1921de808ee29895852fcbea37565a7e07..3fbdcb87a2f3acf44c15b98d7b6ee212fb62699f 100644
--- a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
@@ -586,6 +586,8 @@ &usdhc3 {
 };
 
 &wdog3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_wdog>;
 	fsl,ext-reset-output;
 	status = "okay";
 };
@@ -947,4 +949,10 @@ MX91_PAD_SD3_DATA2__GPIO3_IO24                           0x31e
 			MX91_PAD_SD3_DATA3__GPIO3_IO25                           0x31e
 		>;
 	};
+
+	pinctrl_wdog: wdoggrp {
+		fsl,pins = <
+			MX91_PAD_WDOG_ANY__WDOG1_WDOG_ANY	0x31e
+		>;
+	};
 };

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs
  2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
                   ` (2 preceding siblings ...)
  2026-05-19 11:15 ` [PATCH 3/5] arm64: dts: imx91-11x11-evk: " Joy Zou
@ 2026-05-19 11:15 ` Joy Zou
  2026-05-19 12:05   ` sashiko-bot
  2026-05-19 11:15 ` [PATCH 5/5] arm64: dts: imx91-9x9-qsb: " Joy Zou
  4 siblings, 1 reply; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

Both the PHYs of the EQOS interface and the FEC interface are supported
to be reset by I2C GPIO expander. So add the support to reset PHYs.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
index 3fbdcb87a2f3acf44c15b98d7b6ee212fb62699f..5716febb5a50f67b7b57a3cc856410857325c206 100644
--- a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
@@ -198,6 +198,9 @@ mdio {
 
 		ethphy1: ethernet-phy@1 {
 			reg = <1>;
+			reset-gpios = <&pcal6524 15 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <10000>;
+			reset-deassert-us = <80000>;
 			realtek,clkout-disable;
 		};
 	};
@@ -219,6 +222,9 @@ mdio {
 
 		ethphy2: ethernet-phy@2 {
 			reg = <2>;
+			reset-gpios = <&pcal6524 16 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <10000>;
+			reset-deassert-us = <80000>;
 			realtek,clkout-disable;
 		};
 	};

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/5] arm64: dts: imx91-9x9-qsb: add reset gpios for ethernet PHYs
  2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
                   ` (3 preceding siblings ...)
  2026-05-19 11:15 ` [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs Joy Zou
@ 2026-05-19 11:15 ` Joy Zou
  4 siblings, 0 replies; 8+ messages in thread
From: Joy Zou @ 2026-05-19 11:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Ye Li,
	Jacky Bai, Peng Fan
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Joy Zou

The PHYs of the EQOS interface is supported to be reset by I2C GPIO
expander. So add the support to reset PHYs.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index 62549a6de1b64496ffa5cf3f543145a00dbb10a8..ea8cf14e0bc6ac434eb1e1a6aad82d9007653eb6 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -83,6 +83,9 @@ mdio {
 		ethphy1: ethernet-phy@1 {
 			compatible = "ethernet-phy-ieee802.3-c22";
 			reg = <1>;
+			reset-gpios = <&pcal6524 15 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <10000>;
+			reset-deassert-us = <80000>;
 			realtek,clkout-disable;
 		};
 	};

-- 
2.37.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node
  2026-05-19 11:15 ` [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node Joy Zou
@ 2026-05-19 11:23   ` sashiko-bot
  0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-05-19 11:23 UTC (permalink / raw)
  To: Joy Zou; +Cc: Frank.Li, conor+dt, robh, devicetree, imx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Removing a valid hardware description property because the current Linux driver does not use it violates Device Tree design principles.
--

commit c26ce3df4b77107e385684e72957f14db0b4c96d
Author: Joy Zou <joy.zou@nxp.com>

arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node

This commit removes the clock-frequency property from the mdio node, stating
that it is not implemented and removing it cleans up the device tree.

> diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> --- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> +++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
> @@ -79,7 +79,6 @@ mdio {
>  		compatible = "snps,dwmac-mdio";
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clock-frequency = <5000000>;

Could removing this property introduce a regression in the hardware
description?

The device tree is meant to be an OS-agnostic hardware description. The
clock-frequency property is standard for this node and accurately describes
the hardware's intended MDIO bus speed of 5MHz.

Removing valid hardware properties due to temporary software limitations
strips away useful context that alternative operating systems, bootloaders
like U-Boot, or future Linux driver enhancements might rely on.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-b4-imx91-qsb-opt-v1-0-9b416d2dc224@nxp.com?part=1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs
  2026-05-19 11:15 ` [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs Joy Zou
@ 2026-05-19 12:05   ` sashiko-bot
  0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-05-19 12:05 UTC (permalink / raw)
  To: Joy Zou; +Cc: conor+dt, devicetree, Frank.Li, robh, imx

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing `compatible` string with PHY ID in ethernet-phy nodes causes silent probe failure when using reset-gpios.
--

commit 3c4c46607dcfd2582ce8a02581310d0901a9d667
Author: Joy Zou <joy.zou@nxp.com>

arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs

This commit adds reset GPIO properties for the ethernet PHYs using
an I2C GPIO expander. This allows the PHYs on both the EQOS and FEC
interfaces to be reset during initialization.

> diff --git a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
> --- a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
[ ... ]
> @@ -198,6 +198,9 @@ mdio {
>  
>  		ethphy1: ethernet-phy@1 {
>  			reg = <1>;
> +			reset-gpios = <&pcal6524 15 GPIO_ACTIVE_LOW>;

Will this cause a silent probe failure if the PHY is held in reset at boot?

Because there is no explicit compatible string with the PHY ID (for example,
compatible = "ethernet-phy-idXXXX.YYYY"), the MDIO core must auto-detect
the PHY by reading its ID registers over the MDIO bus.

If the PHY is currently held in reset, the MDIO read will fail and return
0xFFFF. This causes get_phy_device() to return -ENODEV before the device
is created.

Since the device instantiation is skipped, the reset-gpios are never requested
or deasserted, and the I2C expander probe deferral mechanism is bypassed,
leaving the ethernet interface permanently disabled.

Should these PHY nodes explicitly include the PHY ID in the compatible property
to bypass the hardware ID read, allowing the kernel to wait for the I2C
expander to be ready and properly deassert the reset?

> +			reset-assert-us = <10000>;
> +			reset-deassert-us = <80000>;
>  			realtek,clkout-disable;
>  		};
>  	};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-b4-imx91-qsb-opt-v1-0-9b416d2dc224@nxp.com?part=4

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-05-19 12:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-19 11:15 [PATCH 0/5] arm64: dts: imx91-11x11-evk/imx91-9x9-qsb: misc cleanups and improvements Joy Zou
2026-05-19 11:15 ` [PATCH 1/5] arm64: dts: imx91-9x9-qsb: remove unused property clock-frequency from mdio node Joy Zou
2026-05-19 11:23   ` sashiko-bot
2026-05-19 11:15 ` [PATCH 2/5] arm64: dts: imx91-9x9-qsb: add pinctrl for wdog3 reset Joy Zou
2026-05-19 11:15 ` [PATCH 3/5] arm64: dts: imx91-11x11-evk: " Joy Zou
2026-05-19 11:15 ` [PATCH 4/5] arm64: dts: imx91-11x11-evk: add reset gpios for ethernet PHYs Joy Zou
2026-05-19 12:05   ` sashiko-bot
2026-05-19 11:15 ` [PATCH 5/5] arm64: dts: imx91-9x9-qsb: " Joy Zou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox