[openwrt/openwrt] realtek: dts: add pcs-handle to switch ports

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 22 05:22:05 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/6b681fd285cbaaba1b0c05e15c43c49614cf39f5

commit 6b681fd285cbaaba1b0c05e15c43c49614cf39f5
Author: Markus Stockhausen <markus.stockhausen at gmx.de>
AuthorDate: Sat Sep 20 16:18:33 2025 -0400

    realtek: dts: add pcs-handle to switch ports
    
    For all switch ports where the assigned SerDes is known, add the new
    pcs-handle to the dts. Leave the existing <sds> assignments to the
    PHYs as is because the driver has not yet been updated.
    
    Signed-off-by: Markus Stockhausen <markus.stockhausen at gmx.de>
    Link: https://github.com/openwrt/openwrt/pull/20111
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../realtek/dts/rtl8380_d-link_dgs-1210-10mp-f.dts |  2 ++
 .../realtek/dts/rtl8380_engenius_ews2910p.dtsi     |  2 ++
 target/linux/realtek/dts/rtl8380_hpe_1920-8g.dtsi  |  2 ++
 .../linux/realtek/dts/rtl8380_linksys_lgs310c.dts  |  2 ++
 .../realtek/dts/rtl8380_netgear_gs110tup-v1.dts    |  1 +
 .../realtek/dts/rtl8380_netgear_gs310tp-v1.dts     |  1 +
 .../dts/rtl8380_panasonic_m8eg-pn28080k.dts        |  3 ++-
 .../linux/realtek/dts/rtl8380_tplink_sg2xxx.dtsi   |  1 +
 .../realtek/dts/rtl8380_zyxel_gs1900-10hp.dts      |  2 ++
 .../realtek/dts/rtl8382_d-link_dgs-1210-10p.dts    |  2 ++
 .../realtek/dts/rtl8382_d-link_dgs-1210-26.dts     |  2 ++
 .../realtek/dts/rtl8382_zyxel_gs1900-24-v1.dts     |  2 ++
 .../realtek/dts/rtl8382_zyxel_gs1900-24hp-v1.dts   |  2 ++
 .../realtek/dts/rtl8382_zyxel_gs1900-24hp-v2.dts   |  2 ++
 .../linux/realtek/dts/rtl8393_netgear_gs750e.dts   |  2 +-
 .../linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts  |  2 ++
 .../realtek/dts/rtl9302_plasmacloud_psx10.dts      |  6 ++++--
 .../realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts    |  6 ++++--
 .../dts/rtl9302_zyxel_xgs1210-12-common.dtsi       | 14 +++++++++++--
 .../linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts | 20 ++++++++++++++----
 .../realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts  | 24 ++++++++++++++--------
 .../realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts   | 24 ++++++++++++++--------
 .../realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts   |  8 ++++++++
 .../realtek/dts/rtl9303_xikestor_sks8300-8x.dts    |  8 ++++++++
 .../realtek/dts/rtl9303_xikestor_sks8310-8x.dts    |  8 ++++++++
 25 files changed, 120 insertions(+), 28 deletions(-)

diff --git a/target/linux/realtek/dts/rtl8380_d-link_dgs-1210-10mp-f.dts b/target/linux/realtek/dts/rtl8380_d-link_dgs-1210-10mp-f.dts
index f39e5d7bf8..011a779d3d 100644
--- a/target/linux/realtek/dts/rtl8380_d-link_dgs-1210-10mp-f.dts
+++ b/target/linux/realtek/dts/rtl8380_d-link_dgs-1210-10mp-f.dts
@@ -106,6 +106,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
@@ -115,6 +116,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl8380_engenius_ews2910p.dtsi b/target/linux/realtek/dts/rtl8380_engenius_ews2910p.dtsi
index cf13c4a535..3fde08bc22 100644
--- a/target/linux/realtek/dts/rtl8380_engenius_ews2910p.dtsi
+++ b/target/linux/realtek/dts/rtl8380_engenius_ews2910p.dtsi
@@ -202,11 +202,13 @@
 		SWITCH_PORT(14, 7, internal)
 		SWITCH_PORT(15, 8, internal)
 
