[openwrt/openwrt] ramips: add support for Netgear WN3100RPv2

LEDE Commits lede-commits at lists.infradead.org
Wed Mar 16 07:16:13 PDT 2022


mans0n pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/46c5de53856d97a1a926a272acc76a9af654f320

commit 46c5de53856d97a1a926a272acc76a9af654f320
Author: Rodolphe de Saint Léger <rdesaintleger at gmail.com>
AuthorDate: Wed Mar 16 10:19:30 2022 +0100

    ramips: add support for Netgear WN3100RPv2
    
    This patch adds support for the Netgear WN3100RPv2
    http://www.netgear.com/support/product/wn3100rpv2.aspx
    
    Specifications:
    - SoC: MediaTek MT7620A (580MHz, ramips)
    - RAM: 32MB DDR
    - Storage: 8MB NOR SPI flash
    - Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
    - Ethernet: 1x100M
    - Stock firmware based on OpenWRT Kamikaze
    
    Like the EX2700, the bootloader expects a secondary image signature,
    see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
    
    This device seems to be same hardware as a WN3000RPv3
    
    Flash instructions:
    - Use the Netgear WebUI to upgrade to OpenWRT using the factory image
      (see note below),
    - Use the sysupgrade image for upgrading versions from OpenWRT,
    - TFTP recovery procedure can be used to flash the factory image
      (preferred method).
    
    Note:
    - The WebUI may not reboot automatically, wait at least 5 minutes before
      powercycling the device
    
    Flashing using TFTP:
    - Set you IP address to 192.168.1.10/24 (no gateway)
    - Connect your machine to the Ethernet port
    - Power off the device and wait for 10 seconds,
    - Hold the reset button and power on the device (do not release reset),
    - Hold the reset button until the green light is flashing (Approx. 15s)
    - launch tftp, set mode to binary and connect to 192.168.1.1
    - put the factory firmware image
    - All leds will switch off (like a power off), this is normal
    - Wait for the device to reboot in the new OpenWRT image (max 5 mins)
    - The first boot will take longer than usual.
    - After boot, the Device IP on the ethernet port is 192.168.1.1
    
    Signed-off-by: Rodolphe de Saint Léger <rdesaintleger at gmail.com>
    [drop unneeded includes in dts, wrap commit message]
    Signed-off-by: Sungbo Eo <mans0n at gorani.run>
---
 .../ramips/dts/mt7620a_netgear_wn3000rp-v3.dts     | 155 +--------------------
 .../ramips/dts/mt7620a_netgear_wn3100rp-v2.dts     |   8 ++
 ...3000rp-v3.dts => mt7620a_netgear_wn3x00rp.dtsi} |   3 -
 target/linux/ramips/image/mt7620.mk                |  16 +++
 .../ramips/mt7620/base-files/etc/board.d/01_leds   |   3 +-
 .../mt7620/base-files/etc/board.d/02_network       |   1 +
 6 files changed, 28 insertions(+), 158 deletions(-)

diff --git a/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts b/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts
index c6fe7baa67..cddffb7224 100644
--- a/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts
+++ b/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts
@@ -1,161 +1,8 @@
 /* This file is released into the public domain */
 
