[PATCH] ramips: add support for TOTOLINK X5000R

Bas Mevissen abuse at basmevissen.nl
Fri Mar 12 23:27:25 GMT 2021


Hi,

Thanks for creating this patch. Got my X5000R today. Before flashing it 
to OpenWRT, can you please tell me whether you (or anyone else) did 
performance measurements with the original and the OpenWRT firmware?

I measured over 600mbit/s with WPA3 when on my desk, next to a notebook 
with Intel WiFi6 AX200 card. So I hope I can keep that performance when 
on OpenWRT.

(measured with iperf3, tcp default settings, from wireless 5GHz to PC 
wired to WAN in both directions)

Many thanks in advance,

Bas.


On 10/21/20 7:21 AM, Chuanhong Guo wrote:
> Specifications:
> - SoC: MT7621AT
> - RAM: 256MB
> - Flash: 16MB (EN25QH128A)
> - Ethernet: 5xGbE
> - WiFi: MT7915 2x2 2.4G 573.5Mbps + 2x2 5G 1201Mbps
> 
> Known issue:
> MT7915 DBDC variant isn't supported yet.
> 
> Flash instruction:
> Upload the sysupgrade firmware to the firmware upgrade page in
> vendor fw.
> 
> Other info:
> MT7915 seems to have two PCIEs connected to MT7621. Card detected on
> PCIE0 has an ID of 14c3:7916 and the other one on PCIE1 has 14c3:7915.
> 
> Signed-off-by: Chuanhong Guo <gch981213 at gmail.com>
> ---
>   .../ramips/dts/mt7621_totolink_x5000r.dts     | 139 ++++++++++++++++++
>   target/linux/ramips/image/mt7621.mk           |  10 ++
>   2 files changed, 149 insertions(+)
>   create mode 100644 target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> 
> diff --git a/target/linux/ramips/dts/mt7621_totolink_x5000r.dts b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> new file mode 100644
> index 0000000000..b05d83978d
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_totolink_x5000r.dts
> @@ -0,0 +1,139 @@
> +// 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 = "totolink,x5000r", "mediatek,mt7621-soc";
> +	model = "TOTOLINK X5000R";
> +
> +	aliases {
> +		led-boot = &led_sys;
> +		led-failsafe = &led_sys;
> +		led-running = &led_sys;
> +		led-upgrade = &led_sys;
> +		label-mac-device = &gmac0;
> +		serial0 = &uartlite;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +		bootargs = "console=ttyS0,115200n8";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_sys: sys {
> +			label = "blue:sys";
> +			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
> +			debounce-interval = <60>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <50000000>;
> +		m25p,fast-read;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "u-boot";
> +				reg = <0x0 0x30000>;
> +				read-only;
> +			};
> +
> +			partition at 30000 {
> +				label = "u-boot-env";
> +				reg = <0x30000 0x10000>;
> +				read-only;
> +			};
> +
> +			factory: partition at 40000 {
> +				label = "factory";
> +				reg = <0x40000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition at 50000 {
> +				compatible = "denx,uimage";
> +				label = "firmware";
> +				reg = <0x50000 0xfb0000>;
> +			};
> +		};
> +	};
> +};
> +
> +&pcie {
> +	status = "okay";
> +};
> +
> +&pcie1 {
> +	wifi at 0,0 {
> +		compatible = "mediatek,mt76";
> +		reg = <0x0000 0 0 0 0>;
> +		mediatek,mtd-eeprom = <&factory 0x0000>;
> +	};
> +};
> +
> +&gmac0 {
> +	mtd-mac-address = <&factory 0xe000>;
> +};
> +
> +&switch0 {
> +	ports {
> +		port at 0 {
> +			status = "okay";
> +			label = "lan1";
> +		};
> +
> +		port at 1 {
> +			status = "okay";
> +			label = "lan2";
> +		};
> +
> +		port at 2 {
> +			status = "okay";
> +			label = "lan3";
> +		};
> +
> +		port at 3 {
> +			status = "okay";
> +			label = "lan4";
> +		};
> +
> +		port at 4 {
> +			status = "okay";
> +			label = "wan";
> +			mtd-mac-address = <&factory 0xe006>;
> +		};
> +	};
> +};
> +
> +&state_default {
> +	gpio {
> +		groups = "i2c", "wdt";
> +		function = "gpio";
> +	};
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
> index 274d9f7158..7a97f8aa73 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -1015,6 +1015,16 @@ define Device/totolink_a7000r
>   endef
>   TARGET_DEVICES += totolink_a7000r
>   
> +define Device/totolink_x5000r
> +  $(Device/dsa-migration)
> +  IMAGE_SIZE := 16064k
> +  UIMAGE_NAME := C8343R-9999
> +  DEVICE_VENDOR := TOTOLINK
> +  DEVICE_MODEL := X5000R
> +  DEVICE_PACKAGES := kmod-mt7915e
> +endef
> +TARGET_DEVICES += totolink_x5000r
> +
>   define Device/tplink_re350-v1
>     $(Device/dsa-migration)
>     $(Device/tplink-safeloader)
> 



More information about the openwrt-devel mailing list