diff options
| author | Markus Stockhausen | 2025-09-18 09:10:50 +0000 |
|---|---|---|
| committer | Robert Marko | 2025-09-20 10:51:23 +0000 |
| commit | 06c895f5d3a98669aa0f6ac3a06815474e57234d (patch) | |
| tree | e49249b32db81ce502a5e0a32cee0e81905221af | |
| parent | e31127497c7cc35ddc121eef8918736539dbf80f (diff) | |
| download | openwrt-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.dtsi | 19 |
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 ; \ }; |