Explorar o código

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 <[email protected]>
Signed-off-by: Sander Vanheule <[email protected]>
Klaus Rubenstein hai 1 semana
pai
achega
aa1b83d5ca

+ 2 - 1
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"
 	;;

+ 6 - 0
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
 }
 

+ 2 - 1
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

+ 30 - 0
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";
+	};
+};

+ 10 - 0
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