[openwrt/openwrt] realtek: rtl93xx: remove pseudo-PHYs and phy-handle from SFP ports
LEDE Commits
lede-commits at lists.infradead.org
Sun Nov 2 07:32:16 PST 2025
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/623180a422763af988fc2e0817afb774ef1dc4a7
commit 623180a422763af988fc2e0817afb774ef1dc4a7
Author: Jonas Jelonek <jelonek.jonas at gmail.com>
AuthorDate: Sun Oct 26 14:02:11 2025 +0000
realtek: rtl93xx: remove pseudo-PHYs and phy-handle from SFP ports
RTL93XX reached the point where the SerDes' are no longer treated as
regular PHYs. Instead, they are managed by the dedicated PCS driver.
Thus, all device tree definitions should follow this change.
Remove the pseudo-PHYs for the SerDes (so far usually defined with macro
INTERNAL_PHY) and corresponding 'phy-handle's from all SFP ports. This
removes a long-lasting confusion from our Realtek driver(s).
Signed-off-by: Jonas Jelonek <jelonek.jonas at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20577
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts | 9 ---------
.../linux/realtek/dts/rtl9302_plasmacloud_psx10.dts | 7 -------
.../realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi | 5 -----
.../realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi | 3 ---
.../realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts | 19 -------------------
.../realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts | 19 -------------------
.../linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts | 19 -------------------
.../linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts | 19 -------------------
target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts | 9 ---------
.../linux/realtek/dts/rtl9312_plasmacloud_common.dtsi | 10 ----------
10 files changed, 119 deletions(-)
diff --git a/target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts b/target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts
index abb4aac78e..33752ab6e5 100644
--- a/target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts
+++ b/target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts
@@ -180,11 +180,6 @@
compatible = "ethernet-phy-ieee802.3-c22";
rtl9300,smi-address = <2 23>;
};
-
- INTERNAL_PHY(24)
- INTERNAL_PHY(25)
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
};
&switch0 {
@@ -222,7 +217,6 @@
reg = <24>;
label = "lan25";
pcs-handle = <&serdes4>;
- phy-handle = <&phy24>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp0>;
@@ -231,7 +225,6 @@
reg = <25>;
label = "lan26";
pcs-handle = <&serdes6>;
- phy-handle = <&phy25>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp1>;
@@ -240,7 +233,6 @@
reg = <26>;
label = "lan27";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp2>;
@@ -249,7 +241,6 @@
reg = <27>;
label = "lan28";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp3>;
diff --git a/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts b/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
index c5e13272bd..2273e92788 100644
--- a/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
+++ b/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
@@ -35,18 +35,12 @@
};
};
-&mdio_bus0 {
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
-};
-
&switch0 {
ports {
port at 26 {
reg = <26>;
label = "lan9";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
led-set = <0>;
@@ -60,7 +54,6 @@
reg = <27>;
label = "lan10";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
led-set = <0>;
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
index 44d81a23f5..9412d26976 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
@@ -190,9 +190,6 @@
compatible = "ethernet-phy-ieee802.3-c22";
rtl9300,smi-address = <0 7>;
};
-
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
};
&switch0 {
@@ -269,7 +266,6 @@
reg = <26>;
label = "lan11";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
led-set = <2>;
@@ -280,7 +276,6 @@
reg = <27>;
label = "lan12";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
led-set = <2>;
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi
index e78c723bbd..7fd1755551 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi
@@ -261,8 +261,6 @@
compatible = "ethernet-phy-ieee802.3-c22";
rtl9300,smi-address = <0 7>;
};
-
- INTERNAL_PHY(27)
};
&switch0 {
@@ -364,7 +362,6 @@
reg = <27>;
label = "lan12";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
led-set = <2>;
diff --git a/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts b/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
index acb811a977..f242303c79 100644
--- a/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
+++ b/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
@@ -232,17 +232,6 @@
};
};
-&mdio_bus0 {
- INTERNAL_PHY(0)
- INTERNAL_PHY(8)
- INTERNAL_PHY(16)
- INTERNAL_PHY(20)
- INTERNAL_PHY(24)
- INTERNAL_PHY(25)
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
-};
-
&switch0 {
ports {
#address-cells = <1>;
@@ -252,7 +241,6 @@
reg = <0>;
label = "lan1";
pcs-handle = <&serdes2>;
- phy-handle = <&phy0>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
managed = "in-band-status";
@@ -263,7 +251,6 @@
reg = <8>;
label = "lan2";
pcs-handle = <&serdes3>;
- phy-handle = <&phy8>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
managed = "in-band-status";
@@ -274,7 +261,6 @@
reg = <16>;
label = "lan3";
pcs-handle = <&serdes4>;
- phy-handle = <&phy16>;
phy-mode = "1000base-x";
sfp = <&sfp2>;
managed = "in-band-status";
@@ -285,7 +271,6 @@
reg = <20>;
label = "lan4";
pcs-handle = <&serdes5>;
- phy-handle = <&phy20>;
phy-mode = "1000base-x";
sfp = <&sfp3>;
managed = "in-band-status";
@@ -296,7 +281,6 @@
reg = <24>;
label = "lan5";
pcs-handle = <&serdes6>;
- phy-handle = <&phy24>;
phy-mode = "1000base-x";
sfp = <&sfp4>;
managed = "in-band-status";
@@ -307,7 +291,6 @@
reg = <25>;
label = "lan6";
pcs-handle = <&serdes7>;
- phy-handle = <&phy25>;
phy-mode = "1000base-x";
sfp = <&sfp5>;
managed = "in-band-status";
@@ -318,7 +301,6 @@
reg = <26>;
label = "lan7";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp6>;
managed = "in-band-status";
@@ -329,7 +311,6 @@
reg = <27>;
label = "lan8";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp7>;
managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts b/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
index ef864ff0b3..8ddfe3a9e7 100644
--- a/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
+++ b/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
@@ -221,17 +221,6 @@
};
};
-&mdio_bus0 {
- INTERNAL_PHY(0)
- INTERNAL_PHY(8)
- INTERNAL_PHY(16)
- INTERNAL_PHY(20)
- INTERNAL_PHY(24)
- INTERNAL_PHY(25)
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
-};
-
&switch0 {
ports {
#address-cells = <1>;
@@ -241,7 +230,6 @@
reg = <0>;
label = "lan1";
pcs-handle = <&serdes2>;
- phy-handle = <&phy0>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
managed = "in-band-status";
@@ -252,7 +240,6 @@
reg = <8>;
label = "lan2";
pcs-handle = <&serdes3>;
- phy-handle = <&phy8>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
managed = "in-band-status";
@@ -263,7 +250,6 @@
reg = <16>;
label = "lan3";
pcs-handle = <&serdes4>;
- phy-handle = <&phy16>;
phy-mode = "1000base-x";
sfp = <&sfp2>;
managed = "in-band-status";
@@ -274,7 +260,6 @@
reg = <20>;
label = "lan4";
pcs-handle = <&serdes5>;
- phy-handle = <&phy20>;
phy-mode = "1000base-x";
sfp = <&sfp3>;
managed = "in-band-status";
@@ -285,7 +270,6 @@
reg = <24>;
label = "lan5";
pcs-handle = <&serdes6>;
- phy-handle = <&phy24>;
phy-mode = "1000base-x";
sfp = <&sfp4>;
managed = "in-band-status";
@@ -296,7 +280,6 @@
reg = <25>;
label = "lan6";
pcs-handle = <&serdes7>;
- phy-handle = <&phy25>;
phy-mode = "1000base-x";
sfp = <&sfp5>;
managed = "in-band-status";
@@ -307,7 +290,6 @@
reg = <26>;
label = "lan7";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp6>;
managed = "in-band-status";
@@ -318,7 +300,6 @@
reg = <27>;
label = "lan8";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp7>;
managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
index cbee044126..88d5451849 100644
--- a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
+++ b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
@@ -243,17 +243,6 @@
};
};
-&mdio_bus0 {
- INTERNAL_PHY(0)
- INTERNAL_PHY(8)
- INTERNAL_PHY(16)
- INTERNAL_PHY(20)
- INTERNAL_PHY(24)
- INTERNAL_PHY(25)
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
-};
-
&switch0 {
ports {
#address-cells = <1>;
@@ -263,7 +252,6 @@
reg = <0>;
label = "lan1";
pcs-handle = <&serdes2>;
- phy-handle = <&phy0>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
managed = "in-band-status";
@@ -274,7 +262,6 @@
reg = <8>;
label = "lan2";
pcs-handle = <&serdes3>;
- phy-handle = <&phy8>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
managed = "in-band-status";
@@ -285,7 +272,6 @@
reg = <16>;
label = "lan3";
pcs-handle = <&serdes4>;
- phy-handle = <&phy16>;
phy-mode = "1000base-x";
sfp = <&sfp2>;
managed = "in-band-status";
@@ -296,7 +282,6 @@
reg = <20>;
label = "lan4";
pcs-handle = <&serdes5>;
- phy-handle = <&phy20>;
phy-mode = "1000base-x";
sfp = <&sfp3>;
managed = "in-band-status";
@@ -307,7 +292,6 @@
reg = <24>;
label = "lan5";
pcs-handle = <&serdes6>;
- phy-handle = <&phy24>;
phy-mode = "1000base-x";
sfp = <&sfp4>;
managed = "in-band-status";
@@ -318,7 +302,6 @@
reg = <25>;
label = "lan6";
pcs-handle = <&serdes7>;
- phy-handle = <&phy25>;
phy-mode = "1000base-x";
sfp = <&sfp5>;
managed = "in-band-status";
@@ -329,7 +312,6 @@
reg = <26>;
label = "lan7";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp6>;
managed = "in-band-status";
@@ -340,7 +322,6 @@
reg = <27>;
label = "lan8";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp7>;
managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts b/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
index fb2c866dcb..ee7148a35d 100644
--- a/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
+++ b/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
@@ -240,17 +240,6 @@
};
};
-&mdio_bus0 {
- INTERNAL_PHY(0)
- INTERNAL_PHY(8)
- INTERNAL_PHY(16)
- INTERNAL_PHY(20)
- INTERNAL_PHY(24)
- INTERNAL_PHY(25)
- INTERNAL_PHY(26)
- INTERNAL_PHY(27)
-};
-
&switch0 {
ports {
#address-cells = <1>;
@@ -260,7 +249,6 @@
reg = <0>;
label = "lan1";
pcs-handle = <&serdes2>;
- phy-handle = <&phy0>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
managed = "in-band-status";
@@ -271,7 +259,6 @@
reg = <8>;
label = "lan2";
pcs-handle = <&serdes3>;
- phy-handle = <&phy8>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
managed = "in-band-status";
@@ -282,7 +269,6 @@
reg = <16>;
label = "lan3";
pcs-handle = <&serdes4>;
- phy-handle = <&phy16>;
phy-mode = "1000base-x";
sfp = <&sfp2>;
managed = "in-band-status";
@@ -293,7 +279,6 @@
reg = <20>;
label = "lan4";
pcs-handle = <&serdes5>;
- phy-handle = <&phy20>;
phy-mode = "1000base-x";
sfp = <&sfp3>;
managed = "in-band-status";
@@ -304,7 +289,6 @@
reg = <24>;
label = "lan5";
pcs-handle = <&serdes6>;
- phy-handle = <&phy24>;
phy-mode = "1000base-x";
sfp = <&sfp4>;
managed = "in-band-status";
@@ -315,7 +299,6 @@
reg = <25>;
label = "lan6";
pcs-handle = <&serdes7>;
- phy-handle = <&phy25>;
phy-mode = "1000base-x";
sfp = <&sfp5>;
managed = "in-band-status";
@@ -326,7 +309,6 @@
reg = <26>;
label = "lan7";
pcs-handle = <&serdes8>;
- phy-handle = <&phy26>;
phy-mode = "1000base-x";
sfp = <&sfp6>;
managed = "in-band-status";
@@ -337,7 +319,6 @@
reg = <27>;
label = "lan8";
pcs-handle = <&serdes9>;
- phy-handle = <&phy27>;
phy-mode = "1000base-x";
sfp = <&sfp7>;
managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts b/target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts
index 7120ad6c07..9458a2a93f 100644
--- a/target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts
+++ b/target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts
@@ -314,11 +314,6 @@
compatible = "ethernet-phy-ieee802.3-c22";
rtl9300,smi-address = <1 23>;
};
-
- INTERNAL_PHY(48)
- INTERNAL_PHY(49)
- INTERNAL_PHY(50)
- INTERNAL_PHY(51)
};
&switch0 {
@@ -384,7 +379,6 @@
reg = <48>;
label = "lan49";
pcs-handle = <&serdes8>;
- phy-handle = <&phy48>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp0>;
@@ -393,7 +387,6 @@
reg = <49>;
label = "lan50";
pcs-handle = <&serdes9>;
- phy-handle = <&phy49>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp1>;
@@ -402,7 +395,6 @@
reg = <50>;
label = "lan51";
pcs-handle = <&serdes10>;
- phy-handle = <&phy50>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp2>;
@@ -411,7 +403,6 @@
reg = <51>;
label = "lan52";
pcs-handle = <&serdes11>;
- phy-handle = <&phy51>;
phy-mode = "1000base-x";
managed = "in-band-status";
sfp = <&sfp3>;
diff --git a/target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi b/target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi
index 332dd4379d..209bc1b571 100644
--- a/target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi
+++ b/target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi
@@ -383,12 +383,6 @@
compatible = "ethernet-phy-ieee802.3-c45";
rtl9300,smi-address = <1 23>;
};
-
- /* fiber */
- INTERNAL_PHY(48)
- INTERNAL_PHY(50)
- INTERNAL_PHY(52)
- INTERNAL_PHY(53)
};
&switch0 {
@@ -426,7 +420,6 @@
reg = <48>;
label = "lan25";
pcs-handle = <&serdes8>;
- phy-handle = <&phy48>;
phy-mode = "1000base-x";
sfp = <&sfp0>;
led-set = <1>;
@@ -440,7 +433,6 @@
reg = <50>;
label = "lan26";
pcs-handle = <&serdes9>;
- phy-handle = <&phy50>;
phy-mode = "1000base-x";
sfp = <&sfp1>;
led-set = <1>;
@@ -454,7 +446,6 @@
reg = <52>;
label = "lan27";
pcs-handle = <&serdes10>;
- phy-handle = <&phy52>;
phy-mode = "1000base-x";
sfp = <&sfp2>;
led-set = <1>;
@@ -468,7 +459,6 @@
reg = <53>;
label = "lan28";
pcs-handle = <&serdes11>;
- phy-handle = <&phy53>;
phy-mode = "1000base-x";
sfp = <&sfp3>;
led-set = <1>;
More information about the lede-commits
mailing list