[openwrt/openwrt] ramips: add support for Linksys EA7300 v2
LEDE Commits
lede-commits at lists.infradead.org
Wed Sep 23 06:20:03 EDT 2020
adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/620f9c773413a0deaeda2bdc22d5e9cb89b9317f
commit 620f9c773413a0deaeda2bdc22d5e9cb89b9317f
Author: J. Scott Heppler <shep971 at centurylink.net>
AuthorDate: Tue Sep 22 19:30:45 2020 -0700
ramips: add support for Linksys EA7300 v2
This submission relied heavily on the work of
Santiago Rodriguez-Papa <contact at rodsan.dev>
Specifications:
* SoC: MediaTek MT7621A (880 MHz 2c/4t)
* RAM: Winbond W632GG6MB-12 (256M DDR3-1600)
* Flash: Winbond W29N01HVSINA (128M NAND)
* Eth: MediaTek MT7621A (10/100/1000 Mbps x5)
* Radio: MT7603E/MT7615N (2.4 GHz & 5 GHz)
4 antennae: 1 internal and 3 non-deatachable
* USB: 3.0 (x1)
* LEDs:
White (x1 logo)
Green (x6 eth + wps)
Orange (x5, hardware-bound)
* Buttons:
Reset (x1)
WPS (x1)
Installation:
Flash factory image through GUI.
This might fail due to the A/B nature of this device. When flashing, OEM
firmware writes over the non-booted partition. If booted from 'A',
flashing over 'B' won't work. To get around this, you should flash the
OEM image over itself. This will then boot the router from 'B' and
allow you to flash OpenWRT without problems.
Reverting to factory firmware:
Hard-reset the router three times to force it to boot from 'B.' This is
where the stock firmware resides. To remove any traces of OpenWRT from
your router simply flash the OEM image at this point.
Signed-off-by: J. Scott Heppler <shep971 at centurylink.net>
---
package/boot/uboot-envtools/files/ramips | 1 +
.../linux/ramips/dts/mt7621_linksys_ea7300-v2.dts | 55 ++++++++++++++++++++++
target/linux/ramips/image/mt7621.mk | 9 ++++
.../ramips/mt7621/base-files/etc/board.d/01_leds | 1 +
.../mt7621/base-files/etc/board.d/02_network | 1 +
.../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 1 +
.../ramips/mt7621/base-files/etc/init.d/bootcount | 1 +
.../mt7621/base-files/lib/upgrade/platform.sh | 1 +
8 files changed, 70 insertions(+)
diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
index 6ff04b26e8..14c12bbf09 100644
--- a/package/boot/uboot-envtools/files/ramips
+++ b/package/boot/uboot-envtools/files/ramips
@@ -40,6 +40,7 @@ ravpower,rp-wd03)
ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000"
;;
linksys,ea7300-v1|\
+linksys,ea7300-v2|\
linksys,ea7500-v2|\
xiaomi,mi-router-ac2100|\
xiaomi,mir3p|\
diff --git a/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
new file mode 100644
index 0000000000..f7330d1c86
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_linksys_ea7xxx.dtsi"
+
+/ {
+ compatible = "linksys,ea7300-v2", "mediatek,mt7621-soc";
+ model = "Linksys EA7300 v2";
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wan_green {
+ label = "ea7300-v2:green:wan";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ lan1_green {
+ label = "ea7300-v2:green:lan1";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+
+ lan2_green {
+ label = "ea7300-v2:green:lan2";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ };
+
+ lan3_green {
+ label = "ea7300-v2:green:lan3";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ };
+
+ lan4_green {
+ label = "ea7300-v2:green:lan4";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ led_power: power {
+ label = "ea7300-v2:white:power";
+ gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
+ };
+
+ wps {
+ label = "ea7300-v2:green:wps";
+ gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 78629563ee..274d9f7158 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -655,6 +655,15 @@ define Device/linksys_ea7300-v1
endef
TARGET_DEVICES += linksys_ea7300-v1
+define Device/linksys_ea7300-v2
+ $(Device/linksys_ea7xxx)
+ DEVICE_MODEL := EA7300
+ DEVICE_VARIANT := v2
+ LINKSYS_HWNAME := EA7300v2
+ DEVICE_PACKAGES += kmod-mt7603
+endef
+TARGET_DEVICES += linksys_ea7300-v2
+
define Device/linksys_ea7500-v2
$(Device/linksys_ea7xxx)
DEVICE_MODEL := EA7500
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index c5cd446809..8c3be541b0 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -42,6 +42,7 @@ gnubee,gb-pc2)
ucidef_set_led_netdev "lan2" "lan2" "$boardname:green:lan2" "lan2"
;;
linksys,ea7300-v1|\
+linksys,ea7300-v2|\
linksys,ea7500-v2)
ucidef_set_led_netdev "lan1" "lan1 link" "$boardname:green:lan1" "lan1" "link"
ucidef_set_led_netdev "lan2" "lan2 link" "$boardname:green:lan2" "lan2" "link"
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 1c1d0e4ab7..26063470e8 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -105,6 +105,7 @@ ramips_setup_macs()
label_mac=$wan_mac
;;
linksys,ea7300-v1|\
+ linksys,ea7300-v2|\
linksys,ea7500-v2)
lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
wan_mac=$lan_mac
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 3f7fdc1a79..b7a41f038c 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -11,6 +11,7 @@ board=$(board_name)
case "$board" in
linksys,ea7300-v1|\
+ linksys,ea7300-v2|\
linksys,ea7500-v2)
hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
index b17161a50a..7ef0053e67 100755
--- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
+++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
@@ -9,6 +9,7 @@ boot() {
echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
;;
linksys,ea7300-v1|\
+ linksys,ea7300-v2|\
linksys,ea7500-v2)
mtd resetbc s_env || true
;;
diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
index b1feea7ae6..442e78df3c 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -49,6 +49,7 @@ platform_do_upgrade() {
dlink,dir-2660-a1|\
hiwifi,hc5962|\
linksys,ea7300-v1|\
+ linksys,ea7300-v2|\
linksys,ea7500-v2|\
netgear,r6220|\
netgear,r6260|\
More information about the lede-commits
mailing list