From: Klaus Rubenstein Date: Wed, 1 Apr 2026 07:01:42 +0000 (+0200) Subject: realtek: add Zyxel GS1900-48HP A1 support X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa1b83d5ca7a67f9d0b4972e97da5843c86e5289;p=thirdparty%2Fopenwrt.git realtek: add Zyxel GS1900-48HP A1 support Add support for the Zyxel GS1900-48HP A1 managed PoE switch based on RTL8393 SoC with 48 copper ports (6x RTL8218B), 2 SFP slots and PoE (170W budget). Includes DTS, image definition, network config and u-boot-env support. The device has 48 copper ports but only ports 1-24 are powered by the PoE PSE controller. PoE support requires the realtek-poe package from the packages feed with an additional configuration for PSE ID 7 to address the MCU on this device. Signed-off-by: Klaus Rubenstein Signed-off-by: Sander Vanheule --- diff --git a/package/boot/uboot-tools/uboot-envtools/files/realtek b/package/boot/uboot-tools/uboot-envtools/files/realtek index ba980363bac..826914e35d1 100644 --- a/package/boot/uboot-tools/uboot-envtools/files/realtek +++ b/package/boot/uboot-tools/uboot-envtools/files/realtek @@ -27,7 +27,8 @@ zyxel,gs1900-24e-a1|\ zyxel,gs1900-24ep-a1|\ zyxel,gs1900-24hp-a1|\ zyxel,gs1900-24hp-b1|\ -zyxel,gs1900-48-a1) +zyxel,gs1900-48-a1|\ +zyxel,gs1900-48hp-a1) ubootenv_add_mtd "u-boot-env" "0x0" "0x400" "0x10000" ubootenv_add_sys_mtd "u-boot-env2" "0x0" "0x1000" "0x10000" ;; 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 a381f9e5044..df064c4e8ee 100644 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -137,6 +137,7 @@ realtek_setup_macs() zyxel,gs1900-24hp-a1|\ zyxel,gs1900-24hp-b1|\ zyxel,gs1900-48-a1|\ + zyxel,gs1900-48hp-a1|\ zyxel,gs1900-8-a1|\ zyxel,gs1900-8-b1|\ zyxel,gs1900-8hp-a1|\ @@ -231,6 +232,11 @@ realtek_setup_poe() zyxel,gs1900-24hp-b1) ucidef_set_poe 170 "$(filter_port_list "$lan_list" "lan25 lan26")" ;; + zyxel,gs1900-48hp-a1) + ucidef_set_poe 170 "lan1 lan2 lan3 lan4 lan5 lan6 lan7 lan8 \ + lan9 lan10 lan11 lan12 lan13 lan14 lan15 lan16 \ + lan17 lan18 lan19 lan20 lan21 lan22 lan23 lan24" + ;; esac } diff --git a/target/linux/realtek/base-files/etc/board.d/05_compat-version b/target/linux/realtek/base-files/etc/board.d/05_compat-version index d4486818402..c934aadcb84 100644 --- a/target/linux/realtek/base-files/etc/board.d/05_compat-version +++ b/target/linux/realtek/base-files/etc/board.d/05_compat-version @@ -24,7 +24,8 @@ case "$(board_name)" in zyxel,gs1900-24hp-a1 | \ zyxel,gs1900-24hp-b1 | \ zyxel,gs1900-24-a1 | \ - zyxel,gs1900-48-a1) + zyxel,gs1900-48-a1 | \ + zyxel,gs1900-48hp-a1) ucidef_set_compat_version "2.0" ;; esac diff --git a/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48hp-a1.dts b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48hp-a1.dts new file mode 100644 index 00000000000..7ec45773244 --- /dev/null +++ b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48hp-a1.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +/dts-v1/; + +#include "rtl8393_zyxel_gs1900-48.dtsi" + +/ { + compatible = "zyxel,gs1900-48hp-a1", "realtek,rtl8393-soc"; + model = "Zyxel GS1900-48HP A1"; +}; + +&uart1 { + status = "okay"; +}; + +&gpio1 { + poe_enable { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "poe-mcu-enable"; + }; + + poe_reset { + gpio-hog; + gpios = <36 GPIO_ACTIVE_LOW>; + output-low; + line-name = "poe-mcu-reset"; + }; +}; diff --git a/target/linux/realtek/image/rtl839x.mk b/target/linux/realtek/image/rtl839x.mk index a40a2300c27..78d9eee56a4 100644 --- a/target/linux/realtek/image/rtl839x.mk +++ b/target/linux/realtek/image/rtl839x.mk @@ -98,6 +98,16 @@ define Device/zyxel_gs1900-48-a1 endef TARGET_DEVICES += zyxel_gs1900-48-a1 +define Device/zyxel_gs1900-48hp-a1 + $(Device/zyxel_gs1900) + SOC := rtl8393 + DEVICE_MODEL := GS1900-48HP + DEVICE_VARIANT := A1 + ZYXEL_VERS := AAHO + DEVICE_PACKAGES += realtek-poe +endef +TARGET_DEVICES += zyxel_gs1900-48hp-a1 + define Device/zyxel_gs1920-24hp ifeq ($(IB),) ARTIFACTS := loader.bin