[OpenWrt-Devel] [PATCH v3] ramips: add support for TRENDnet TEW-810DR
Heppler, J. Scott
shep971 at centurylink.net
Sun Mar 29 19:20:05 EDT 2020
ramips: add support for TRENDnet TEW-810DR
new file: target/linux/ramips/dts/mt7620a_cameo_810.dtsi
modified: target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts
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/02_network
Trendnet TEW-810DR builds and tests on my device. TEW-810DR leds
functional with LAN4 caveat. D-Link DIR-810L builds
but unable to test.
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)
* BiColor Green/Orange Power LED GPIO contolled,
BiColor Green/Orange Internet LED has a none-GPIO based driver
active with NIC into LAN4
* 3x button - wps, power and reset
* U-boot bootloader
Installation:
The sysupgrade.bin image needs to have a cameo hardware ID appended
with ncc_att_hwid. 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. 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”
More information is available in the device page for TEW-810DR.
The appended image can then be flash via the Web rescue interface
192.168.10.1 or TFTP's to the same IP address. Subsequent upgrades
can be done using the Luci web interface or the ssh command line per the
OpenWRT documentation
---
.../linux/ramips/dts/mt7620a_cameo_810.dtsi | 143 ++++++++++++++++++
.../ramips/dts/mt7620a_dlink_dir-810l.dts | 130 +---------------
.../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 31 ++++
target/linux/ramips/image/mt7620.mk | 10 ++
.../mt7620/base-files/etc/board.d/02_network | 3 +-
5 files changed, 187 insertions(+), 130 deletions(-)
create mode 100644 target/linux/ramips/dts/mt7620a_cameo_810.dtsi
create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
diff --git a/target/linux/ramips/dts/mt7620a_cameo_810.dtsi b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi
new file mode 100644
index 0000000000..a3039a2400
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_cameo_810.dtsi
@@ -0,0 +1,143 @@
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "dlink,dir-810l", "ralink,mt7620a-soc";
+
+ 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";
+
+ 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";
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash at 0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+
+ 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 f0000 {
+ label = "Jffs2";
+ reg = <0xf0000 0x80000>;
+ read-only;
+ };
+
+ partition at 170000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x170000 0x690000>;
+ };
+ };
+ };
+};
+
+&state_default {
+ gpio {
+ ralink,group = "i2c", "uartf";
+ ralink,function = "gpio";
+ };
+};
+
+ðernet {
+ mtd-mac-address = <&factory 0x28>;
+ mediatek,portmap = "llllw";
+};
+
+&gsw {
+ pinctrl-names = "default";
+ pinctrl-0 = <&ephy_pins>;
+
+ 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>;
+ };
+};
diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts
index 0a22eee3b5..250ea9419c 100644
--- a/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts
+++ b/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts
@@ -1,6 +1,6 @@
/dts-v1/;
-#include "mt7620a.dtsi"
+#include "mt7620a_cameo_810.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@@ -9,29 +9,6 @@
compatible = "dlink,dir-810l", "ralink,mt7620a-soc";
model = "D-Link DIR-810L";
- 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";
-
- 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";
@@ -52,108 +29,3 @@
};
};
};
-
-&spi0 {
- status = "okay";
-
- flash at 0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <50000000>;
-
- 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 f0000 {
- label = "Jffs2";
- reg = <0xf0000 0x80000>;
- read-only;
- };
-
- partition at 170000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x170000 0x690000>;
- };
- };
- };
-};
-
-&state_default {
- gpio {
- ralink,group = "i2c", "uartf";
- ralink,function = "gpio";
- };
-};
-
-ðernet {
- mtd-mac-address = <&factory 0x28>;
- mediatek,portmap = "llllw";
-};
-
-&gsw {
- pinctrl-names = "default";
- pinctrl-0 = <&ephy_pins>;
-
- 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>;
- };
-};
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..31b5189157
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts
@@ -0,0 +1,31 @@
+/dts-v1/;
+
+#include "mt7620a_cameo_810.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "trendnet,dir-810dr", "ralink,mt7620a-soc";
+ model = "TRENDnet TEW-810DR";
+
+
+ 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>;
+ };
+
+ power_orange {
+ label = "tew-810dr:orange:power";
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 552879e02f..c5cb7f28f9 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -955,6 +955,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/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index 76e1d56bd3..60afc48693 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
@@ -256,7 +256,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
--
J. Scott Heppler
_______________________________________________
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