]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: use realtek-pse-mcu kernel driver for PoE on XMG1915-10EP
authorJonas Jelonek <jelonek.jonas@gmail.com>
Sun, 3 May 2026 22:13:44 +0000 (22:13 +0000)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Tue, 14 Jul 2026 21:45:30 +0000 (23:45 +0200)
Instead of relying on the userspace implementation, make this device the
first user of the new realtek-pse kernel driver (kmod-pse-realtek-mcu-uart)
based on the PSE-PD framework to interface PoE functionality of that
switch. Control of PoE functionality happens via ethtool / netifd now.
Drop selecting realtek-poe for this device.

This doesn't include any support for PoE-related LEDs.

Link: https://github.com/openwrt/openwrt/pull/23222
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
target/linux/realtek/dts/rtl9302_zyxel_xmg1915-10ep.dts
target/linux/realtek/image/rtl930x.mk

index 6f1aac9bc7ec88dd0731615aa102d371a9a9964e..08049f0405de97659615070a6556e8324e72d297 100644 (file)
 
 &uart1 {
        status = "okay";
+
+       pse: ethernet-pse {
+               compatible = "zyxel,xmg1915-10ep-pse", "realtek,pse-mcu-gen2";
+               current-speed = <115200>;
+
+               enable-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
+
+               pse-pis {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       pse_pi0: pse-pi@0 {
+                               reg = <0>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi1: pse-pi@1 {
+                               reg = <1>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi2: pse-pi@2 {
+                               reg = <2>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi3: pse-pi@3 {
+                               reg = <3>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi4: pse-pi@4 {
+                               reg = <4>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi5: pse-pi@5 {
+                               reg = <5>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi6: pse-pi@6 {
+                               reg = <6>;
+                               #pse-cells = <0>;
+                       };
+                       pse_pi7: pse-pi@7 {
+                               reg = <7>;
+                               #pse-cells = <0>;
+                       };
+               };
+       };
 };
+
+&phy0 { pses = <&pse_pi0>; };
+&phy1 { pses = <&pse_pi1>; };
+&phy2 { pses = <&pse_pi2>; };
+&phy3 { pses = <&pse_pi3>; };
+&phy8 { pses = <&pse_pi4>; };
+&phy9 { pses = <&pse_pi5>; };
+&phy10 { pses = <&pse_pi6>; };
+&phy11 { pses = <&pse_pi7>; };
index 53f3d32d693fa70fc523a4cf1b6f6ad355726b2b..434e197edd7a9b2833cdcd5907e3b8837c65023a 100644 (file)
@@ -361,6 +361,6 @@ TARGET_DEVICES += zyxel_xmg1915-10e
 define Device/zyxel_xmg1915-10ep
   DEVICE_MODEL := XMG1915-10EP
   $(Device/zyxel_xmg1915)
-  DEVICE_PACKAGES := realtek-poe
+  DEVICE_PACKAGES += kmod-pse-realtek-mcu-uart
 endef
 TARGET_DEVICES += zyxel_xmg1915-10ep