From 623180a422763af988fc2e0817afb774ef1dc4a7 Mon Sep 17 00:00:00 2001 From: Jonas Jelonek Date: Sun, 26 Oct 2025 14:02:11 +0000 Subject: [PATCH] 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 Link: https://github.com/openwrt/openwrt/pull/20577 Signed-off-by: Robert Marko --- .../realtek/dts/rtl9301_linksys_lgs328c.dts | 9 --------- .../realtek/dts/rtl9302_plasmacloud_psx10.dts | 7 ------- .../dts/rtl9302_zyxel_xgs1210-12-common.dtsi | 5 ----- .../dts/rtl9302_zyxel_xgs1250-12-common.dtsi | 3 --- .../dts/rtl9303_tplink_tl-st1008f-v2.dts | 19 ------------------- .../dts/rtl9303_vimin_vm-s100-0800ms.dts | 19 ------------------- .../dts/rtl9303_xikestor_sks8300-8x.dts | 19 ------------------- .../dts/rtl9303_xikestor_sks8310-8x.dts | 19 ------------------- .../realtek/dts/rtl9311_linksys_lgs352c.dts | 9 --------- .../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@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>; -- 2.30.2