diff --git a/target/linux/mediatek/dts/mt7988d-tplink-tl-7dr7250-v1.dts b/target/linux/mediatek/dts/mt7988d-tplink-tl-7dr7250-v1.dts new file mode 100644 index 00000000000..69bc6c9ec6c --- /dev/null +++ b/target/linux/mediatek/dts/mt7988d-tplink-tl-7dr7250-v1.dts @@ -0,0 +1,130 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; +#include "mt7988d-tplink-tl-7dr72xx.dtsi" + +/ { + model = "TP-Link TL-7DR7250 v1"; + compatible = "tplink,tl-7dr7250-v1", "mediatek,mt7988d"; + + aliases { + led-boot = &led_status_green; + led-failsafe = &led_status_red; + led-running = &led_status_green; + led-upgrade = &led_status_red; + }; + + leds { + compatible = "gpio-leds"; + + led_status_red: status-red { + function = LED_FUNCTION_STATUS; + color = ; + gpios = <&pio 53 GPIO_ACTIVE_HIGH>; + }; + + led_status_green: status-green { + function = LED_FUNCTION_STATUS; + color = ; + gpios = <&pio 54 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_config_1c 0>; + nvmem-cell-names = "mac-address"; + status = "okay"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_config_1c 0>; + nvmem-cell-names = "mac-address"; +}; + +&gmac2 { + nvmem-cells = <&macaddr_config_1c 1>; + nvmem-cell-names = "mac-address"; + phy-mode = "2500base-x"; + phy-handle = <&phy13>; + status = "okay"; +}; + +&gsw_phy0 { + pinctrl-names = "gbe-led"; + pinctrl-0 = <&gbe0_led0_pins>; +}; + +&gsw_phy0_led0 { + color = ; + function = LED_FUNCTION_LAN; + status = "okay"; +}; + +&gsw_phy1 { + pinctrl-names = "gbe-led"; + pinctrl-0 = <&gbe1_led0_pins>; +}; + +&gsw_phy1_led0 { + color = ; + function = LED_FUNCTION_LAN; + status = "okay"; +}; + +&gsw_phy2 { + status = "disabled"; +}; + +&gsw_phy3 { + status = "disabled"; +}; + +&gsw_port0 { + label = "lan2"; +}; + +&gsw_port1 { + label = "lan1"; +}; + +&gsw_port2 { + status = "disabled"; +}; + +&gsw_port3 { + status = "disabled"; +}; + +&i2p5gbe_led0 { + color = ; + function = LED_FUNCTION_LAN; +}; + +&mdio_bus { + phy13: ethernet-phy@13 { + compatible = "ethernet-phy-ieee802.3-c45"; + reg = <13>; + reset-assert-us = <10000>; + reset-deassert-us = <20000>; + reset-gpios = <&pio 1 GPIO_ACTIVE_LOW>; + interrupts = <0 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&pio>; + }; +}; + +&pio { + gbe0_led0_pins: gbe0-led0-pins { + mux { + function = "led"; + groups = "gbe0_led0"; + }; + }; + + gbe1_led0_pins: gbe1-led0-pins { + mux { + function = "led"; + groups = "gbe1_led0"; + }; + }; +}; diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index 448265913af..a71bce39408 100644 --- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -238,6 +238,9 @@ mediatek_setup_interfaces() tplink,fr365-v1) ucidef_set_interfaces_lan_wan "port1 port3 port4 port5 port6" "port2" ;; + tplink,tl-7dr7250*) + ucidef_set_interfaces_lan_wan "lan1 lan2 eth1" eth2 + ;; tplink,tl-xdr6086|\ wavlink,wl-wn551x3|\ wavlink,wl-wn586x3|\ diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh index 487eef10db7..bd0c09d018a 100644 --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh @@ -211,6 +211,7 @@ platform_do_upgrade() { teralink,tl3020-256mb|\ tplink,be450-ubi|\ tplink,tl-7dr7230*|\ + tplink,tl-7dr7250*|\ tplink,tl-xdr4288|\ tplink,tl-xdr6086|\ tplink,tl-xdr6088|\ @@ -458,6 +459,7 @@ platform_check_image() { teralink,tl3020-256mb|\ tplink,be450-ubi|\ tplink,tl-7dr7230*|\ + tplink,tl-7dr7250*|\ tplink,tl-xdr4288|\ tplink,tl-xdr6086|\ tplink,tl-xdr6088|\ diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk index 56c6736230f..7fc63e17357 100644 --- a/target/linux/mediatek/image/filogic.mk +++ b/target/linux/mediatek/image/filogic.mk @@ -3707,6 +3707,19 @@ define Device/tplink_tl-7dr7230-v2 endef TARGET_DEVICES += tplink_tl-7dr7230-v2 +define Device/tplink_tl-7dr7250-v1 + DEVICE_MODEL := TL-7DR7250 + DEVICE_VARIANT := v1 + DEVICE_DTS := mt7988d-tplink-tl-7dr7250-v1 + $(call Device/tplink-tl-7dr-common) + DEVICE_PACKAGES += kmod-phy-airoha-en8811h \ + kmod-phy-mediatek-2p5g mt7988-2p5g-phy-firmware + ARTIFACTS := preloader.bin bl31-uboot.fip + ARTIFACT/preloader.bin := mt7988-bl2 spim-nand-ddr4 + ARTIFACT/bl31-uboot.fip := mt7988-bl31-uboot tplink_tl-7dr7250-v1 +endef +TARGET_DEVICES += tplink_tl-7dr7250-v1 + define Device/tplink_tl-xdr-common DEVICE_VENDOR := TP-Link DEVICE_DTS_DIR := ../dts