+		/* TODO: fixed link SFP is not right */
 		SWITCH_SFP_PORT(24, 9, 1000base-x)
 
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			phy-handle = <&phy26>;
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl8380_hpe_1920-8g.dtsi b/target/linux/realtek/dts/rtl8380_hpe_1920-8g.dtsi
index 1047ccc0b4..b4eba6a3b7 100644
--- a/target/linux/realtek/dts/rtl8380_hpe_1920-8g.dtsi
+++ b/target/linux/realtek/dts/rtl8380_hpe_1920-8g.dtsi
@@ -88,6 +88,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
@@ -97,6 +98,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl8380_linksys_lgs310c.dts b/target/linux/realtek/dts/rtl8380_linksys_lgs310c.dts
index 89e6d968ac..1befa4fba0 100644
--- a/target/linux/realtek/dts/rtl8380_linksys_lgs310c.dts
+++ b/target/linux/realtek/dts/rtl8380_linksys_lgs310c.dts
@@ -178,6 +178,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
@@ -187,6 +188,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl8380_netgear_gs110tup-v1.dts b/target/linux/realtek/dts/rtl8380_netgear_gs110tup-v1.dts
index 5672ece596..f34e9f7d96 100644
--- a/target/linux/realtek/dts/rtl8380_netgear_gs110tup-v1.dts
+++ b/target/linux/realtek/dts/rtl8380_netgear_gs110tup-v1.dts
@@ -53,6 +53,7 @@
 &switch0 {
 	ports {
 		SWITCH_PORT(16, 9, qsgmii)
+		/* TODO: fixed link SFP is not right */
 		SWITCH_SFP_PORT(24, 10, rgmii-id)
 	};
 };
diff --git a/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts b/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts
index 72926434d2..5867646f7f 100644
--- a/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts
+++ b/target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts
@@ -56,6 +56,7 @@
 
 &switch0 {
 	ports {
+		/* TODO: fixed link SFP is not right */
 		SWITCH_SFP_PORT(24, 9, 1000base-x)
 		SWITCH_SFP_PORT(26, 10, 1000base-x)
 	};
diff --git a/target/linux/realtek/dts/rtl8380_panasonic_m8eg-pn28080k.dts b/target/linux/realtek/dts/rtl8380_panasonic_m8eg-pn28080k.dts
index 2d937650d1..92ca6a6187 100644
--- a/target/linux/realtek/dts/rtl8380_panasonic_m8eg-pn28080k.dts
+++ b/target/linux/realtek/dts/rtl8380_panasonic_m8eg-pn28080k.dts
@@ -104,8 +104,9 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy24>;
+			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
 		};
diff --git a/target/linux/realtek/dts/rtl8380_tplink_sg2xxx.dtsi b/target/linux/realtek/dts/rtl8380_tplink_sg2xxx.dtsi
index 8859a1e8c4..4e2ec15f95 100644
--- a/target/linux/realtek/dts/rtl8380_tplink_sg2xxx.dtsi
+++ b/target/linux/realtek/dts/rtl8380_tplink_sg2xxx.dtsi
@@ -171,6 +171,7 @@
 		SWITCH_PORT(9, 7, internal)
 		SWITCH_PORT(8, 8, internal)
 
+		/* TODO: fixed link SFP is not right */
 		SWITCH_SFP_PORT(24, 9, 1000base-x)
 		SWITCH_SFP_PORT(26, 10, 1000base-x)
 
diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts
index 466a620dec..5b13df6ae7 100644
--- a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts
+++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp.dts
@@ -62,6 +62,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
+			pcs-handle = <&serdes4>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
@@ -70,6 +71,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp1>;
diff --git a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts
index 7c0871c70d..29b523be24 100644
--- a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts
+++ b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-10p.dts
@@ -105,6 +105,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
@@ -114,6 +115,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan10";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-26.dts b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-26.dts
index d0905bba7a..4cfd60c3ee 100644
--- a/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-26.dts
+++ b/target/linux/realtek/dts/rtl8382_d-link_dgs-1210-26.dts
@@ -112,6 +112,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan25";
+			pcs-handle = <&serdes4>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
@@ -120,6 +121,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan26";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp1>;
diff --git a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24-v1.dts b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24-v1.dts
index 3b2bb9efaf..6f6ae25f88 100644
--- a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24-v1.dts
+++ b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24-v1.dts
@@ -109,6 +109,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan25";
+			pcs-handle = <&serdes4>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
@@ -117,6 +118,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan26";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp1>;
diff --git a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v1.dts b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v1.dts
index 45167905c7..76e619c5a1 100644
--- a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v1.dts
+++ b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v1.dts
@@ -109,6 +109,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan25";
+			pcs-handle = <&serdes4>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
@@ -117,6 +118,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan26";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp1>;
diff --git a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v2.dts b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v2.dts
index 2600bc8b5d..c8722f0b70 100644
--- a/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v2.dts
+++ b/target/linux/realtek/dts/rtl8382_zyxel_gs1900-24hp-v2.dts
@@ -106,6 +106,7 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan25";
+			pcs-handle = <&serdes4>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp0>;
@@ -114,6 +115,7 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan26";
+			pcs-handle = <&serdes5>;
 			phy-mode = "1000base-x";
 			managed = "in-band-status";
 			sfp = <&sfp1>;
diff --git a/target/linux/realtek/dts/rtl8393_netgear_gs750e.dts b/target/linux/realtek/dts/rtl8393_netgear_gs750e.dts
index 83d90856d6..cde143264d 100644
--- a/target/linux/realtek/dts/rtl8393_netgear_gs750e.dts
+++ b/target/linux/realtek/dts/rtl8393_netgear_gs750e.dts
@@ -230,7 +230,7 @@
 		SWITCH_PORT(46, 47, qsgmii)
 		SWITCH_PORT(47, 48, qsgmii)
 
-		/* SFP cages */
+		/* TODO: fixed link SFP is not right */
 		SWITCH_SFP_PORT(48, 49, sgmii)
 		SWITCH_SFP_PORT(49, 50, sgmii)
 
