[openwrt/openwrt] ath79/nand: add support for Netgear WNDR4300TN

LEDE Commits lede-commits at lists.infradead.org
Thu Aug 6 10:56:17 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/394f54ee6201542cf0a69d307b13ffda233dd87a

commit 394f54ee6201542cf0a69d307b13ffda233dd87a
Author: Davy Hollevoet <github at natox.be>
AuthorDate: Mon Jun 22 14:45:14 2020 +0200

    ath79/nand: add support for Netgear WNDR4300TN
    
    This patch adds support for the WNDR4300TN, marketed by Belgian ISP
    Telenet. The hardware is the same as the WNDR4300 v1, without the
    fifth ethernet port (WAN) and the USB port. The circuit board has
    the traces, but the components are missing.
    
    Specifications:
    * SoC: Atheros AR9344
    * RAM: 128 MB
    * Flash: 128 MB NAND flash
    * WiFi: Atheros AR9580 (5 GHz) and AR9344 (2.4 GHz)
    * Ethernet: 4x 1000Base-T
    * LED: Power, LAN, WiFi 2.4GHz, WiFi 5GHz, WPS
    * UART: on board, to the right of the RF shield at the top of the board
    
    Installation:
    
    * Flashing through the OEM web interface:
      + Connect your computer to the router with an ethernet cable and browse
        to http://192.168.0.51/
      + Log in with the default credentials are admin:password
      + Browse to Advanced > Administration > Firmware Upgrade in the Telenet
        interface
      + Upload the Openwrt firmware: openwrt-ath79-nand-netgear_wndr4300tn-squashfs-factory.img
      + Proceed with the firmware installation and give the device a few
        minutes to finish and reboot.
    
    * Flashing through TFTP:
      + Configure your wired client with a static IP in the 192.168.1.x range,
        e.g. 192.168.1.10 and netmask 255.255.255.0.
      + Power off the router.
      + Press and hold the RESET button (the factory reset button on the bottom
        of the device, with the gray circle around it, next to the Telenet logo)
        and turn the router on while keeping the button pressed.
      + The power LED will start flashing orange. You can release the button
        once it switches to flashing green.
      + Transfer the image over TFTP:
        $ tftp 192.168.1.1 -m binary -c put openwrt-ath79-nand-netgear_wndr4300tn-squashfs-factory.img
    
    Signed-off-by: Davy Hollevoet <github at natox.be>
    [use DT label reference for adding LEDs in DTSI files]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 package/boot/uboot-envtools/files/ath79            |  1 +
 target/linux/ath79/dts/ar9344_netgear_wndr.dtsi    | 41 +---------------------
 .../linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts |  2 ++
 target/linux/ath79/dts/ar9344_netgear_wndr4300.dts |  2 ++
 .../linux/ath79/dts/ar9344_netgear_wndr4300sw.dts  |  2 ++
 ...ndr4300sw.dts => ar9344_netgear_wndr4300tn.dts} |  4 +--
 .../linux/ath79/dts/ar9344_netgear_wndr_usb.dtsi   | 34 ++++++++++++++++++
 .../linux/ath79/dts/ar9344_netgear_wndr_wan.dtsi   | 13 +++++++
 target/linux/ath79/image/nand.mk                   | 10 ++++++
 .../ath79/nand/base-files/etc/board.d/02_network   |  4 +++
 .../etc/hotplug.d/firmware/10-ath9k-eeprom         |  2 ++
 11 files changed, 73 insertions(+), 42 deletions(-)

diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index 0442e9e485..aca8a089c3 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -64,6 +64,7 @@ netgear,wndrmac-v1)
 	;;
 netgear,wndr3700-v4|\
 netgear,wndr4300|\
+netgear,wndr4300tn|\
 netgear,wndr4300sw)
 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000"
 	;;
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi
index 90978fb99f..f2909061da 100644
--- a/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi
@@ -40,7 +40,7 @@
 		};
 	};
 
-	leds {
+	leds: leds {
 		compatible = "gpio-leds";
 
 		pinctrl-names = "default";
@@ -57,16 +57,6 @@
 			default-state = "keep";
 		};
 
-		wan_green {
-			label = "netgear:green:wan";
-			gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
-		};
-
-		wan_amber {
-			label = "netgear:amber:wan";
-			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
-		};
-
 		wlan2g_green {
 			label = "netgear:green:wlan2g";
 			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
@@ -88,13 +78,6 @@
 			label = "netgear:amber:wps";
 			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
 		};
-
-		usb_green {
-			label = "netgear:green:usb";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-			trigger-sources = <&hub_port>;
-			linux,default-trigger = "usbport";
-		};
 	};
 
 	ubi-concat {
@@ -272,28 +255,6 @@
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
-
-		usb_power {
-			gpio-hog;
-			line-name = "netgear:power:usb";
-			gpios = <0 GPIO_ACTIVE_HIGH>;
-			output-high;
-		};
-	};
-};
-
-&usb_phy {
-	status = "okay";
-};
-
-&usb {
-	status = "okay";
-	#address-cells = <1>;
-	#size-cells = <0>;
-
-	hub_port: port at 1 {
-		reg = <1>;
-		#trigger-source-cells = <0>;
 	};
 };
 
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts b/target/linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts
index 8a38aeab59..a7756f1d44 100644
--- a/target/linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts
@@ -2,6 +2,8 @@
 /dts-v1/;
 
 #include "ar9344_netgear_wndr.dtsi"
