[OpenWrt-Devel] [PATCH v4] ramips: add support for TRENDnet TEW-810DR

Heppler, J. Scott shep971 at centurylink.net
Thu May 7 12:03:14 EDT 2020


Information for reviewers:
By report, FCCid and board photos, this device shares a Cameo manufactured
board with the D-Link DIR-810L.  The DIR-810L dts does not enable GPIO40 for
the Green Internet/Globe lan led. The TEW-810DR dts should be applicable to the
DIR-810L and would provide improved Green Internet/Globe lan led
configurability.  I believe that it would be efficient to test the potential
DIR-810L changes prior to generating a *.dtsi.  I do not have a DIR-810L to
test.  I also reverted the spi-max-frequency to <10000000> based on a forum
report of instability.  Forum links detailing development:
https://forum.openwrt.org/t/trendnet-tew-810dr-leds/56601
https://forum.openwrt.org/t/trendnet-tew-810dr-mtd-partition/59676

Changes to be committed:
	new file:   target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
	modified:   target/linux/ramips/image/mt7620.mk
	modified:   target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
	modified:   target/linux/ramips/mt7620/base-files/etc/board.d/02_network

Specification:

* MediaTek MT7620A (580 Mhz)
* 8 MB of FLASH
* 64 MB of RAM
* 2.4Ghz and 5.0Ghz radios functional
* 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 available in the GPL Source download for either the
TEW-810DR or DIR-810L and is located at source/user/wolf/cameo/ncc/hostTools.
In Debian 10 amd64, 32bit libs are needed.  The invocation is:
ncc_att_hwid -f tew-810-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".
More information is available in the device page for TEW-810DR.  See the device
pages for the DIR-810L and TEW-810DR for more information.  The image can also
be reliable flashed via tftpboot as described in this OpenWrt forum
thread:
https://forum.openwrt.org/t/trendnet-tew-810dr-mtd-partition/59676.
---
 .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 166 ++++++++++++++++++
 target/linux/ramips/image/mt7620.mk           |  10 ++
 .../mt7620/base-files/etc/board.d/01_leds     |   3 +
 .../mt7620/base-files/etc/board.d/02_network  |   4 +-
 4 files changed, 182 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts

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
index 0000000000..cba646f76e
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
@@ -0,0 +1,166 @@
+/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 = ðernet;
+	};
+
+	keys {
+		compatible = "gpio-keys-polled";
+		poll-interval = <20>;
+
+		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 {
+			label = "tew-810dr:orange:wan";
+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+		};
+
+		lan {
+			label = "tew-810dr:green:lan";
+			gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
+		};
+
+		power_orange {
+			label = "tew-810dr:orange:power";
+			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <10000000>;
+
+		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;
+			};
+
+			factory5g: partition at 50000 {
+				label = "factory5g";
+				reg = <0x50000 0x10000>;
+				read-only;
+			};
+
+			partition at 60000 {
+				label = "Wolf_Config";
+				reg = <0x60000 0x10000>;
+				read-only;
+			};
+
+			partition at 70000 {
+				label = "MyDlink";
+				reg = <0x70000 0x80000>;
+				read-only;
+			};
+
+			partition at e0000 {
+				label = "Jffs2";
+				reg = <0xf0000 0x80000>;
+				read-only;
+			};
+
+			partition at 170000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x170000 0x690000>;
+			};
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "mdio", "rgmii1", "i2c", "wled", "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 at 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";
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 69b9b7d7fd..74acc5ae2d 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -981,6 +981,16 @@ 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
+  SUPPORTED_DEVICES += tew-810dr
+endef
+TARGET_DEVICES += trendnet_tew-810dr
+
 define Device/vonets_var11n-300
   SOC := mt7620n
   IMAGE_SIZE := 3776k
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
index d332e02bbd..cfe5ed4418 100755
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
@@ -192,6 +192,9 @@ tplink,archer-mr200)
 tplink,re200-v1)
 	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
 	;;
+trendnet,tew-810dr)
+        ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "br-lan" "link tx rx"
+        ;;
 youku,yk1)
 	set_wifi_led "$boardname:blue:air"
 	ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index 8ae50b3df5..19f02be438 100755
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -22,6 +22,7 @@ ramips_setup_interfaces()
 	planex,db-wrt01|\
 	planex,mzk-750dhp|\
 	sanlinking,d240|\
+	trendnet,tew-810dr|\
 	youku,yk1|\
 	zbtlink,zbt-ape522ii|\
 	zbtlink,zbt-we826-16m|\
@@ -261,7 +262,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|\
-- 
2.20.1


_______________________________________________
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