Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for the TP-Link EAP615-Wall, an AX1800 Wall Plate WiFi 6 AP. The device is very similar to the TP-Link EAP235-Wall. Hardware: * SoC: MediaTek MT7621AT * RAM: 128MiB * Flash: 16MiB SPI-NOR * Ethernet: 4x GbE * Back: ETH0 (PoE-PD) * Bottom: ETH1, ETH2, ETH3 (PoE passthrough) * WiFi: MT7905DAN/MT7975DN 2.4/5 GHz 2T2R * LEDS: 1x white * Buttons: 1x LED, 1x reset Stock firmware uses a random MAC address for ethernet. OpenWrt uses the MAC address that is on the device label for ethernet and the wireless interfaces. MAC address must not be incremented, as this will cause MAC address conflicts in case you have two devices with consecutive MAC addresses. Instead, different locally administered addresses will be generated automatically, based on the MAC on the label. Installation via stock firmware: * Enable SSH in the TP-Link web interface * SSH to the device * Run `cliclientd stopcs` * Upload the OpenWrt factory image via the TP-Link web interface Installation via bootloader: * Solder TTL header. Pinout: 1: TX, 2: RX, 3: GND, 4: VCC, with pin 1 closest to ETH1. Baud rate 115200 * Interrupt boot process by holding a key during boot * Boot the OpenWrt initramfs: # tftpboot 0x84000000 openwrt-ramips-mt7621-tplink_eap615-wall-v1-initramfs-kernel.bin # bootm * Copy openwrt-ramips-mt7621-tplink_eap615-wall-v1-squashfs-sysupgrade.bin to /tmp and use sysupgrade to install it Thanks to Sander Vanheule for his work on the EAP235-Wall, which made adding support for the EAP615-Wall very easy. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Reviewed-by: Sander Vanheule <sander@svanheule.net> Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>
- Loading branch information
Showing
3 changed files
with
209 additions
and
1 deletion.
There are no files selected for viewing
194 changes: 194 additions & 0 deletions
194
target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include "mt7621.dtsi" | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
|
||
/ { | ||
compatible = "tplink,eap615-wall-v1", "mediatek,mt7621-soc"; | ||
model = "TP-Link EAP615-Wall v1"; | ||
|
||
aliases { | ||
label-mac-device = &gmac0; | ||
led-boot = &led_status; | ||
led-failsafe = &led_status; | ||
led-running = &led_status; | ||
led-upgrade = &led_status; | ||
}; | ||
|
||
chosen { | ||
bootargs = "console=ttyS0,115200"; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
|
||
led_status: status { | ||
label = "white:status"; | ||
color = <LED_COLOR_ID_WHITE>; | ||
function = LED_FUNCTION_STATUS; | ||
gpios = <&gpio 12 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
|
||
keys { | ||
compatible = "gpio-keys"; | ||
|
||
led { | ||
label = "led"; | ||
gpios = <&gpio 10 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_LIGHTS_TOGGLE>; | ||
}; | ||
|
||
reset { | ||
label = "reset"; | ||
gpios = <&gpio 8 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_RESTART>; | ||
}; | ||
}; | ||
|
||
gpio-export { | ||
compatible = "gpio-export"; | ||
|
||
poe_passthrough { | ||
gpio-export,name = "poe-passthrough"; | ||
gpio-export,output = <0>; | ||
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
}; | ||
|
||
ðernet { | ||
reg = <0x1e100000 0xe000>; | ||
}; | ||
|
||
&spi0 { | ||
status = "okay"; | ||
|
||
flash@0 { | ||
compatible = "jedec,spi-nor"; | ||
reg = <0>; | ||
spi-max-frequency = <20000000>; | ||
|
||
partitions { | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
partition@0 { | ||
label = "u-boot"; | ||
reg = <0x0 0x80000>; | ||
read-only; | ||
}; | ||
|
||
partition@80000 { | ||
label = "partition-table"; | ||
reg = <0x80000 0x10000>; | ||
read-only; | ||
}; | ||
|
||
info: partition@90000 { | ||
label = "product-info"; | ||
reg = <0x90000 0x10000>; | ||
read-only; | ||
}; | ||
|
||
partition@a0000 { | ||
compatible = "denx,fit"; | ||
label = "firmware"; | ||
reg = <0xa0000 0xcf0000>; | ||
}; | ||
|
||
partition@d90000 { | ||
label = "user-config"; | ||
reg = <0xd90000 0x60000>; | ||
read-only; | ||
}; | ||
|
||
partition@f30000 { | ||
label = "mutil-log"; | ||
reg = <0xf30000 0x80000>; | ||
read-only; | ||
}; | ||
|
||
partition@fb0000 { | ||
label = "oops"; | ||
reg = <0xfb0000 0x40000>; | ||
read-only; | ||
}; | ||
|
||
radio: partition@ff0000 { | ||
label = "radio"; | ||
reg = <0xff0000 0x10000>; | ||
read-only; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&state_default { | ||
gpio { | ||
groups = "uart2", "uart3"; | ||
function = "gpio"; | ||
}; | ||
}; | ||
|
||
&pcie { | ||
status = "okay"; | ||
}; | ||
|
||
&pcie1 { | ||
wifi@0,0 { | ||
compatible = "mediatek,mt76"; | ||
reg = <0x0000 0 0 0 0>; | ||
mediatek,mtd-eeprom = <&radio 0x0>; | ||
nvmem-cells = <&macaddr_info_8>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
}; | ||
|
||
&pcie2 { | ||
status = "disabled"; | ||
}; | ||
|
||
&gmac0 { | ||
nvmem-cells = <&macaddr_info_8>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
|
||
&switch0 { | ||
compatible = "mediatek,mt7530"; | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong. |
||
ports { | ||
port@0 { | ||
status = "okay"; | ||
label = "lan0"; | ||
}; | ||
|
||
port@1 { | ||
status = "okay"; | ||
label = "lan3"; | ||
}; | ||
|
||
port@2 { | ||
status = "okay"; | ||
label = "lan2"; | ||
}; | ||
|
||
port@3 { | ||
status = "okay"; | ||
label = "lan1"; | ||
}; | ||
}; | ||
}; | ||
|
||
&info { | ||
compatible = "nvmem-cells"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
macaddr_info_8: macaddr@8 { | ||
reg = <0x8 0x6>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Do we need this string? IIRC, this is used for the external mt7530. The mt7530 is built-in to the chip on the MT7621AT/MT7621ST SoCs and the string for it is "mediatek,mt7621" which is already set on mt7621.dtsi.