]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: create central DTS macro include 19772/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Thu, 14 Aug 2025 05:40:06 +0000 (01:40 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 17 Aug 2025 15:19:09 +0000 (17:19 +0200)
The Realtek DTS's use several macros for convenient phy/port definition.
These are repeated for the RTL83xx targets and most are missing for the
RTL93xx targets. In the near future we want to add high port count
switches with 1GBit Ethernet for them too. As a preparation provide a
central include so the definition is only needed once and is available
for all targets.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19772
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/realtek/dts/macros.dtsi [new file with mode: 0644]
target/linux/realtek/dts/rtl838x.dtsi
target/linux/realtek/dts/rtl839x.dtsi
target/linux/realtek/dts/rtl930x.dtsi
target/linux/realtek/dts/rtl931x.dtsi

diff --git a/target/linux/realtek/dts/macros.dtsi b/target/linux/realtek/dts/macros.dtsi
new file mode 100644 (file)
index 0000000..66925fb
--- /dev/null
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#define STRINGIZE(s) #s
+#define LAN_LABEL(p, s) STRINGIZE(p ## s)
+#define SWITCH_PORT_LABEL(n) LAN_LABEL(lan, n)
+
+#define INTERNAL_PHY(n) \
+       phy##n: ethernet-phy@##n { \
+               reg = <##n>; \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+               phy-is-integrated; \
+       };
+
+#define INTERNAL_PHY_SDS(n, s) \
+       phy##n: ethernet-phy@##n { \
+               reg = <##n>; \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+               phy-is-integrated; \
+               sds = <##s>; \
+       };
+
+#define EXTERNAL_PHY(n) \
+       phy##n: ethernet-phy@##n { \
+               reg = <##n>; \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+       };
+
+#define EXTERNAL_SFP_PHY(n) \
+       phy##n: ethernet-phy@##n { \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+               sfp; \
+               media = "fibre"; \
+               reg = <##n>; \
+       };
+
+#define EXTERNAL_SFP_PHY_FULL(n, s) \
+       phy##n: ethernet-phy@##n { \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+               sfp = <&sfp##s>; \
+               reg = <##n>; \
+       };
+
+#define SWITCH_PORT(n, s, m) \
+       port##n: port@##n { \
+               reg = <##n>; \
+               label = SWITCH_PORT_LABEL(s) ; \
+               phy-handle = <&phy##n>; \
+               phy-mode = #m ; \
+       };
+
+#define SWITCH_SFP_PORT(n, s, m) \
+       port##n: port@##n { \
+               reg = <##n>; \
+               label = SWITCH_PORT_LABEL(s) ; \
+               phy-handle = <&phy##n>; \
+               phy-mode = #m ; \
+               fixed-link { \
+                       speed = <1000>; \
+                       full-duplex; \
+               }; \
+       };
index 035ff029c9a8863fa12ff95980227953bea10663..2b9938899b7eb622170b954a65b31cce5910132e 100644 (file)
@@ -1,70 +1,11 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include "macros.dtsi"
 #include <dt-bindings/clock/rtl83xx-clk.h>
 #include <dt-bindings/gpio/gpio.h>
 
 /dts-v1/;
 
-#define STRINGIZE(s) #s
-#define LAN_LABEL(p, s) STRINGIZE(p ## s)
-#define SWITCH_PORT_LABEL(n) LAN_LABEL(lan, n)
-
-#define INTERNAL_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-       };
-
-#define INTERNAL_PHY_SDS(n, s) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-               sds = <##s>; \
-       };
-
-#define EXTERNAL_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-       };
-
-#define EXTERNAL_SFP_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               sfp; \
-               media = "fibre"; \
-               reg = <##n>; \
-       };
-
-#define EXTERNAL_SFP_PHY_FULL(n, s) \
-       phy##n: ethernet-phy@##n { \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               sfp = <&sfp##s>; \
-               reg = <##n>; \
-       };
-
-#define SWITCH_PORT(n, s, m) \
-       port##n: port@##n { \
-               reg = <##n>; \
-               label = SWITCH_PORT_LABEL(s) ; \
-               phy-handle = <&phy##n>; \
-               phy-mode = #m ; \
-       };
-
-#define SWITCH_SFP_PORT(n, s, m) \
-       port##n: port@##n { \
-               reg = <##n>; \
-               label = SWITCH_PORT_LABEL(s) ; \
-               phy-handle = <&phy##n>; \
-               phy-mode = #m ; \
-               fixed-link { \
-                       speed = <1000>; \
-                       full-duplex; \
-               }; \
-       };
-
 / {
        #address-cells = <1>;
        #size-cells = <1>;
index 29458269faf190687a53f9c2156f890305dce88c..24b178c72388f904b24704114b26da6328e6cb46 100644 (file)
@@ -1,69 +1,10 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include "macros.dtsi"
 #include <dt-bindings/clock/rtl83xx-clk.h>
 
 /dts-v1/;
 
-#define STRINGIZE(s) #s
-#define LAN_LABEL(p, s) STRINGIZE(p ## s)
-#define SWITCH_PORT_LABEL(n) LAN_LABEL(lan, n)
-
-#define INTERNAL_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-       };
-
-#define INTERNAL_PHY_SDS(n, s) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-               sds = <##s>; \
-       };
-
-#define EXTERNAL_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-       };
-
-#define EXTERNAL_SFP_PHY(n) \
-       phy##n: ethernet-phy@##n { \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               sfp; \
-               media = "fibre"; \
-               reg = <##n>; \
-       };
-
-#define EXTERNAL_SFP_PHY_FULL(n, s) \
-       phy##n: ethernet-phy@##n { \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               sfp = <&sfp##s>; \
-               reg = <##n>; \
-       };
-
-#define SWITCH_PORT(n, s, m) \
-       port@##n { \
-               reg = <##n>; \
-               label = SWITCH_PORT_LABEL(s) ; \
-               phy-handle = <&phy##n>; \
-               phy-mode = #m ; \
-       };
-
-#define SWITCH_SFP_PORT(n, s, m) \
-       port@##n { \
-               reg = <##n>; \
-               label = SWITCH_PORT_LABEL(s) ; \
-               phy-handle = <&phy##n>; \
-               phy-mode = #m ; \
-               fixed-link { \
-                       speed = <1000>; \
-                       full-duplex; \
-               }; \
-       };
-
 / {
        #address-cells = <1>;
        #size-cells = <1>;
index 5423f996e204725504e3f3d27c3ccbc220361d05..02d8c47e7c4ec5d14781723e525a33e6c37ecea8 100644 (file)
@@ -1,14 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-/dts-v1/;
+#include "macros.dtsi"
 
-#define INTERNAL_PHY_SDS(n, s) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-               sds = <##s>; \
-       };
+/dts-v1/;
 
 / {
        #address-cells = <1>;
index ef45258cb56cd464ffe9f7925708b698561b338f..ff3d5c8f29b1b15005316b9cc4bbea6bd027d141 100644 (file)
@@ -1,17 +1,10 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include "macros.dtsi"
 #include <dt-bindings/interrupt-controller/mips-gic.h>
 
 /dts-v1/;
 
-#define INTERNAL_PHY_SDS(n, s) \
-       phy##n: ethernet-phy@##n { \
-               reg = <##n>; \
-               compatible = "ethernet-phy-ieee802.3-c22"; \
-               phy-is-integrated; \
-               sds = <##s>; \
-       };
-
 / {
        #address-cells = <1>;
        #size-cells = <1>;