ramips: add support for TRENDnet TEW-810DR
authorJ. Scott Heppler <shep971@centurylink.net>
Tue, 26 May 2020 01:24:40 +0000 (18:24 -0700)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 26 May 2020 20:04:11 +0000 (22:04 +0200)
Specifications:

* MediaTek MT7620A (580 Mhz)
* 8 MB of FLASH
* 64 MB of RAM
* 2.4Ghz and 5.0Ghz radios
* 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
* UART header on PCB (57600 8n1)
* Green/Orange Power LEDs illuminating a Power-Button Lens
* Green/Orange Internet LEDs GPIO controlled illuminating a Globe/Internet Lens
* 3x button - wps, power and reset
* U-boot bootloader

Installation:

The sysupgrade.bin image is reported to be OEM web flashed with an ncc_att_hwid
appended.  ncc_att_hwid is a 32bit binary in the GPL Source download for either
the TEW-810DR or DIR-810L and is located at
source/user/wolf/cameo/ncc/hostTools.

The invocation is: ncc_att_hwid -f tew-810dr-squashfs-factory.bin -a -m "TEW-810DR" -H "1.0R" -r "WW" -c "1.0"

This may need to be altered if your hardware version is "1.1R".

The image can also be directly flashed via serial tftp:
1.  Load *.sysupgrade.bin to your tftp server directory and rename for
    convenience.
2.  Set a static ip 192.168.10.100.
3.  NIC cable to a lan port.
4.  Serial connection parameters 57600,8N1
5.  Power on the TEW-810 and press 4 for a u-boot command line prompt.
6.  Verify IP's with U-Boot command "printenv".
7.  Adjust tftp settings if needed per the tftp documentation
8.  Boot the tftp image to test the build.
9.  If the image loads, reset your server ip to 192.168.1.10 and restart network.
10. Log in to Luci, 192.168.1.1, and flash the *sysupgrade.bin image.

Notes:

The only valid MAC address is found in 0x28 of the factory partition.
Other typical offsets/caldata only contain example data: 00:11:22:00:0f:xx

Signed-off-by: J. Scott Heppler <shep971@centurylink.net>
[remove "link rx tx" in 01_leds, format and extend commit message,
fix DTS led node names]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts [new file with mode: 0644]
target/linux/ramips/image/mt7620.mk
target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
target/linux/ramips/mt7620/base-files/etc/board.d/02_network

diff --git a/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
new file mode 100644 (file)
index 0000000..24d5fcb
--- /dev/null
@@ -0,0 +1,166 @@
+//SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "trendnet,tew-810dr", "ralink,mt7620a-soc";
+       model = "TRENDnet TEW-810DR";
+
+       aliases {
+               led-boot = &led_power_green;
+               led-failsafe = &led_power_green;
+               led-running = &led_power_green;
+               led-upgrade = &led_power_green;
+               label-mac-device = &ethernet;
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_green: power_green {
+                       label = "tew-810dr:green:power";
+                       gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+               };
+
+               wan_orange {
+                       label = "tew-810dr:orange:wan";
+                       gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+               };
+
+               wan_green {
+                       label = "tew-810dr:green:wan";
+                       gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
+               };
+
+               power_orange {
+                       label = "tew-810dr:orange:power";
+                       gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <50000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0 0x30000>;
+                               read-only;
+                       };
+
+                       partition@30000 {
+                               label = "u-boot-env";
+                               reg = <0x30000 0x10000>;
+                               read-only;
+                       };
+
+                       factory: partition@40000 {
+                               label = "factory";
+                               reg = <0x40000 0x10000>;
+                               read-only;
+                       };
+
+                       factory5g: partition@50000 {
+                               label = "factory5g";
+                               reg = <0x50000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@60000 {
+                               label = "Wolf_Config";
+                               reg = <0x60000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@70000 {
+                               label = "MyDlink";
+                               reg = <0x70000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@f0000 {
+                               label = "Jffs2";
+                               reg = <0xf0000 0x80000>;
+                               read-only;
+                       };
+
+                       partition@170000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x170000 0x690000>;
+                       };
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "i2c", "uartf", "ephy";
+               function = "gpio";
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x28>;
+       mediatek,portmap = "llllw";
+};
+
+&gsw {
+       mediatek,port4 = "ephy";
+};
+
+&pcie {
+       status = "okay";
+};
+
+&wmac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pa_pins>;
+
+       ralink,mtd-eeprom = <&factory 0x0>;
+       mtd-mac-address = <&factory 0x28>;
+};
+
+&pcie0 {
+       wifi@0,0 {
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+               mtd-mac-address = <&factory 0x28>;
+               mtd-mac-address-increment = <2>;
+       };
+};
+
+&gpio2 {
+       status = "okay";
+};
index e435b1d15f825b387e5be234fd7d65cfc401fedb..386809e40f07482536900005a27411c9e2f865c1 100644 (file)
@@ -1005,6 +1005,15 @@ define Device/tplink_re210-v1
 endef
 TARGET_DEVICES += tplink_re210-v1
 
+define Device/trendnet_tew-810dr
+  SOC := mt7620a
+  DEVICE_PACKAGES := kmod-mt76x0e
+  DEVICE_VENDOR := TRENDnet
+  DEVICE_MODEL := TEW-810DR
+  IMAGE_SIZE := 6720k
+endef
+TARGET_DEVICES += trendnet_tew-810dr
+
 define Device/vonets_var11n-300
   SOC := mt7620n
   IMAGE_SIZE := 3776k
index c1deae59e31d57f3b1aa7d96a03e5404cac69513..e7b9413a48a0b850ff7fb5fc6a4c8f78ea9df822 100755 (executable)
@@ -191,6 +191,9 @@ tplink,archer-mr200)
 tplink,re200-v1)
        ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
        ;;
+trendnet,tew-810dr)
+       ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" "eth0.2"
+       ;;
 youku,yk1)
        set_wifi_led "$boardname:blue:air"
        ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
index d024674c109ef2472c4eec6dd10abeb32356fa17..2a54fa12e983ec48f06f6f6ae7c1026d04fd8809 100755 (executable)
@@ -26,6 +26,7 @@ ramips_setup_interfaces()
        ralink,mt7620a-mt7610e-evb|\
        ralink,mt7620a-v22sg-evb|\
        sanlinking,d240|\
+       trendnet,tew-810dr|\
        youku,yk1|\
        zbtlink,zbt-ape522ii|\
        zbtlink,zbt-we826-16m|\
@@ -259,7 +260,8 @@ ramips_setup_macs()
        alfa-network,ac1200rm|\
        dlink,dir-810l|\
        phicomm,psg1218a|\
-       phicomm,psg1218b)
+       phicomm,psg1218b|\
+       trendnet,tew-810dr)
                wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
                ;;
        alfa-network,r36m-e4g|\