-#include "mt7620a.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7620a_netgear_wn3x00rp.dtsi"
 
 / {
 	compatible = "netgear,wn3000rp-v3", "ralink,mt7620a-soc";
 	model = "Netgear WN3000RP v3";
-
-	aliases {
-		led-boot = &led_power_green;
-		led-failsafe = &led_power_green;
-		led-running = &led_power_green;
-		led-upgrade = &led_power_green;
-	};
-
-	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";
-
-		led_power_green: power_g {
-			label = "green:power";
-			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
-			default-state = "on";
-		};
-
-		power_r {
-			label = "red:power";
-			gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
-		};
-
-		client_g {
-			label = "green:client";
-			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
-		};
-
-		client_r {
-			label = "red:client";
-			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
-		};
-
-		router_g {
-			label = "green:router";
-			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
-		};
-
-		router_r {
-			label = "red:router";
-			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
-		};
-
-		wps {
-			label = "green:wps";
-			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
-		};
-
-		l_arrow {
-			label = "blue:leftarrow";
-			gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
-		};
-
-		r_arrow {
-			label = "blue:rightarrow";
-			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
-		};
-	};
-};
-
-&gpio1 {
-	status = "okay";
-};
-
-&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;
-			};
-
-			partition at 40000 {
-				compatible = "denx,uimage";
-				label = "firmware";
-				reg = <0x40000 0x7b0000>;
-			};
-
-			art: partition at 7f0000 {
-				label = "art";
-				reg = <0x7f0000 0x10000>;
-				read-only;
-			};
-		};
-	};
-};
-
-&ethernet {
-	nvmem-cells = <&macaddr_art_0>;
-	nvmem-cell-names = "mac-address";
-};
-
-&wmac {
-	ralink,mtd-eeprom = <&art 0x1000>;
-
-	nvmem-cells = <&macaddr_art_6>;
-	nvmem-cell-names = "mac-address";
-};
-
-&state_default {
-	default {
-		groups = "i2c", "uartf", "spi refclk";
-		function = "gpio";
-	};
-};
-
-&art {
-	compatible = "nvmem-cells";
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	macaddr_art_0: macaddr at 0 {
-		reg = <0x0 0x6>;
-	};
-
-	macaddr_art_6: macaddr at 6 {
-		reg = <0x6 0x6>;
-	};
 };
diff --git a/target/linux/ramips/dts/mt7620a_netgear_wn3100rp-v2.dts b/target/linux/ramips/dts/mt7620a_netgear_wn3100rp-v2.dts
new file mode 100644
index 0000000000..af4a73bade
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_netgear_wn3100rp-v2.dts
@@ -0,0 +1,8 @@
+/* This file is released into the public domain */
+
+#include "mt7620a_netgear_wn3x00rp.dtsi"
+
+/ {
+	compatible = "netgear,wn3100rp-v2", "ralink,mt7620a-soc";
+	model = "Netgear WN3100RP v2";
+};
diff --git a/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi
similarity index 96%
copy from target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts
copy to target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi
index c6fe7baa67..914d4e6bba 100644
--- a/target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts
+++ b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi
@@ -6,9 +6,6 @@
 #include <dt-bindings/input/input.h>
 
 / {
-	compatible = "netgear,wn3000rp-v3", "ralink,mt7620a-soc";
-	model = "Netgear WN3000RP v3";
-
 	aliases {
 		led-boot = &led_power_green;
 		led-failsafe = &led_power_green;
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 49d25b947f..d2a2c90460 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -819,6 +819,22 @@ define Device/netgear_wn3000rp-v3
 endef
 TARGET_DEVICES += netgear_wn3000rp-v3
 
+define Device/netgear_wn3100rp-v2
+  SOC := mt7620a
+  IMAGE_SIZE := 7872k
+  NETGEAR_HW_ID := 29764883+8+0+32+2x2+0
+  NETGEAR_BOARD_ID := WN3100RPv2
+  BLOCKSIZE := 4k
+  IMAGES += factory.bin
+  KERNEL := $(KERNEL_DTB) | uImage lzma | pad-offset 64k 64 | \
+	append-uImage-fakehdr filesystem
+  IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | netgear-dni
+  DEVICE_VENDOR := NETGEAR
+  DEVICE_MODEL := WN3100RP
+  DEVICE_VARIANT := v2
+endef
+TARGET_DEVICES += netgear_wn3100rp-v2
+
 define Device/netis_wf2770
   SOC := mt7620a
   IMAGE_SIZE := 16064k
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 5f105bd834..1293c34cbf 100644
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
@@ -161,7 +161,8 @@ lenovo,newifi-y1s)
 	ucidef_set_led_netdev "wan" "WAN" "blue:internet" "eth0.2" "tx rx"
 	;;
 netgear,ex2700|\
-netgear,wn3000rp-v3)
+netgear,wn3000rp-v3|\
+netgear,wn3100rp-v2)
 	ucidef_set_led_netdev "wifi_led" "wifi" "green:router" "wlan0"
 	;;
 netgear,ex3700|\
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 3ed72fa3ab..f7bc41669f 100644
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -54,6 +54,7 @@ ramips_setup_interfaces()
 	netgear,ex6120|\
 	netgear,ex6130|\
 	netgear,wn3000rp-v3|\
+	netgear,wn3100rp-v2|\
 	planex,cs-qr10|\
 	planex,mzk-ex300np|\
 	planex,mzk-ex750np|\




More information about the lede-commits mailing list