aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Mullally <jwmullally@gmail.com>2022-02-19 21:32:54 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2022-03-06 18:57:33 +0100
commit6c743c3006f9b8446a11eab4af2f7997ab6a6a2f (patch)
tree7a3d4c64a94a77c6d3823f1465c941ebca18b4a9
parent921392e2169e6a6eb94e9cf60449a53fc167ab96 (diff)
downloadupstream-6c743c3006f9b8446a11eab4af2f7997ab6a6a2f.tar.gz
upstream-6c743c3006f9b8446a11eab4af2f7997ab6a6a2f.tar.bz2
upstream-6c743c3006f9b8446a11eab4af2f7997ab6a6a2f.zip
ramips: Add support for TP-Link TL-WPA8631P v3
AV1300 Gigabit Passthrough Powerline ac Wi-Fi Extender Specifications -------------- * SoC: MediaTek MT7621AT * CPU: 880 MHz MIPS 1004KEc dual-core CPU * RAM: 64 MiB DDR2 (Zentel A3R12E40DBF-8E) * Flash: 8 MiB SPI NOR (GigaDevice GD25Q64CSIG) * Ethernet: SoC built-in Switch 5x 1GbE * Port 0: PLC (connected through AR8035-A) * Port 1-3: LAN * WLAN: 2x2 2.4GHz 300 Mbps + 2x2 5GHz 867 Mbps (MT7603EN + MT7613BEN) * PLC: HomePlug AV2 (Qualcomm QCA7500) * PLC Flash: 2MiB SPI NOR (GigaDevice GD25Q16CSIG) * Buttons: Reset, LED, Pair, Wi-Fi * LEDs: Power (green), PLC (green/amber), LAN (green), 2.4G (green), 5G (green) * UART: J1 (57600 baud) * Pinout: (3V3) (GND) (RX) (TX) * Visually identify GND from connection to PCB ground plane Installation ------------ Installation is possible from the OEM web interface. Make sure to install the latest OEM firmware first, so that the PLC firmware is at the latest version. However, please first check the OpenWRT Wiki page for confirmation that your OEM firmware version is supported. Signed-off-by: Joe Mullally <jwmullally@gmail.com>
-rw-r--r--target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts200
-rw-r--r--target/linux/ramips/image/mt7621.mk11
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/01_leds3
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/02_network3
4 files changed, 217 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts
new file mode 100644
index 0000000000..7012c315c1
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts
@@ -0,0 +1,200 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "tplink,tl-wpa8631p-v3", "mediatek,mt7621-soc";
+ model = "TP-Link WPA8631P v3";
+
+ aliases {
+ label-mac-device = &gmac0;
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ led {
+ label = "led";
+ linux,code = <KEY_LIGHTS_TOGGLE>;
+ gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ pair {
+ label = "pair";
+ linux,code = <BTN_1>;
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ wifi {
+ label = "wifi";
+ linux,code = <KEY_RFKILL>;
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ label = "green:power";
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ };
+
+ lan {
+ label = "green:lan";
+ gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
+ };
+
+ wifi2g {
+ label = "green:wifi2g";
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wifi5g {
+ label = "green:wifi5g";
+ gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+
+ gpio-export {
+ compatible = "gpio-export";
+
+ led_control {
+ gpio-export,name = "tp-link:led:control";
+ gpio-export,output = <0>;
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x20000>;
+ read-only;
+ };
+
+ partition@20000 {
+ compatible = "tplink,firmware";
+ label = "firmware";
+ reg = <0x20000 0x710000>;
+ };
+
+ config: partition@730000 {
+ label = "config";
+ reg = <0x730000 0xc0000>;
+ read-only;
+ };
+
+ radio: partition@7f0000 {
+ label = "radio";
+ reg = <0x7f0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&state_default {
+ gpio {
+ groups = "rgmii2", "wdt";
+ function = "gpio";
+ };
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&radio 0x0>;
+ nvmem-cells = <&macaddr_config_2008>;
+ nvmem-cell-names = "mac-address";
+ ieee80211-freq-limit = <2400000 2500000>;
+ };
+};
+
+&pcie1 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&radio 0x8000>;
+ nvmem-cells = <&macaddr_config_2008>;
+ nvmem-cell-names = "mac-address";
+ mac-address-increment = <1>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
+
+&gmac0 {
+ nvmem-cells = <&macaddr_config_2008>;
+ nvmem-cell-names = "mac-address";
+};
+
+&switch0 {
+ ports {
+ port@0 {
+ status = "okay";
+ label = "plc0";
+ };
+
+ port@1 {
+ status = "okay";
+ label = "lan1";
+ };
+
+ port@2 {
+ status = "okay";
+ label = "lan2";
+ };
+
+ port@3 {
+ status = "okay";
+ label = "lan3";
+ };
+ };
+};
+
+&config {
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_config_2008: macaddr@2008 {
+ reg = <0x2008 0x6>;
+ };
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 1b75f0d7a6..1b7d095fc4 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -1546,6 +1546,17 @@ define Device/tplink_re650-v1
endef
TARGET_DEVICES += tplink_re650-v1
+define Device/tplink_tl-wpa8631p-v3
+ $(Device/dsa-migration)
+ $(Device/tplink-safeloader)
+ DEVICE_MODEL := TL-WPA8631P
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
+ TPLINK_BOARD_ID := TL-WPA8631P-V3
+ IMAGE_SIZE := 7232k
+endef
+TARGET_DEVICES += tplink_tl-wpa8631p-v3
+
define Device/ubnt_edgerouter_common
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index b167cff857..672c7b0668 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -117,6 +117,9 @@ tplink,re650-v1)
ucidef_set_led_netdev "eth_act" "LAN act" "green:eth_act" "lan" "tx rx"
ucidef_set_led_netdev "eth_link" "LAN link" "green:eth_link" "lan" "link"
;;
+tplink,tl-wpa8631p-v3)
+ ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan"
+ ;;
xiaomi,mi-router-ac2100)
ucidef_set_led_netdev "wan-blue" "WAN (blue)" "blue:wan" "wan"
;;
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 9af169fbef..3e934899bb 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -67,6 +67,9 @@ ramips_setup_interfaces()
tplink,eap615-wall-v1)
ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
;;
+ tplink,tl-wpa8631p-v3)
+ ucidef_set_interface_lan "lan1 lan2 lan3 plc0"
+ ;;
ubnt,edgerouter-x)
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
;;