* [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-smarc: Add ENETC port 2 in SGMII mode
2026-09-07 6:47 [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Franz Schnyder
@ 2026-09-07 6:47 ` Franz Schnyder
2026-09-07 6:47 ` [PATCH v2 2/2] arm64: dts: freescale: imx95-aquila: " Franz Schnyder
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Franz Schnyder @ 2026-09-07 6:47 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, Franz Schnyder
From: Franz Schnyder <franz.schnyder@toradex.com>
The SMARC ETH2 uses the ENETC port 2 as a SGMII Ethernet interface.
Enable the required support.
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
---
v2: no changes
v1: https://lore.kernel.org/all/20260903-add-enetc-port2-v1-1-2a21139d7a7c@toradex.com/
---
arch/arm64/boot/dts/freescale/imx95-toradex-smarc-dev.dts | 8 ++++++++
arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi | 7 +++++++
2 files changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-dev.dts b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-dev.dts
index 7437e523ff639..ffe537ccd5bd5 100644
--- a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-dev.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc-dev.dts
@@ -64,6 +64,14 @@ &enetc_port1 {
status = "okay";
};
+/* SMARC SERDES_0 - ETH2 */
+&enetc_port2 {
+ phy-handle = <ðphy3>;
+ phy-mode = "sgmii";
+ managed = "in-band-status";
+ status = "okay";
+};
+
/* SMARC CAN0 */
&flexcan1 {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi
index a6c5398a81e3c..27ac9731733ce 100644
--- a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi
@@ -15,6 +15,7 @@ aliases {
can1 = &flexcan2;
ethernet0 = &enetc_port0;
ethernet1 = &enetc_port1;
+ ethernet2 = &enetc_port2;
mmc0 = &usdhc1;
mmc1 = &usdhc2;
mmc2 = &usdhc3;
@@ -221,6 +222,12 @@ &enetc_port1 {
phy-mode = "rgmii-id";
};
+/* SMARC SERDES_0 */
+&enetc_port2 {
+ clocks = <&clk_serdes_eth_ref>;
+ clock-names = "ref";
+};
+
/* SMARC CAN0 */
&flexcan1 {
pinctrl-names = "default";
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2 2/2] arm64: dts: freescale: imx95-aquila: Add ENETC port 2 in SGMII mode
2026-09-07 6:47 [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Franz Schnyder
2026-09-07 6:47 ` [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-smarc: Add ENETC port 2 in SGMII mode Franz Schnyder
@ 2026-09-07 6:47 ` Franz Schnyder
2026-09-07 9:46 ` [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Francesco Dolcini
2026-09-14 19:09 ` Frank.Li
3 siblings, 0 replies; 5+ messages in thread
From: Franz Schnyder @ 2026-09-07 6:47 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, Franz Schnyder
From: Franz Schnyder <franz.schnyder@toradex.com>
The Aquila ETH_2 uses the ENETC port 2 as a SGMII Ethernet interface
on the Development and Clover carrier board.
Enable the required support.
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
---
v2: fix node order
v1: https://lore.kernel.org/all/20260903-add-enetc-port2-v1-2-2a21139d7a7c@toradex.com/
---
arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts | 18 ++++++++++++++++++
arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts | 18 ++++++++++++++++++
arch/arm64/boot/dts/freescale/imx95-aquila.dtsi | 7 +++++++
3 files changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts b/arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts
index fd93043314466..365bce73eddd3 100644
--- a/arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-aquila-clover.dts
@@ -67,6 +67,15 @@ &enetc_port0 {
status = "okay";
};
+/* Aquila ETH_2_XGMII */
+&enetc_port2 {
+ phy-handle = <ðphy2>;
+ phy-mode = "sgmii";
+ managed = "in-band-status";
+
+ status = "okay";
+};
+
/* Aquila CAN_1 */
&flexcan1 {
status = "okay";
@@ -227,6 +236,15 @@ &lpuart7 {
status = "okay";
};
+/* Aquila ETH_2_XGMII_MDIO, shared between all ethernet ports */
+&netc_emdio {
+ ethphy2: ethernet-phy@4 {
+ reg = <4>;
+ interrupt-parent = <&som_gpio_expander_1>;
+ interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
/* Aquila PCIE_1 */
&pcie0 {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts b/arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts
index 3df17700b632f..7698ef44095cf 100644
--- a/arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-aquila-dev.dts
@@ -104,6 +104,15 @@ &enetc_port0 {
status = "okay";
};
+/* Aquila ETH_2_XGMII */
+&enetc_port2 {
+ phy-handle = <ðphy2>;
+ phy-mode = "sgmii";
+ managed = "in-band-status";
+
+ status = "okay";
+};
+
/* Aquila CAN_1 */
&flexcan1 {
status = "okay";
@@ -326,6 +335,15 @@ &lpuart7 {
status = "okay";
};
+/* Aquila ETH_2_XGMII_MDIO, shared between all ethernet ports */
+&netc_emdio {
+ ethphy2: ethernet-phy@4 {
+ reg = <4>;
+ interrupt-parent = <&som_gpio_expander_1>;
+ interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
/* Aquila PCIE_1 */
&pcie0 {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/imx95-aquila.dtsi b/arch/arm64/boot/dts/freescale/imx95-aquila.dtsi
index 69dc962a24a1d..f930965cb341f 100644
--- a/arch/arm64/boot/dts/freescale/imx95-aquila.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95-aquila.dtsi
@@ -16,6 +16,7 @@ aliases {
can3 = &flexcan4;
eeprom0 = &som_eeprom;
ethernet0 = &enetc_port0;
+ ethernet1 = &enetc_port2;
i2c0 = &lpi2c3;
i2c1 = &lpi2c2;
i2c2 = &i3c2;
@@ -209,6 +210,12 @@ &enetc_port0 {
phy-mode = "rgmii-id";
};
+/* Aquila ETH_2_XGMII */
+&enetc_port2 {
+ clocks = <&clk_serdes_eth_ref>;
+ clock-names = "ref";
+};
+
/* Aquila CAN_1 */
&flexcan1 {
pinctrl-names = "default";
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards
2026-09-07 6:47 [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Franz Schnyder
2026-09-07 6:47 ` [PATCH v2 1/2] arm64: dts: freescale: imx95-toradex-smarc: Add ENETC port 2 in SGMII mode Franz Schnyder
2026-09-07 6:47 ` [PATCH v2 2/2] arm64: dts: freescale: imx95-aquila: " Franz Schnyder
@ 2026-09-07 9:46 ` Francesco Dolcini
2026-09-14 19:09 ` Frank.Li
3 siblings, 0 replies; 5+ messages in thread
From: Francesco Dolcini @ 2026-09-07 9:46 UTC (permalink / raw)
To: Franz Schnyder
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Francesco Dolcini, devicetree, imx, linux-arm-kernel,
linux-kernel, Franz Schnyder
On Mon, Sep 07, 2026 at 08:47:19AM +0200, Franz Schnyder wrote:
> Add the ENETC port 2 on Toradex SMARC and Aquila iMX95. The port
> is connected as an SGMII Ethernet interface.
>
> Enable the reference clock on the modules and enable the PHY connections
> on the supported carrier boards.
>
> Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards
2026-09-07 6:47 [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Franz Schnyder
` (2 preceding siblings ...)
2026-09-07 9:46 ` [PATCH v2 0/2] arm64: dts: freescale: imx95: Add ENETC port 2 in SGMII mode on Toradex boards Francesco Dolcini
@ 2026-09-14 19:09 ` Frank.Li
3 siblings, 0 replies; 5+ messages in thread
From: Frank.Li @ 2026-09-14 19:09 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Franz Schnyder
Cc: Frank Li, Francesco Dolcini, devicetree, imx, linux-arm-kernel,
linux-kernel, Franz Schnyder
From: Frank Li <Frank.Li@nxp.com>
On Mon, 07 Sep 2026 08:47:19 +0200, Franz Schnyder wrote:
> Add the ENETC port 2 on Toradex SMARC and Aquila iMX95. The port
> is connected as an SGMII Ethernet interface.
>
> Enable the reference clock on the modules and enable the PHY connections
> on the supported carrier boards.
>
>
> [...]
Applied, thanks!
[1/2] arm64: dts: freescale: imx95-toradex-smarc: Add ENETC port 2 in SGMII mode
commit: af77a47c0cd2be48b0a76eae1c84a833ebbcef2d
[2/2] arm64: dts: freescale: imx95-aquila: Add ENETC port 2 in SGMII mode
commit: 8476e5d51e47926983f6c4b774024746a57dad87
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 5+ messages in thread