summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Stockhausen2025-09-18 09:10:50 +0000
committerRobert Marko2025-09-20 10:51:23 +0000
commit06c895f5d3a98669aa0f6ac3a06815474e57234d (patch)
treee49249b32db81ce502a5e0a32cee0e81905221af
parente31127497c7cc35ddc121eef8918736539dbf80f (diff)
downloadopenwrt-06c895f5d3a98669aa0f6ac3a06815474e57234d.tar.gz
realtek: DTS: add macro for switch port with SerDes
In the future the PCS & DSA drivers will lookup the SerDes of a switch port via pcs-handle (like upstream does). Provide a macro that allows to expand the existing port definitions. To link a SerDes to port simply do Either in short form: replace SWITCH_PORT(0, 1, qsgmii) with SWITCH_PORT_SDS(0, 1, 3, qsgmii) (Link to SerDes 3) Or in long form: port@24 { reg = <24>; label = "lan25"; pcs-handle = <&serdes4>; (Link to SerDes 4) phy-handle = <&phy24>; phy-mode = "1000base-x"; managed = "in-band-status"; sfp = <&sfp0>; }; Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/20075 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/realtek/dts/macros.dtsi19
1 files changed, 14 insertions, 5 deletions
diff --git a/target/linux/realtek/dts/macros.dtsi b/target/linux/realtek/dts/macros.dtsi
index b47b782669..fbdd3fbb1c 100644
--- a/target/linux/realtek/dts/macros.dtsi
+++ b/target/linux/realtek/dts/macros.dtsi
@@ -42,11 +42,20 @@
reg = <##n>; \
};
-#define SWITCH_PORT(n, s, m) \
- port##n: port@##n { \
- reg = <##n>; \
- label = SWITCH_PORT_LABEL(s) ; \
- phy-handle = <&phy##n>; \
+#define SWITCH_PORT(p, l, m) \
+ port##p: port@##p { \
+ reg = <##p>; \
+ label = SWITCH_PORT_LABEL(l) ; \
+ phy-handle = <&phy##p>; \
+ phy-mode = #m ; \
+ };
+
+#define SWITCH_PORT_SDS(p, l, s, m) \
+ port##p: port@##p { \
+ reg = <##p>; \
+ label = SWITCH_PORT_LABEL(l) ; \
+ pcs-handle = <&serdes##s>; \
+ phy-handle = <&phy##p>; \
phy-mode = #m ; \
};