[PATCH] ramips: add support for TP-Link MR6400 v5

Filip Moc lede at moc6.cz
Tue Nov 24 14:36:55 EST 2020


Hi Adrian,

> Since it looks from the commit message like v4 is a 100% clone of v5, maybe add two simple sentences about the differences: LED GPIOs and switch connections.
Ok.

> Please add an SPDX license identifier (it would be nice if you also added one for v4 in a separate patch).
Ok, hope MIT-0 will do.

> Don't see i2s required anywhere?
Yes you're right. i2s is not used. I got confused from how the table of
pin sharing is page-wrapped in datasheet.
Good catch, nice to see someone actually checks this.

I'll update this patch to address these.
And I'll also send patch for v4's dts license.

Filip


On Tue, Nov 24, 2020 at 03:34:03PM +0100, Adrian Schmutzler wrote:
> Hi,
> 
> a few minor comments:
> 
> > -----Original Message-----
> > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> > On Behalf Of Filip Moc
> > Sent: Dienstag, 24. November 2020 10:01
> > To: openwrt-devel at lists.openwrt.org
> > Subject: [PATCH] ramips: add support for TP-Link MR6400 v5
> > 
> > You can flash via tftp recovery:
> >  - serve tftp-recovery image as /tp_recovery.bin on 192.168.0.225/24
> >  - connect to any ethernet port
> >  - power on the device while holding the reset button
> >  - wait at least 8 seconds before releasing reset button
> > 
> > Flashing via OEM web interface does not work.
> > 
> > LTE module does not support DHCP so it must be configured via QMI.
> > 
> > Hardware Specification (v5.0 EU):
> >  - SoC: MT7628NN
> >  - Flash: Winbond W25Q64JVS (8MiB)
> >  - RAM: ESMT M14D5121632A (64MiB)
> >  - Wireless: SoC platform only (2.4GHz b/g/n, 2x internal antenna)
> >  - Ethernet: 1NIC (4x100M)
> >  - WWAN: TP-LINK LTE MODULE (2x external detachable antenna)
> >  - Power: DC 9V 0.85A
> 
> Since it looks from the commit message like v4 is a 100% clone of v5, maybe add two simple sentences about the differences: LED GPIOs and switch connections.
> 
> > 
> > Signed-off-by: Filip Moc <lede at moc6.cz>
> > ---
> > 
> > Notes:
> >     Bugs:
> >       This device is affected by first uqmi command hang.
> >       This causes qmi proto to hang sometimes when setting up wwan
> > connection for
> >       the first time after boot.
> >       There is already a patch [1] applied which aims to fix this. But update of
> >       qmi.sh is still needed to make use of it.
> >       So far it can be manually restarted or workarounded by editing qmi.sh.
> > 
> >     [1]
> > https://git.openwrt.org/?p=project/uqmi.git;a=commitdiff;h=0a19b5b77140
> > 465c29e2afa7d611fe93abc9672f
> > 
> >  .../dts/mt7628an_tplink_tl-mr6400-v5.dts      | 97 +++++++++++++++++++
> >  target/linux/ramips/image/mt76x8.mk           | 16 +++
> >  .../mt76x8/base-files/etc/board.d/01_leds     |  4 +
> >  .../mt76x8/base-files/etc/board.d/02_network  |  4 +
> >  4 files changed, 121 insertions(+)
> >  create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-
> > v5.dts
> > 
> > diff --git a/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts
> > b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts
> > new file mode 100644
> > index 0000000000..09e8be9547
> > --- /dev/null
> > +++ b/target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts
> > @@ -0,0 +1,97 @@
> > +#include "mt7628an_tplink_8m.dtsi"
> 
> Please add an SPDX license identifier (it would be nice if you also added one for v4 in a separate patch).
> 
> > +
> > +/ {
> > +	compatible = "tplink,tl-mr6400-v5", "mediatek,mt7628an-soc";
> > +	model = "TP-Link TL-MR6400 v5";
> > +
> > +	aliases {
> > +		led-boot = &led_power;
> > +		led-failsafe = &led_power;
> > +		led-running = &led_power;
> > +		led-upgrade = &led_power;
> > +	};
> > +
> > +	keys {
> > +		compatible = "gpio-keys";
> > +
> > +		reset {
> > +			label = "reset";
> > +			gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
> > +			linux,code = <KEY_RESTART>;
> > +		};
> > +
> > +		rfkill {
> > +			label = "rfkill";
> > +			gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
> > +			linux,code = <KEY_RFKILL>;
> > +		};
> > +	};
> > +
> > +	leds {
> > +		compatible = "gpio-leds";
> > +
> > +		wlan {
> > +			label = "white:wlan";
> > +			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "phy0tpt";
> > +		};
> > +
> > +		lan {
> > +			label = "white:lan";
> > +			gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		led_power: power {
> > +			label = "white:power";
> > +			gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		wan {
> > +			label = "white:wan";
> > +			gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		signal1 {
> > +			label = "white:signal1";
> > +			gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		signal2 {
> > +			label = "white:signal2";
> > +			gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		signal3 {
> > +			label = "white:signal3";
> > +			gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
> > +		};
> > +	};
> > +};
> > +
> > +&ehci {
> > +	status = "okay";
> > +};
> > +
> > +&ohci {
> > +	status = "okay";
> > +};
> > +
> > +&state_default {
> > +	gpio {
> > +		groups = "i2c", "i2s", "p0led_an", "p1led_an", "p2led_an",
> > "p3led_an", "p4led_an", "uart1", "wdt";
> 
> Don't see i2s required anywhere?
> 
> Best
> 
> Adrian
> 
> > +		function = "gpio";
> > +	};
> > +};
> > +
> > +&esw {
> > +	mediatek,portmap = <0x37>;
> > +	mediatek,portdisable = <0x30>;
> > +};
> > +
> > +&wmac {
> > +	mtd-mac-address = <&factory 0x1f100>;
> > +};
> > +
> > +&ethernet {
> > +	mtd-mac-address = <&factory 0x1f100>;
> > +};
> > diff --git a/target/linux/ramips/image/mt76x8.mk
> > b/target/linux/ramips/image/mt76x8.mk
> > index 30c41420aa..72539f7a14 100644
> > --- a/target/linux/ramips/image/mt76x8.mk
> > +++ b/target/linux/ramips/image/mt76x8.mk
> > @@ -498,6 +498,22 @@ define Device/tplink_tl-mr6400-v4  endef
> > TARGET_DEVICES += tplink_tl-mr6400-v4
> > 
> > +define Device/tplink_tl-mr6400-v5
> > +  $(Device/tplink-v2)
> > +  IMAGE_SIZE := 7808k
> > +  DEVICE_MODEL := TL-MR6400
> > +  DEVICE_VARIANT := v5
> > +  TPLINK_FLASHLAYOUT := 8Mmtk
> > +  TPLINK_HWID := 0x64000005
> > +  TPLINK_HWREV := 0x5
> > +  TPLINK_HWREVADD := 0x5
> > +  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-
> > usbport \
> > +	kmod-usb-serial kmod-usb-serial-option kmod-usb-net-qmi-wwan
> > uqmi
> > +  IMAGES := sysupgrade.bin tftp-recovery.bin
> > +  IMAGE/tftp-recovery.bin := pad-extra 128k | $$(IMAGE/factory.bin)
> > +endef TARGET_DEVICES += tplink_tl-mr6400-v5
> > +
> >  define Device/tplink_tl-wa801nd-v5
> >    $(Device/tplink-v2)
> >    IMAGE_SIZE := 7808k
> > diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
> > b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
> > index 4ed38bf5f2..31bd9e05b1 100755
> > --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
> > +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
> > @@ -79,6 +79,10 @@ tplink,tl-mr6400-v4)
> >  	ucidef_set_led_switch "lan" "lan" "white:lan" "switch0" "0x0e"
> >  	ucidef_set_led_switch "wan" "wan" "white:wan" "switch0" "0x10"
> >  	;;
> > +tplink,tl-mr6400-v5)
> > +	ucidef_set_led_switch "lan" "lan" "white:lan" "switch0" "0x07"
> > +	ucidef_set_led_switch "wan" "wan" "white:wan" "switch0" "0x08"
> > +	;;
> >  tplink,tl-wr841n-v13)
> >  	ucidef_set_led_wlan "wlan2g" "wlan2g" "green:wlan" "phy0tpt"
> >  	ucidef_set_led_switch "lan1" "lan1" "green:lan1" "switch0" "0x2"
> > diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
> > b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
> > index a7e978a2e2..f4e3fcacb5 100755
> > --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
> > +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
> > @@ -116,6 +116,10 @@ ramips_setup_interfaces()
> >  		ucidef_add_switch "switch0" \
> >  			"1:lan" "2:lan" "3:lan" "4:wan" "6 at eth0"
> >  		;;
> > +	tplink,tl-mr6400-v5)
> > +		ucidef_add_switch "switch0" \
> > +			"0:lan" "1:lan" "2:lan" "3:wan" "6 at eth0"
> > +		;;
> >  	tplink,tl-wr902ac-v3)
> >  		ucidef_add_switch "switch0" \
> >  			"4:lan" "6 at eth0"
> > --
> > 2.28.0
> > 
> > 
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel at lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel





More information about the openwrt-devel mailing list