From: Jonas Jelonek Date: Sun, 3 May 2026 22:13:44 +0000 (+0000) Subject: realtek: use realtek-pse-mcu kernel driver for PoE on XMG1915-10EP X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f57de02350ab6b4b3eb7ca2e6cf8ca036220840e;p=thirdparty%2Fopenwrt.git realtek: use realtek-pse-mcu kernel driver for PoE on XMG1915-10EP 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 --- diff --git a/target/linux/realtek/dts/rtl9302_zyxel_xmg1915-10ep.dts b/target/linux/realtek/dts/rtl9302_zyxel_xmg1915-10ep.dts index 6f1aac9bc7e..08049f0405d 100644 --- a/target/linux/realtek/dts/rtl9302_zyxel_xmg1915-10ep.dts +++ b/target/linux/realtek/dts/rtl9302_zyxel_xmg1915-10ep.dts @@ -24,4 +24,58 @@ &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>; }; diff --git a/target/linux/realtek/image/rtl930x.mk b/target/linux/realtek/image/rtl930x.mk index 53f3d32d693..434e197edd7 100644 --- a/target/linux/realtek/image/rtl930x.mk +++ b/target/linux/realtek/image/rtl930x.mk @@ -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