]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: rtl930x: add PoE support for Hasivo F1100WP-4SX-4XGT 24643/head
authorLars Gierth <larsg@systemli.org>
Sun, 9 Aug 2026 14:46:05 +0000 (16:46 +0200)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Tue, 11 Aug 2026 20:20:13 +0000 (22:20 +0200)
Manage the HS104 behind the STC8 MCU, register the LEDs, attach the PSE PIs.

Signed-off-by: Lars Gierth <larsg@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/24643
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
target/linux/realtek/dts/rtl9303_hasivo_f1100wp-4sx-4xgt-512mb.dts
target/linux/realtek/dts/rtl9303_hasivo_f1100wp-4sx-4xgt-common.dtsi [new file with mode: 0644]
target/linux/realtek/dts/rtl9303_hasivo_f1100wp-4sx-4xgt.dts
target/linux/realtek/image/rtl930x.mk

index 4f1d7b3037bddcc4483dc9bd99a722f84cf0225b..cf3afb2bca07e279b502049be8e1e7fc5903f7ae 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /dts-v1/;
 
-#include "rtl9303_hasivo_f1100w-4sx-4xgt-common.dtsi"
+#include "rtl9303_hasivo_f1100wp-4sx-4xgt-common.dtsi"
 
 / {
        compatible = "hasivo,f1100wp-4sx-4xgt-512mb", "realtek,rtl9303-soc";
diff --git a/target/linux/realtek/dts/rtl9303_hasivo_f1100wp-4sx-4xgt-common.dtsi b/target/linux/realtek/dts/rtl9303_hasivo_f1100wp-4sx-4xgt-common.dtsi
new file mode 100644 (file)
index 0000000..0faec1c
--- /dev/null
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/dts-v1/;
+
+#include "rtl9303_hasivo_f1100w-4sx-4xgt-common.dtsi"
+
+&i2c_stc8 {
+       pse0: ethernet-pse@d {
+               compatible = "hasivo,hs104";
+               reg = <0x0d>;
+               poll-interval-ms = <500>;
+               status = "okay";
+
+               pse-pis {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       pse0_pi0: pse-pi@0 {
+                               reg = <0>;
+                               #pse-cells = <0>;
+                       };
+                       pse0_pi1: pse-pi@1 {
+                               reg = <1>;
+                               #pse-cells = <0>;
+                       };
+                       pse0_pi2: pse-pi@2 {
+                               reg = <2>;
+                               #pse-cells = <0>;
+                       };
+                       pse0_pi3: pse-pi@3 {
+                               reg = <3>;
+                               #pse-cells = <0>;
+                       };
+               };
+       };
+};
+
+&stc8 {
+       led_lan5_poe: led@1,0 {
+               compatible = "register-bit-led";
+               reg = <0x01 0x00>;
+               mask = <0x08>;
+               color = <LED_COLOR_ID_ORANGE>;
+               function = "poe";
+               function-enumerator = <5>;
+               linux,default-trigger = "pse-0-000d:port0:delivering";
+               default-state = "off";
+       };
+
+       led_lan6_poe: led@1,1 {
+               compatible = "register-bit-led";
+               reg = <0x01 0x01>;
+               mask = <0x04>;
+               color = <LED_COLOR_ID_ORANGE>;
+               function = "poe";
+               function-enumerator = <6>;
+               linux,default-trigger = "pse-0-000d:port1:delivering";
+               default-state = "off";
+       };
+
+       led_lan7_poe: led@1,2 {
+               compatible = "register-bit-led";
+               reg = <0x01 0x02>;
+               mask = <0x02>;
+               color = <LED_COLOR_ID_ORANGE>;
+               function = "poe";
+               function-enumerator = <7>;
+               linux,default-trigger = "pse-0-000d:port2:delivering";
+               default-state = "off";
+       };
+
+       led_lan8_poe: led@1,3 {
+               compatible = "register-bit-led";
+               reg = <0x01 0x03>;
+               mask = <0x01>;
+               color = <LED_COLOR_ID_ORANGE>;
+               function = "poe";
+               function-enumerator = <8>;
+               linux,default-trigger = "pse-0-000d:port3:delivering";
+               default-state = "off";
+       };
+};
+
+&phy24 { pses = <&pse0_pi0>; };
+&phy25 { pses = <&pse0_pi1>; };
+&phy26 { pses = <&pse0_pi2>; };
+&phy27 { pses = <&pse0_pi3>; };
index f1c9c98cf36c6f8b184e92ebd76b55bb9eceed30..31b6def1ece561cb8f05d2fa71e98bde94255b47 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /dts-v1/;
 
-#include "rtl9303_hasivo_f1100w-4sx-4xgt-common.dtsi"
+#include "rtl9303_hasivo_f1100wp-4sx-4xgt-common.dtsi"
 
 / {
        compatible = "hasivo,f1100wp-4sx-4xgt", "realtek,rtl9303-soc";
index 025955b27c74991634a83bdf711953fd751d21e2..b0155908ba118bd8a8f9a481dbafd569be2209b5 100644 (file)
@@ -56,7 +56,7 @@ define Device/hasivo_f1100wp-4sx-4xgt-common
   DEVICE_ALT0_MODEL := F1100WP-4SX-4XGT-SE
   DEVICE_PACKAGES := \
     kmod-hasivo-mcu-sensor kmod-hasivo-mcu-wdt kmod-mfd-hasivo-stc8 \
-    kmod-phy-realtek rtl826x-firmware
+    kmod-phy-realtek kmod-pse-hasivo-hs104 rtl826x-firmware
   IMAGE_SIZE := 29696k
   $(Device/kernel-lzma)
 endef