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 <klaus.rubenstein@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
This commit is contained in:
Klaus Rubenstein 2026-04-01 09:01:42 +02:00 committed by Sander Vanheule
parent 5eca03fa07
commit aa1b83d5ca
5 changed files with 50 additions and 2 deletions

View File

@ -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"
;;

View File

@ -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
}

View File

@ -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

View File

@ -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";
};
};

View File

@ -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