[PATCH v2 2/2] ramips: support TP-Link EAP615-Wall

Arınç ÜNAL arinc.unal at arinc9.com
Sun Feb 27 01:35:48 PST 2022


On 26/02/2022 13:11, Stijn Tintel wrote:
> 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 at linux-ipv6.be>
> ---
> v2: - PoE-PT -> PoE passthrough
>      - MT7915E -> MT7905DAN/MT7975DN
>      - dropped ethernet at 1e100000, moved reg override to &ethernet
>      - dropped bus-range from &pcie
>      - dropped port at 5 from &switch0
>      - added dsa-migration
>      - kept kernel padding as it silences a warning
>      - firmware-tools change committed to firmware-tools.git
> ---
>   .../dts/mt7621_tplink_eap615-wall-v1.dts      | 210 ++++++++++++++++++
>   target/linux/ramips/image/mt7621.mk           |  13 ++
>   .../mt7621/base-files/etc/board.d/02_network  |   3 +-
>   3 files changed, 225 insertions(+), 1 deletion(-)
>   create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> 
> diff --git a/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> new file mode 100644
> index 0000000000..a57fe9cc97
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts
> @@ -0,0 +1,210 @@
> +// 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>;
> +		};
> +	};
> +};
> +
> +&ethernet {
> +	reg = <0x1e100000 0xe000>;
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <20000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "u-boot";
> +				reg = <0x0 0x80000>;
> +				read-only;
> +			};
> +
> +			partition at 80000 {
> +				label = "partition-table";
> +				reg = <0x80000 0x10000>;
> +				read-only;
> +			};
> +
> +			info: partition at 90000 {
> +				label = "product-info";
> +				reg = <0x90000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition at a0000 {
> +				compatible = "denx,fit";
> +				label = "firmware";
> +				reg = <0x0a0000 0xcf0000>;
> +			};
> +
> +			partition at d90000 {
> +				label = "user-config";
> +				reg = <0xd90000 0x60000>;
> +				read-only;
> +			};
> +
> +			partition at f30000 {
> +				label = "mutil-log";
> +				reg = <0xf30000 0x80000>;
> +				read-only;
> +			};
> +
> +			partition at fb0000 {
> +				label = "oops";
> +				reg = <0xfb0000 0x040000>;
> +				read-only;
> +			};
> +
> +			radio: partition at ff0000 {
> +				label = "radio";
> +				reg = <0xff0000 0x010000>;
> +				read-only;
> +			};
> +
> +			partition at 1000000 {
> +				status = "disabled";
> +
> +				label = "full";
> +				reg = <0x0 0x1000000>;
> +				read-only;
> +			};
> +
> +		};
> +	};
> +};
> +
> +&state_default {
> +	gpio {
> +		groups = "uart2", "uart3";
> +		function = "gpio";
> +	};
> +};
> +
> +&pcie {
> +	status = "okay";
> +};
> +
> +&pcie1 {
> +	wifi at 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";
> +	ports {
> +		port at 0 {
> +			status = "okay";
> +			label = "lan0";
> +		};
> +
> +		port at 1 {
> +			status = "okay";
> +			label = "lan3";
> +		};
> +
> +		port at 2 {
> +			status = "okay";
> +			label = "lan2";
> +		};
> +
> +		port at 3 {
> +			status = "okay";
> +			label = "lan1";
> +		};
> +
> +		port at 6 {
> +			fixed-link {
> +				pause;
> +			};
> +		};

We don't need this anymore with:

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=704c8426fb9d8de7ac8f41dd61e44092d7527620

With that:

Acked-by: Arınç ÜNAL <arinc.unal at arinc9.com>

Cheers.
Arınç



More information about the openwrt-devel mailing list