[OpenWrt-Devel] [PATCH 3/3] ath79: add support for Netgear WNDR4500 v3
Michal Cieslakiewicz
michal.cieslakiewicz at wp.pl
Sat Dec 21 08:55:55 EST 2019
This patch introduces support for Netgear WNDR4500v3. Router
is very similar to WNDR4300v2 and is based on the same PCB.
Information gathered from various Internet sources (including
https://patchwork.ozlabs.org/patch/809227/) shows following
differences to WNDR4300v2:
* two USB 2.0 ports
* WPS and RFKILL buttons soldered to secondary pads
* described as N900 device with 3x3:3 MIMO for 2.4GHz radio
* power supply requirement is DC 12V 2.5A
* HW ID suffix differs in one digit
* bigger case
Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz at wp.pl>
---
package/boot/uboot-envtools/files/ath79 | 1 +
.../ath79/dts/qca9563_netgear_wndr4500-v3.dts | 41 +++++++++++++++++++
target/linux/ath79/image/nand.mk | 11 +++++
.../ath79/nand/base-files/etc/board.d/01_leds | 3 +-
.../nand/base-files/etc/board.d/02_network | 6 ++-
.../etc/hotplug.d/firmware/10-ath9k-eeprom | 6 ++-
6 files changed, 63 insertions(+), 5 deletions(-)
create mode 100644 target/linux/ath79/dts/qca9563_netgear_wndr4500-v3.dts
diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index 85a0342a60..aafced98db 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -27,6 +27,7 @@ librerouter,librerouter-v1|\
netgear,ex6400|\
netgear,ex7300|\
netgear,wndr4300-v2|\
+netgear,wndr4500-v3|\
netgear,wnr1000-v2|\
netgear,wnr2000-v3|\
netgear,wnr2200-8m|\
diff --git a/target/linux/ath79/dts/qca9563_netgear_wndr4500-v3.dts b/target/linux/ath79/dts/qca9563_netgear_wndr4500-v3.dts
new file mode 100644
index 0000000000..95e30ea84b
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_netgear_wndr4500-v3.dts
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "qca9563_netgear_wndr.dtsi"
+
+/ {
+ compatible = "netgear,wndr4500-v3", "qca,qca9563";
+ model = "Netgear WNDR4500 v3";
+};
+
+&leds {
+ usb1_green {
+ label = "netgear:green:usb1";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&hub_port0>;
+ linux,default-trigger = "usbport";
+ };
+
+ usb2_green {
+ label = "netgear:green:usb2";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&hub_port1>;
+ linux,default-trigger = "usbport";
+ };
+};
+
+&usb_phy1 {
+ status = "okay";
+};
+
+&usb1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ hub_port1: port at 1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
+};
diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk
index a81127a962..529ae870a5 100644
--- a/target/linux/ath79/image/nand.mk
+++ b/target/linux/ath79/image/nand.mk
@@ -162,6 +162,17 @@ define Device/netgear_wndr4300-v2
endef
TARGET_DEVICES += netgear_wndr4300-v2
+define Device/netgear_wndr4500-v3
+ SOC := qca9563
+ DEVICE_MODEL := WNDR4500
+ DEVICE_VARIANT := v3
+ NETGEAR_KERNEL_MAGIC := 0x27051956
+ NETGEAR_BOARD_ID := WNDR4500series
+ NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
+ $(Device/netgear_ath79_nand)
+endef
+TARGET_DEVICES += netgear_wndr4500-v3
+
define Device/zyxel_nbg6716
SOC := qca9558
DEVICE_VENDOR := ZyXEL
diff --git a/target/linux/ath79/nand/base-files/etc/board.d/01_leds b/target/linux/ath79/nand/base-files/etc/board.d/01_leds
index 0376b7cfc6..d9989ec538 100755
--- a/target/linux/ath79/nand/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/nand/base-files/etc/board.d/01_leds
@@ -14,7 +14,8 @@ glinet,gl-ar300m-nor)
;;
netgear,wndr3700-v4|\
netgear,wndr4300|\
-netgear,wndr4300-v2)
+netgear,wndr4300-v2|\
+netgear,wndr4500-v3)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "netgear:amber:wan" "switch0" "0x20"
;;
esac
diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network b/target/linux/ath79/nand/base-files/etc/board.d/02_network
index 135a06d44b..bd02a4b383 100755
--- a/target/linux/ath79/nand/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network
@@ -18,7 +18,8 @@ ath79_setup_interfaces()
;;
netgear,wndr3700-v4|\
netgear,wndr4300|\
- netgear,wndr4300-v2)
+ netgear,wndr4300-v2|\
+ netgear,wndr4500-v3)
ucidef_add_switch "switch0" \
"0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
;;
@@ -39,7 +40,8 @@ ath79_setup_macs()
case "$board" in
netgear,wndr3700-v4|\
netgear,wndr4300|\
- netgear,wndr4300-v2)
+ netgear,wndr4300-v2|\
+ netgear,wndr4500-v3)
wan_mac=$(mtd_get_mac_binary caldata 0x6)
;;
zyxel,nbg6716)
diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 7ee291d109..d2f8bae1ca 100644
--- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -11,7 +11,8 @@ case "$FIRMWARE" in
case $board in
netgear,wndr3700-v4|\
netgear,wndr4300|\
- netgear,wndr4300-v2)
+ netgear,wndr4300-v2|\
+ netgear,wndr4500-v3)
caldata_extract "caldata" 0x1000 0x440
;;
zyxel,nbg6716)
@@ -27,7 +28,8 @@ case "$FIRMWARE" in
case $board in
netgear,wndr3700-v4|\
netgear,wndr4300|\
- netgear,wndr4300-v2)
+ netgear,wndr4300-v2|\
+ netgear,wndr4500-v3)
caldata_extract "caldata" 0x5000 0x440
;;
*)
--
2.24.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