+#include "ar9344_netgear_wndr_wan.dtsi"
+#include "ar9344_netgear_wndr_usb.dtsi"
 
 / {
 	compatible = "netgear,wndr3700-v4", "qca,ar9344";
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr4300.dts b/target/linux/ath79/dts/ar9344_netgear_wndr4300.dts
index 9b57bb88a6..235181d8d4 100644
--- a/target/linux/ath79/dts/ar9344_netgear_wndr4300.dts
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr4300.dts
@@ -2,6 +2,8 @@
 /dts-v1/;
 
 #include "ar9344_netgear_wndr.dtsi"
+#include "ar9344_netgear_wndr_wan.dtsi"
+#include "ar9344_netgear_wndr_usb.dtsi"
 
 / {
 	compatible = "netgear,wndr4300", "qca,ar9344";
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts b/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
index fb90eee550..7643b3c140 100644
--- a/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
@@ -2,6 +2,8 @@
 /dts-v1/;
 
 #include "ar9344_netgear_wndr.dtsi"
+#include "ar9344_netgear_wndr_wan.dtsi"
+#include "ar9344_netgear_wndr_usb.dtsi"
 
 / {
 	compatible = "netgear,wndr4300sw", "qca,ar9344";
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts b/target/linux/ath79/dts/ar9344_netgear_wndr4300tn.dts
similarity index 56%
copy from target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
copy to target/linux/ath79/dts/ar9344_netgear_wndr4300tn.dts
index fb90eee550..bed85a3877 100644
--- a/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr4300tn.dts
@@ -4,6 +4,6 @@
 #include "ar9344_netgear_wndr.dtsi"
 
 / {
-	compatible = "netgear,wndr4300sw", "qca,ar9344";
-	model = "Netgear WNDR4300SW";
+	compatible = "netgear,wndr4300tn", "qca,ar9344";
+	model = "Netgear WNDR4300TN";
 };
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr_usb.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr_usb.dtsi
new file mode 100644
index 0000000000..e3780632e9
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr_usb.dtsi
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+&leds {
+	usb_green {
+		label = "netgear:green:usb";
+		gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		trigger-sources = <&hub_port>;
+		linux,default-trigger = "usbport";
+	};
+};
+
+&ath9k {
+	usb_power {
+		gpio-hog;
+		line-name = "netgear:power:usb";
+		gpios = <0 GPIO_ACTIVE_HIGH>;
+		output-high;
+	};
+};
+
+&usb_phy {
+	status = "okay";
+};
+
+&usb {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	hub_port: port at 1 {
+		reg = <1>;
+		#trigger-source-cells = <0>;
+	};
+};
diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr_wan.dtsi b/target/linux/ath79/dts/ar9344_netgear_wndr_wan.dtsi
new file mode 100644
index 0000000000..91c2971f8c
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_netgear_wndr_wan.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+&leds {
+	wan_green {
+		label = "netgear:green:wan";
+		gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+	};
+
+	wan_amber {
+		label = "netgear:amber:wan";
+		gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+	};
+};
diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk
index 2efe85d17f..c7f96eb6d4 100644
--- a/target/linux/ath79/image/nand.mk
+++ b/target/linux/ath79/image/nand.mk
@@ -206,6 +206,16 @@ define Device/netgear_wndr4300sw
 endef
 TARGET_DEVICES += netgear_wndr4300sw
 
+define Device/netgear_wndr4300tn
+  SOC := ar9344
+  DEVICE_MODEL := WNDR4300TN
+  NETGEAR_KERNEL_MAGIC := 0x33373033
+  NETGEAR_BOARD_ID := WNDR4300TN
+  NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
+  $(Device/netgear_ath79_nand)
+endef
+TARGET_DEVICES += netgear_wndr4300tn
+
 define Device/netgear_wndr4300-v2
   SOC := qca9563
   DEVICE_MODEL := WNDR4300
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 daba0e9679..910df517aa 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
@@ -29,6 +29,10 @@ ath79_setup_interfaces()
 		ucidef_add_switch "switch0" \
 			"0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
 		;;
+	netgear,wndr4300tn)
+		ucidef_add_switch "switch0" \
+			"0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
+		;;
 	zyxel,nbg6716)
 		ucidef_add_switch "switch0" \
 			"0 at eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6 at eth1"
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 60defa5f8b..cac955905a 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
@@ -15,6 +15,7 @@ case "$FIRMWARE" in
 	netgear,wndr3700-v4|\
 	netgear,wndr4300|\
 	netgear,wndr4300sw|\
+	netgear,wndr4300tn|\
 	netgear,wndr4300-v2|\
 	netgear,wndr4500-v3)
 		caldata_extract "caldata" 0x1000 0x440
@@ -29,6 +30,7 @@ case "$FIRMWARE" in
 	netgear,wndr3700-v4|\
 	netgear,wndr4300|\
 	netgear,wndr4300sw|\
+	netgear,wndr4300tn|\
 	netgear,wndr4300-v2|\
 	netgear,wndr4500-v3)
 		caldata_extract "caldata" 0x5000 0x440



More information about the lede-commits mailing list