diff --git a/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
index c426c442ba..de53263fa4 100644
--- a/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
+++ b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
@@ -273,6 +273,7 @@
 		port at 48 {
 			reg = <48>;
 			label = "lan49";
+			pcs-handle = <&serdes12>;
 			phy-mode = "1000base-x";
 			phy-handle = <&phy48>;
 			managed = "in-band-status";
@@ -282,6 +283,7 @@
 		port at 49 {
 			reg = <49>;
 			label = "lan50";
+			pcs-handle = <&serdes13>;
 			phy-mode = "1000base-x";
 			phy-handle = <&phy49>;
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts b/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
index 345ea13a42..f7ecb069f3 100644
--- a/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
+++ b/target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
@@ -45,8 +45,9 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan9";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
 			led-set = <0>;
 			managed = "in-band-status";
@@ -58,8 +59,9 @@
 		port at 27 {
 			reg = <27>;
 			label = "lan10";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
 			led-set = <0>;
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts
index 0ace1e1f75..57c5b8a98a 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-a1.dts
@@ -33,15 +33,17 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
-			phy-mode = "2500base-x";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
+			phy-mode = "2500base-x";
 			led-set = <1>;
 		};
 		port at 25 {
 			reg = <25>;
 			label = "lan10";
-			phy-mode = "2500base-x";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
+			phy-mode = "2500base-x";
 			led-set = <1>;
 		};
 	};
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 405e9f103c..fceb3b23ad 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
@@ -204,6 +204,7 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -211,6 +212,7 @@
 		port at 1 {
 			reg = <1>;
 			label = "lan2";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy1>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -218,6 +220,7 @@
 		port at 2 {
 			reg = <2>;
 			label = "lan3";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy2>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -225,6 +228,7 @@
 		port at 3 {
 			reg = <3>;
 			label = "lan4";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy3>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -232,6 +236,7 @@
 		port at 4 {
 			reg = <4>;
 			label = "lan5";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy4>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -239,6 +244,7 @@
 		port at 5 {
 			reg = <5>;
 			label = "lan6";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy5>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -246,6 +252,7 @@
 		port at 6 {
 			reg = <6>;
 			label = "lan7";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy6>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -253,6 +260,7 @@
 		port at 7 {
 			reg = <7>;
 			label = "lan8";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy7>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -261,8 +269,9 @@
 		port at 26 {
 			reg = <26>;
 			label = "lan11";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
 			led-set = <2>;
 			managed = "in-band-status";
@@ -271,8 +280,9 @@
 		port at 27 {
 			reg = <27>;
 			label = "lan12";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
 			led-set = <2>;
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
index f4da333136..83ec485ce9 100644
--- a/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
+++ b/target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12.dts
@@ -308,6 +308,7 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -315,6 +316,7 @@
 		port at 1 {
 			reg = <1>;
 			label = "lan2";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy1>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -322,6 +324,7 @@
 		port at 2 {
 			reg = <2>;
 			label = "lan3";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy2>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -329,6 +332,7 @@
 		port at 3 {
 			reg = <3>;
 			label = "lan4";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy3>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -336,6 +340,7 @@
 		port at 4 {
 			reg = <4>;
 			label = "lan5";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy4>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -343,6 +348,7 @@
 		port at 5 {
 			reg = <5>;
 			label = "lan6";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy5>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -350,6 +356,7 @@
 		port at 6 {
 			reg = <6>;
 			label = "lan7";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy6>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -357,6 +364,7 @@
 		port at 7 {
 			reg = <7>;
 			label = "lan8";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy7>;
 			phy-mode = "usxgmii";
 			led-set = <0>;
@@ -365,30 +373,34 @@
 		port at 24 {
 			reg = <24>;
 			label = "lan9";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
+			phy-mode = "usxgmii";
 			led-set = <1>;
 		};
 		port at 25 {
 			reg = <25>;
 			label = "lan10";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
+			phy-mode = "usxgmii";
 			led-set = <1>;
 		};
 		port at 26 {
 			reg = <26>;
 			label = "lan11";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
+			phy-mode = "usxgmii";
 			led-set = <1>;
 		};
 
 		port at 27 {
 			reg = <27>;
 			label = "lan12";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
 			led-set = <2>;
 			managed = "in-band-status";
diff --git a/target/linux/realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts b/target/linux/realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts
index 7114fad5bd..ea0b45d150 100644
--- a/target/linux/realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts
+++ b/target/linux/realtek/dts/rtl9303_hasivo_s1100w-8xgt-se.dts
@@ -192,64 +192,72 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 8 {
 			reg = <8>;
 			label = "lan2";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes3>;
 			phy-handle = <&phy8>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 16 {
 			reg = <16>;
 			label = "lan3";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy16>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 20 {
 			reg = <20>;
 			label = "lan4";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy20>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 24 {
 			reg = <24>;
 			label = "lan5";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 25 {
 			reg = <25>;
 			label = "lan6";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 26 {
 			reg = <26>;
 			label = "lan7";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
 		port at 27 {
 			reg = <27>;
 			label = "lan8";
-			phy-mode = "usxgmii";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
+			phy-mode = "usxgmii";
 			led-set = <0>;
 		};
 
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 ca92ff7a68..3713b1322f 100644
--- a/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
+++ b/target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
@@ -251,8 +251,9 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -261,8 +262,9 @@
 		port at 8 {
 			reg = <8>;
 			label = "lan2";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes3>;
 			phy-handle = <&phy8>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -271,8 +273,9 @@
 		port at 10 {
 			reg = <16>;
 			label = "lan3";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy16>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp2>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -281,8 +284,9 @@
 		port at 14 {
 			reg = <20>;
 			label = "lan4";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy20>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp3>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -291,8 +295,9 @@
 		port at 18 {
 			reg = <24>;
 			label = "lan5";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp4>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -301,8 +306,9 @@
 		port at 19 {
 			reg = <25>;
 			label = "lan6";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp5>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -311,8 +317,9 @@
 		port at 1a {
 			reg = <26>;
 			label = "lan7";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp6>;
 			managed = "in-band-status";
 			led-set = <0>;
@@ -321,8 +328,9 @@
 		port at 1b {
 			reg = <27>;
 			label = "lan8";
-			phy-mode = "1000base-x";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
+			phy-mode = "1000base-x";
 			sfp = <&sfp7>;
 			managed = "in-band-status";
 			led-set = <0>;
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 fd87b5b598..5ef5793ec3 100644
--- a/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
+++ b/target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
@@ -240,6 +240,7 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
@@ -250,6 +251,7 @@
 		port at 8 {
 			reg = <8>;
 			label = "lan2";
+			pcs-handle = <&serdes3>;
 			phy-handle = <&phy8>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
@@ -260,6 +262,7 @@
 		port at 10 {
 			reg = <16>;
 			label = "lan3";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy16>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp2>;
@@ -270,6 +273,7 @@
 		port at 14 {
 			reg = <20>;
 			label = "lan4";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy20>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp3>;
@@ -280,6 +284,7 @@
 		port at 18 {
 			reg = <24>;
 			label = "lan5";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp4>;
@@ -290,6 +295,7 @@
 		port at 19 {
 			reg = <25>;
 			label = "lan6";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp5>;
@@ -300,6 +306,7 @@
 		port at 1a {
 			reg = <26>;
 			label = "lan7";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp6>;
@@ -310,6 +317,7 @@
 		port at 1b {
 			reg = <27>;
 			label = "lan8";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp7>;
diff --git a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
index f2a974ab88..00c616b11f 100644
--- a/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
+++ b/target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
@@ -262,6 +262,7 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
@@ -272,6 +273,7 @@
 		port at 8 {
 			reg = <8>;
 			label = "lan2";
+			pcs-handle = <&serdes3>;
 			phy-handle = <&phy8>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
@@ -282,6 +284,7 @@
 		port at 10 {
 			reg = <16>;
 			label = "lan3";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy16>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp2>;
@@ -292,6 +295,7 @@
 		port at 14 {
 			reg = <20>;
 			label = "lan4";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy20>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp3>;
@@ -302,6 +306,7 @@
 		port at 18 {
 			reg = <24>;
 			label = "lan5";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp4>;
@@ -312,6 +317,7 @@
 		port at 19 {
 			reg = <25>;
 			label = "lan6";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp5>;
@@ -322,6 +328,7 @@
 		port at 1a {
 			reg = <26>;
 			label = "lan7";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp6>;
@@ -332,6 +339,7 @@
 		port at 1b {
 			reg = <27>;
 			label = "lan8";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp7>;
diff --git a/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts b/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
index 55f1f82c70..933bce9760 100644
--- a/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
+++ b/target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
@@ -259,6 +259,7 @@
 		port at 0 {
 			reg = <0>;
 			label = "lan1";
+			pcs-handle = <&serdes2>;
 			phy-handle = <&phy0>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp0>;
@@ -269,6 +270,7 @@
 		port at 8 {
 			reg = <8>;
 			label = "lan2";
+			pcs-handle = <&serdes3>;
 			phy-handle = <&phy8>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp1>;
@@ -279,6 +281,7 @@
 		port at 10 {
 			reg = <16>;
 			label = "lan3";
+			pcs-handle = <&serdes4>;
 			phy-handle = <&phy16>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp2>;
@@ -289,6 +292,7 @@
 		port at 14 {
 			reg = <20>;
 			label = "lan4";
+			pcs-handle = <&serdes5>;
 			phy-handle = <&phy20>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp3>;
@@ -299,6 +303,7 @@
 		port at 18 {
 			reg = <24>;
 			label = "lan5";
+			pcs-handle = <&serdes6>;
 			phy-handle = <&phy24>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp4>;
@@ -309,6 +314,7 @@
 		port at 19 {
 			reg = <25>;
 			label = "lan6";
+			pcs-handle = <&serdes7>;
 			phy-handle = <&phy25>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp5>;
@@ -319,6 +325,7 @@
 		port at 1a {
 			reg = <26>;
 			label = "lan7";
+			pcs-handle = <&serdes8>;
 			phy-handle = <&phy26>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp6>;
@@ -329,6 +336,7 @@
 		port at 1b {
 			reg = <27>;
 			label = "lan8";
+			pcs-handle = <&serdes9>;
 			phy-handle = <&phy27>;
 			phy-mode = "1000base-x";
 			sfp = <&sfp7>;




More information about the lede-commits mailing list