realtek: rtl838x: add Netgear GS110TUP v1 support

The GS110TUP v1 is a managed switch similar to the GS110TPP v1, but with
port 10 as SFP instead of RJ-45 and a total budget of 240 watts. Ports
1-4 support 60-watt 802.3bt PoE and ports 5-8 support 30-watt 802.3at.

The flash layout of the two switches are identical, and the U-Boot
configurations are the same except for having a different magic number,
so installation can be done via the same U-Boot method.

The following command will be needed to enable the port LEDs as per
https://forum.openwrt.org/t/72510/51 :
    fw_setenv bootcmd "rtk network on; boota"

Additionally, port 9 (1000base-T from a separate QSGMII PHY) does not
function without this. Port 10 was not tested as no SFP module was
available.

Signed-off-by: Jacob Potter <jacob@j4cbo.com>
[rebase on merged flash layout]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
This commit is contained in:
Jacob Potter 2023-12-23 21:37:54 -05:00 committed by Sander Vanheule
parent 92e0baba42
commit 735efbfb7c
3 changed files with 90 additions and 0 deletions

View File

@ -91,6 +91,9 @@ hpe,1920-8g-poe-180w)
netgear,gs110tpp-v1)
ucidef_set_poe 130 "$lan_list" "lan9 lan10"
;;
netgear,gs110tup-v1)
ucidef_set_poe 240 "$lan_list" "lan9 lan10"
;;
netgear,gs310tp-v1)
ucidef_set_poe 55 "$lan_list" "lan9 lan10"
;;

View File

@ -0,0 +1,61 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "rtl8380_netgear_gigabit.dtsi"
#include <dt-bindings/leds/common.h>
/ {
compatible = "netgear,gs110tup-v1", "realtek,rtl838x-soc";
model = "Netgear GS110TUP v1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_red;
led-running = &led_status_green;
led-upgrade = &led_status_blue;
};
leds {
compatible = "gpio-leds";
led_status_red: led-0 {
label = "red:status";
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
};
led_status_green: led-1 {
label = "green:status";
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio1 32 GPIO_ACTIVE_LOW>;
};
led_status_blue: led-2 {
label = "blue:status";
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_STATUS;
gpios = <&gpio1 34 GPIO_ACTIVE_LOW>;
};
};
};
&firmware {
openwrt,ih-magic = <0x4e474720>;
};
&uart1 {
status = "okay";
};
&mdio {
EXTERNAL_PHY(16)
EXTERNAL_PHY(24)
};
&switch0 {
ports {
SWITCH_PORT(16, 9, qsgmii)
SWITCH_SFP_PORT(24, 10, rgmii-id)
};
};

View File

@ -171,6 +171,24 @@ define Device/netgear_nge
DEVICE_VENDOR := NETGEAR
endef
# "NGG" refers to the uImage magic
define Device/netgear_ngg
KERNEL := \
kernel-bin | \
append-dtb | \
lzma | \
uImage lzma
KERNEL_INITRAMFS := \
kernel-bin | \
append-dtb | \
lzma | \
uImage lzma
SOC := rtl8380
IMAGE_SIZE := 14848k
UIMAGE_MAGIC := 0x4e474720
DEVICE_VENDOR := NETGEAR
endef
define Device/netgear_gs108t-v3
$(Device/netgear_nge)
DEVICE_MODEL := GS108T
@ -186,6 +204,14 @@ define Device/netgear_gs110tpp-v1
endef
TARGET_DEVICES += netgear_gs110tpp-v1
define Device/netgear_gs110tup-v1
$(Device/netgear_ngg)
DEVICE_MODEL := GS110TUP
DEVICE_VARIANT := v1
DEVICE_PACKAGES += realtek-poe
endef
TARGET_DEVICES += netgear_gs110tup-v1
define Device/netgear_gs308t-v1
$(Device/netgear_nge)
DEVICE_MODEL := GS308T