* [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-osm-dev: Remove ETH_A PHY interrupt
2026-10-16 18:40 [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board ETH_A PHY interrupt Francesco Dolcini
@ 2026-10-16 18:40 ` Francesco Dolcini
2026-10-16 18:40 ` [PATCH v2 2/2] arm64: dts: freescale: imx93-imx91-toradex-osm-dev: " Francesco Dolcini
2026-10-22 20:50 ` [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board " Frank.Li
2 siblings, 0 replies; 4+ messages in thread
From: Francesco Dolcini @ 2026-10-16 18:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: Francesco Dolcini, devicetree, imx, linux-arm-kernel, linux-kernel
From: Francesco Dolcini <francesco.dolcini@toradex.com>
GPIO_A7 is a boot strap on the OSM iMX95 module. The pull-up on the OSM
Development Board Ethernet PHY interrupt line causes the module to enter
USB loader mode instead of booting normally when the reset button is
held for more than 0.5 seconds.
On the OSM Development Board the PHY interrupt line reaches GPIO_A7
through a jumper. Boards are shipped with this jumper removed to avoid
the strap conflict, with no change to the board revision, and GPIO_A7
is available in the jumper area for general-purpose use. A future board
revision might drop the PHY interrupt connection from the schematics
altogether.
Switch the PHY to polling and move the GPIO_A7 pinctrl configuration to
the GPIO controller. Polling works regardless of whether the jumper is
fitted, so this is transparent across existing and future board
revisions.
Fixes: 39be5a7e3ecc ("arm64: dts: freescale: Add Toradex OSM iMX95")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
v2: explain the jumper and board revision situation in the commit message
---
arch/arm64/boot/dts/freescale/imx95-toradex-osm-dev.dts | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-toradex-osm-dev.dts b/arch/arm64/boot/dts/freescale/imx95-toradex-osm-dev.dts
index b3d54be07c43..8f56c2bafb66 100644
--- a/arch/arm64/boot/dts/freescale/imx95-toradex-osm-dev.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-toradex-osm-dev.dts
@@ -115,6 +115,11 @@ &flexcan3 {
status = "okay";
};
+&gpio1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_a7>;
+};
+
&gpio5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_a1>, <&pinctrl_gpio_a2>, <&pinctrl_gpio_a3>,
@@ -317,10 +322,6 @@ &netc_emdio {
ethphy_a: ethernet-phy@2 {
reg = <2>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpio_a7>;
- interrupt-parent = <&gpio1>;
- interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
};
--
2.47.3
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v2 2/2] arm64: dts: freescale: imx93-imx91-toradex-osm-dev: Remove ETH_A PHY interrupt
2026-10-16 18:40 [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board ETH_A PHY interrupt Francesco Dolcini
2026-10-16 18:40 ` [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-osm-dev: Remove " Francesco Dolcini
@ 2026-10-16 18:40 ` Francesco Dolcini
2026-10-22 20:50 ` [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board " Frank.Li
2 siblings, 0 replies; 4+ messages in thread
From: Francesco Dolcini @ 2026-10-16 18:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Cc: Francesco Dolcini, devicetree, imx, linux-arm-kernel, linux-kernel
From: Francesco Dolcini <francesco.dolcini@toradex.com>
The OSM Development Board is shared across OSM modules. GPIO_A7 is a
boot strap on the OSM iMX95 module, and the pull-up on the carrier board
Ethernet PHY interrupt line connected to it breaks the reset sequence.
On the OSM Development Board the PHY interrupt line reaches GPIO_A7
through a jumper. Boards are shipped with this jumper removed to avoid
the strap conflict, with no change to the board revision, and GPIO_A7
is available in the jumper area for general-purpose use. A future board
revision might drop the PHY interrupt connection from the schematics
altogether.
Update the OSM iMX93 and iMX91 Device Trees accordingly. Switch the PHY
to polling and move the GPIO_A7 pinctrl configuration to the GPIO
controller. Polling works regardless of whether the jumper is fitted, so
this is transparent across existing and future board revisions.
Fixes: e8a8c86875f4 ("arm64: dts: freescale: Add Toradex OSM iMX93")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
v2: explain the jumper and board revision situation in the commit message
---
.../dts/freescale/imx93-imx91-toradex-osm-dev-common.dtsi | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx93-imx91-toradex-osm-dev-common.dtsi b/arch/arm64/boot/dts/freescale/imx93-imx91-toradex-osm-dev-common.dtsi
index 566671b32308..24b4bf579835 100644
--- a/arch/arm64/boot/dts/freescale/imx93-imx91-toradex-osm-dev-common.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93-imx91-toradex-osm-dev-common.dtsi
@@ -93,7 +93,7 @@ &gpio2 {
&gpio4 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpio_a6>;
+ pinctrl-0 = <&pinctrl_gpio_a6>, <&pinctrl_gpio_a7>;
};
/* OSM I2C_B */
@@ -262,10 +262,6 @@ &mdio {
ethphy_a: ethernet-phy@2 {
reg = <2>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpio_a7>;
- interrupt-parent = <&gpio4>;
- interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
};
--
2.47.3
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board ETH_A PHY interrupt
2026-10-16 18:40 [PATCH v2 0/2] arm64: dts: freescale: Remove Toradex OSM Development Board ETH_A PHY interrupt Francesco Dolcini
2026-10-16 18:40 ` [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-osm-dev: Remove " Francesco Dolcini
2026-10-16 18:40 ` [PATCH v2 2/2] arm64: dts: freescale: imx93-imx91-toradex-osm-dev: " Francesco Dolcini
@ 2026-10-22 20:50 ` Frank.Li
2 siblings, 0 replies; 4+ messages in thread
From: Frank.Li @ 2026-10-22 20:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Francesco Dolcini
Cc: Frank Li, Francesco Dolcini, devicetree, imx, linux-arm-kernel,
linux-kernel
From: Frank Li <Frank.Li@nxp.com>
On Fri, 16 Oct 2026 20:40:17 +0200, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
>
> GPIO_A7 is a boot strap on the OSM iMX95 module. The pull-up on the OSM
> Development Board Ethernet PHY interrupt line causes the module to enter USB
> loader mode instead of booting normally when the reset button is held for more
> than 0.5 seconds.
>
> [...]
Applied to imx/dt64-intend (will appear to linux-next after v7.4-rc1),
thanks!
[1/2] arm64: dts: freescale: imx95-toradex-osm-dev: Remove ETH_A PHY interrupt
commit: ebdae4a40a2a7d70add4152d2ae7bc7ebc28afc7
[2/2] arm64: dts: freescale: imx93-imx91-toradex-osm-dev: Remove ETH_A PHY interrupt
commit: 0eeecd1d1065719df7862eee7ab46498312cbf63
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 4+ messages in thread