From 13cb7086913e75a95994f986b3d1c97a1a98bcbc Mon Sep 17 00:00:00 2001 From: Carlo Szelinsky Date: Sat, 18 Jul 2026 22:09:03 +0200 Subject: [PATCH] realtek: add support for Zyxel GS1900-10HP B1 The GS1900-10HP B1 keeps the RTL8380M SoC and port layout but replaces the A1's Broadcom PoE (Gen1) with a Realtek RTL8238 PSE fronted by a Nuvoton MCU speaking the Gen2 protocol at 115200 baud. It reuses the shared rtl8380_zyxel_gs1900-10hp.dtsi and only overrides the PSE compatible and UART speed. Specifications: - SoC: Realtek RTL8380M - Ports: 8x 10/100/1000 (PoE+), 2x SFP - PoE: Realtek RTL8238 via Nuvoton MCU (Gen2, UART 115200) Tested on hardware: driver probes RTL8238B (8 ports), per-port control via ethtool, verified across a cold power-cycle. Signed-off-by: Carlo Szelinsky Link: https://github.com/openwrt/openwrt/pull/24283 Signed-off-by: Jonas Jelonek --- .../boot/uboot-tools/uboot-envtools/files/realtek | 1 + .../linux/realtek/base-files/etc/board.d/02_network | 1 + .../base-files/etc/board.d/05_compat-version | 1 + .../realtek/dts/rtl8380_zyxel_gs1900-10hp-b1.dts | 13 +++++++++++++ target/linux/realtek/image/rtl838x.mk | 10 ++++++++++ 5 files changed, 26 insertions(+) create mode 100644 target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp-b1.dts diff --git a/package/boot/uboot-tools/uboot-envtools/files/realtek b/package/boot/uboot-tools/uboot-envtools/files/realtek index 2e4ce297d2d..45507195813 100644 --- a/package/boot/uboot-tools/uboot-envtools/files/realtek +++ b/package/boot/uboot-tools/uboot-envtools/files/realtek @@ -21,6 +21,7 @@ zyxel,gs1900-8-a1|\ zyxel,gs1900-8hp-a1|\ zyxel,gs1900-8hp-b1|\ zyxel,gs1900-10hp-a1|\ +zyxel,gs1900-10hp-b1|\ zyxel,gs1900-16-a1|\ zyxel,gs1900-24-a1|\ zyxel,gs1900-24e-a1|\ 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 98389c522b5..e672c276f89 100644 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -140,6 +140,7 @@ realtek_setup_macs() panasonic,m8eg-pn28080k|\ vimin,vm-s100-0800ms|\ zyxel,gs1900-10hp-a1|\ + zyxel,gs1900-10hp-b1|\ zyxel,gs1900-16-a1|\ zyxel,gs1900-24-a1|\ zyxel,gs1900-24-b1|\ 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 c934aadcb84..9ce0df27f0d 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 @@ -18,6 +18,7 @@ case "$(board_name)" in zyxel,gs1900-8hp-a1 | \ zyxel,gs1900-8hp-b1 | \ zyxel,gs1900-10hp-a1 | \ + zyxel,gs1900-10hp-b1 | \ zyxel,gs1900-16-a1 | \ zyxel,gs1900-24e-a1 | \ zyxel,gs1900-24ep-a1 | \ diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp-b1.dts b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp-b1.dts new file mode 100644 index 00000000000..0738e347777 --- /dev/null +++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-10hp-b1.dts @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rtl8380_zyxel_gs1900-10hp.dtsi" + +/ { + compatible = "zyxel,gs1900-10hp-b1", "realtek,rtl838x-soc"; + model = "Zyxel GS1900-10HP B1 Switch"; +}; + +&pse { + compatible = "zyxel,gs1900-10hp-b1-pse", "realtek,pse-mcu-gen2"; + current-speed = <115200>; +}; diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk index a8b11c2c230..369db851d68 100644 --- a/target/linux/realtek/image/rtl838x.mk +++ b/target/linux/realtek/image/rtl838x.mk @@ -396,6 +396,16 @@ define Device/zyxel_gs1900-10hp-a1 endef TARGET_DEVICES += zyxel_gs1900-10hp-a1 +define Device/zyxel_gs1900-10hp-b1 + $(Device/zyxel_gs1900) + SOC := rtl8380 + DEVICE_MODEL := GS1900-10HP + DEVICE_VARIANT := B1 + ZYXEL_VERS := AAZI + DEVICE_PACKAGES += kmod-pse-realtek-mcu-uart +endef +TARGET_DEVICES += zyxel_gs1900-10hp-b1 + define Device/zyxel_gs1900-16-a1 $(Device/zyxel_gs1900) SOC := rtl8382 -- 2.47.3