From: Andrew LaMarche Date: Sun, 26 Jul 2026 15:35:00 +0000 (+0000) Subject: realtek: add support for Hasivo S1100WP-8XGT-SE switch X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23a826e84bcc5562d7351922d8a17bcaa9e79bb7;p=thirdparty%2Fopenwrt.git realtek: add support for Hasivo S1100WP-8XGT-SE switch This commit adds support for Hasivo S1100WP-8XGT-SE switch. It is identical to the S1100W-8XGT-SE, except it also has 2x HS104 chips for PoE delivery. Device specification -------------------- SoC Type: RTL9303 RAM: Samsung K4B461646E-BYKO (512MB) Flash: Fudan FM25Q128A (16 MB) Ethernet: 8x 10G via 2x RTL8264 PHY LEDs: 2 LEDs, 1 power green, 1 system green Button: Reset USB ports: None Bootloader: Realtek U-Boot - U-Boot 2011.12.(3.6.6.55087) (Nov 13 2022 - 14:37:31) Fan: 2 fans controlled by STC8G1K08 TSOP-20 microcontroller PSE: 2x HS104 Note: The fan appears to operate the same irrespective of the running firmware. The STC8G1K08 is likely operating independently. To explore the stock vendor firmware, there are 2 avenues to gain root access. This is not necessary to install OpenWrt, but is here for reference. Root access via serial ---------------------- 1. ctrl+t 2. password: switchrtk 3. press 's' for shell Root access via SSH ------------------- 1. ctrl+t 2. password: switchrtk 3. sys command sh 4. log in with your username+password 5. ctrl+t 6. password: switchrtk 7. press 's' for shell Credit to https://forum.openwrt.org/t/hasivo-switches/151758/174 for rooting instructions. Installing OpenWrt ------------------ 1. Connect to UART. UART requires soldering an RJ45 connector to the console footprint on the board. The header is on the top right of this image: https://forum.openwrt.org/uploads/default/original/3X/4/d/4d2ab97fad7e2c5b0a0bdca4de887918c6dcff97.jpeg 2. Set computer IP to 192.168.0.111. 3. Enter bootloader by pressing esc key during boot. 4. Enter password 'Hs2021cfgmg'. 5. Type 'XXXX'. 6. setenv bootcmd 'rtk network on; bootm 0xb4300000' 7. saveenv 8. rtk network on 9. tftpboot 0x84f00000 10. bootm 0x84f00000 Now you can copy over the sysupgrade image and install. Credit to https://forum.openwrt.org/t/hasivo-switches/151758/22?u=andrewjlamarche for u-boot console access instructions. Signed-off-by: Andrew LaMarche Link: https://github.com/openwrt/openwrt/pull/24349 Signed-off-by: Jonas Jelonek --- diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network index c07327a178f..6ca07db7bb1 100644 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -131,6 +131,7 @@ realtek_setup_macs() engenius,ews2910p-v1|\ engenius,ews2910p-v3|\ hasivo,s1100w-8xgt-se|\ + hasivo,s1100wp-8xgt-se|\ inaba,aml2-17gp|\ iodata,bsh-g24mb|\ netgear,gs750e|\ diff --git a/target/linux/realtek/dts/rtl9303_hasivo_s1100wp-8xgt-se.dts b/target/linux/realtek/dts/rtl9303_hasivo_s1100wp-8xgt-se.dts new file mode 100644 index 00000000000..d571d39d768 --- /dev/null +++ b/target/linux/realtek/dts/rtl9303_hasivo_s1100wp-8xgt-se.dts @@ -0,0 +1,190 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/dts-v1/; + +#include "rtl9303_hasivo_s1100w-8xgt-se-common.dtsi" + +/ { + compatible = "hasivo,s1100wp-8xgt-se", "realtek,rtl930x-soc"; + model = "Hasivo S1100WP-8XGT-SE"; + + aliases { + i2c0 = &i2c_scl23_sda22; + }; + + i2c_scl23_sda22: i2c-scl23-sda22 { + compatible = "i2c-gpio"; + #address-cells = <1>; + #size-cells = <0>; + + scl-gpios = <&gpio0 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio0 22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "okay"; + + clock-frequency = <100000>; + + 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>; + }; + }; + }; + + pse1: ethernet-pse@15 { + compatible = "hasivo,hs104"; + reg = <0x15>; + poll-interval-ms = <500>; + status = "okay"; + + pse-pis { + #address-cells = <1>; + #size-cells = <0>; + + pse1_pi0: pse-pi@0 { + reg = <0>; + #pse-cells = <0>; + }; + pse1_pi1: pse-pi@1 { + reg = <1>; + #pse-cells = <0>; + }; + pse1_pi2: pse-pi@2 { + reg = <2>; + #pse-cells = <0>; + }; + pse1_pi3: pse-pi@3 { + reg = <3>; + #pse-cells = <0>; + }; + }; + }; + + stc8: stc8@4d { + compatible = "hasivo,stc8-mfd", "syscon"; + reg = <0x4d>; + #address-cells = <2>; + #size-cells = <0>; + hasivo,execute-bit = <0x40>; + hasivo,execute-bit-registers = <0x01 0x02>; + status = "okay"; + + led_lan1_poe: led@1,0 { + compatible = "register-bit-led"; + reg = <0x01 0x00>; + mask = <0x08>; + color = ; + function = "poe"; + function-enumerator = <1>; + linux,default-trigger = "pse-0-000d:port0:delivering"; + default-state = "off"; + }; + + led_lan2_poe: led@1,1 { + compatible = "register-bit-led"; + reg = <0x01 0x01>; + mask = <0x04>; + color = ; + function = "poe"; + function-enumerator = <2>; + linux,default-trigger = "pse-0-000d:port1:delivering"; + default-state = "off"; + }; + + led_lan3_poe: led@1,2 { + compatible = "register-bit-led"; + reg = <0x01 0x02>; + mask = <0x02>; + color = ; + function = "poe"; + function-enumerator = <3>; + linux,default-trigger = "pse-0-000d:port2:delivering"; + default-state = "off"; + }; + + led_lan4_poe: led@1,3 { + compatible = "register-bit-led"; + reg = <0x01 0x03>; + mask = <0x01>; + color = ; + function = "poe"; + function-enumerator = <4>; + linux,default-trigger = "pse-0-000d:port3:delivering"; + default-state = "off"; + }; + + led_lan5_poe: led@2,0 { + compatible = "register-bit-led"; + reg = <0x02 0x00>; + mask = <0x08>; + color = ; + function = "poe"; + function-enumerator = <5>; + linux,default-trigger = "pse-0-0015:port0:delivering"; + default-state = "off"; + }; + + led_lan6_poe: led@2,1 { + compatible = "register-bit-led"; + reg = <0x02 0x01>; + mask = <0x04>; + color = ; + function = "poe"; + function-enumerator = <6>; + linux,default-trigger = "pse-0-0015:port1:delivering"; + default-state = "off"; + }; + + led_lan7_poe: led@2,2 { + compatible = "register-bit-led"; + reg = <0x02 0x02>; + mask = <0x02>; + color = ; + function = "poe"; + function-enumerator = <7>; + linux,default-trigger = "pse-0-0015:port2:delivering"; + default-state = "off"; + }; + + led_lan8_poe: led@2,3 { + compatible = "register-bit-led"; + reg = <0x02 0x03>; + mask = <0x01>; + color = ; + function = "poe"; + function-enumerator = <8>; + linux,default-trigger = "pse-0-0015:port3:delivering"; + default-state = "off"; + }; + }; + }; +}; + +&phy0 { pses = <&pse0_pi0>; }; +&phy8 { pses = <&pse0_pi1>; }; +&phy16 { pses = <&pse0_pi2>; }; +&phy20 { pses = <&pse0_pi3>; }; +&phy24 { pses = <&pse1_pi0>; }; +&phy25 { pses = <&pse1_pi1>; }; +&phy26 { pses = <&pse1_pi2>; }; +&phy27 { pses = <&pse1_pi3>; }; diff --git a/target/linux/realtek/image/rtl930x.mk b/target/linux/realtek/image/rtl930x.mk index 5d06c587064..b7f5f32f237 100644 --- a/target/linux/realtek/image/rtl930x.mk +++ b/target/linux/realtek/image/rtl930x.mk @@ -72,6 +72,16 @@ define Device/hasivo_s1100wp-8gt-se endef TARGET_DEVICES += hasivo_s1100wp-8gt-se +define Device/hasivo_s1100wp-8xgt-se + SOC := rtl9303 + DEVICE_VENDOR := Hasivo + DEVICE_MODEL := S1100WP-8XGT-SE + IMAGE_SIZE := 12288k + DEVICE_PACKAGES := rtl826x-firmware kmod-pse-hasivo-hs104 kmod-mfd-hasivo-stc8 + $(Device/kernel-lzma) +endef +TARGET_DEVICES += hasivo_s1100wp-8xgt-se + define Device/hasivo_s600wp-5gt-2sx-se SOC := rtl9303 DEVICE_VENDOR := Hasivo