From: Jacob Potter Date: Sun, 24 Dec 2023 02:37:54 +0000 (-0500) Subject: realtek: rtl838x: add Netgear GS110TUP v1 support X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=735efbfb7c1d2b29bb53d833a9ddd16cc29355e6;p=openwrt%2Fstaging%2Fblocktrron.git 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 [rebase on merged flash layout] Signed-off-by: Sander Vanheule --- 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 4a5fe7666c..fb9c28d794 100644 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -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" ;; diff --git a/target/linux/realtek/dts-5.15/rtl8380_netgear_gs110tup-v1.dts b/target/linux/realtek/dts-5.15/rtl8380_netgear_gs110tup-v1.dts new file mode 100644 index 0000000000..76653fa210 --- /dev/null +++ b/target/linux/realtek/dts-5.15/rtl8380_netgear_gs110tup-v1.dts @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rtl8380_netgear_gigabit.dtsi" +#include + +/ { + 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 = ; + function = LED_FUNCTION_STATUS; + gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; + }; + + led_status_green: led-1 { + label = "green:status"; + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&gpio1 32 GPIO_ACTIVE_LOW>; + }; + + led_status_blue: led-2 { + label = "blue:status"; + color = ; + 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) + }; +}; diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk index 9a9a310713..60249ff2fd 100644 --- a/target/linux/realtek/image/rtl838x.mk +++ b/target/linux/realtek/image/rtl838x.mk @@ -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