aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodolphe de Saint Léger <rdesaintleger@gmail.com>2022-03-16 10:19:30 +0100
committerSungbo Eo <mans0n@gorani.run>2022-03-16 22:36:04 +0900
commit7bc20cb6143e089fae6ad4b173fc42b55bdbecfe (patch)
treeb480155ec15e9c06df6e0b6ac7f471c3a62ea862
parentbe89c9eec4c28123b61ed020ad5b8b02905e73af (diff)
downloadupstream-7bc20cb6143e089fae6ad4b173fc42b55bdbecfe.tar.gz
upstream-7bc20cb6143e089fae6ad4b173fc42b55bdbecfe.tar.bz2
upstream-7bc20cb6143e089fae6ad4b173fc42b55bdbecfe.zip
ramips: add support for Netgear WN3000RPv3
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@gmail.com> [drop unneeded includes in dts, wrap commit message] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
-rw-r--r--target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts155
-rw-r--r--target/linux/ramips/dts/mt7620a_netgear_wn3100rp-v2.dts8
-rw-r--r--target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi158
-rw-r--r--target/linux/ramips/image/mt7620.mk16
-rw-r--r--target/linux/ramips/mt7620/base-files/etc/board.d/01_leds3
-rw-r--r--target/linux/ramips/mt7620/base-files/etc/board.d/02_network1
6 files changed, 186 insertions, 155 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@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
- spi-max-frequency = <10000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x30000>;
- read-only;
- };
-
- partition@30000 {
- label = "u-boot-env";
- reg = <0x30000 0x10000>;
- read-only;
- };
-
- partition@40000 {
- compatible = "denx,uimage";
- label = "firmware";
- reg = <0x40000 0x7b0000>;
- };
-
- art: partition@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@0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_art_6: macaddr@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_wn3x00rp.dtsi b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi
new file mode 100644
index 0000000000..914d4e6bba
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi
@@ -0,0 +1,158 @@
+/* This file is released into the public domain */
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ 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@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ partition@40000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x40000 0x7b0000>;
+ };
+
+ art: partition@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@0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_art_6: macaddr@6 {
+ reg = <0x6 0x6>;
+ };
+};
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|\