ramips: add support for Netgear EX6130
authorFrederik Noe-Sdun <Frederik.Sdun@googlemail.com>
Mon, 29 Jul 2019 18:23:28 +0000 (20:23 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 8 Nov 2019 17:16:14 +0000 (18:16 +0100)
Specifications:
* SoC: MT7620A
* RAM: 64 MB DDR
* Flash: 8MB NOR SPI flash
* WiFi: MT7612E (5Ghz) and builtin MT7620A (2.4GHz)
* LAN: 1x100M

The -factory images can be flashed from the
device's web interface or via nmrpflash.

The device seems to use base PCB as EX3700/EX3800,
but supporting AC1200 using MT7612E.

MAC adresses:
5.0 GHz  0x8004  *:9a
2.4 GHz  0x4     *:9b
lan      0x28    *:9b
wan      0x2e    *:9c

Since this is a one-port device, although wan MAC address is
set in flash, it is not used in OpenWrt setup.

Signed-off-by: Frederik Noe-Sdun <Frederik.Sdun@googlemail.com>
[rebased, extended commit message, tiny DTS style fixes]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7620a_netgear_ex3700.dts
target/linux/ramips/dts/mt7620a_netgear_ex3700_ex6130.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7620a_netgear_ex6130.dts [new file with mode: 0644]
target/linux/ramips/image/mt7620.mk
target/linux/ramips/mt7620/base-files/etc/board.d/01_leds
target/linux/ramips/mt7620/base-files/etc/board.d/02_network

index 311f27781d1a682207359c83c0ffe8f53b67f4b0..f657e926cbff87fd4bc3da9626631ce1de078478 100644 (file)
@@ -2,10 +2,7 @@
 
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-#include "mt7620a.dtsi"
+#include "mt7620a_netgear_ex3700_ex6130.dtsi"
 
 / {
        compatible = "netgear,ex3700", "ralink,mt7620a-soc";
                led-upgrade = &led_power_green;
        };
 
-       chosen {
-               bootargs = "console=ttyS0,57600";
-       };
-
        leds {
                compatible = "gpio-leds";
 
                        gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
                };
        };
-
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-
-               wps {
-                       label = "wps";
-                       gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_WPS_BUTTON>;
-               };
-       };
-};
-
-&gpio0 {
-       status = "okay";
-};
-
-&gpio2 {
-       status = "okay";
-};
-
-&spi0 {
-       status = "okay";
-
-       m25p80@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 = "config";
-                               reg = <0x30000 0x10000>;
-                               read-only;
-                       };
-
-                       factory: partition@40000 {
-                               label = "factory";
-                               reg = <0x40000 0x10000>;
-                               read-only;
-                       };
-
-                       partition@50000 {
-                               compatible = "denx,uimage";
-                               label = "firmware";
-                               reg = <0x50000 0x790000>;
-                       };
-
-                       partition@7e0000 {
-                               label = "board_data";
-                               reg = <0x7e0000 0x10000>;
-                               read-only;
-                       };
-
-                       partition@7f0000 {
-                               label = "nvram";
-                               reg = <0x7f0000 0x10000>;
-                               read-only;
-                       };
-               };
-       };
-};
-
-&pcie {
-       status = "okay";
-};
-
-&pcie0 {
-       mt76@0,0 {
-               reg = <0x0000 0 0 0 0 >;
-               mediatek,mtd-eeprom = <&factory 0x8000>;
-               ieee80211-freq-limit = <5000000 6000000>;
-       };
-};
-
-&ethernet {
-       mtd-mac-address = <&factory 0x28>;
-};
-
-&wmac {
-       ralink,mtd-eeprom = <&factory 0x0>;
-};
-
-&pinctrl {
-       state_default: pinctrl0 {
-               default {
-                       ralink,group = "i2c", "rgmii2", "spi refclk";
-                       ralink,function = "gpio";
-               };
-       };
 };
diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex3700_ex6130.dtsi b/target/linux/ramips/dts/mt7620a_netgear_ex3700_ex6130.dtsi
new file mode 100644 (file)
index 0000000..a2d44e8
--- /dev/null
@@ -0,0 +1,115 @@
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "mt7620a.dtsi"
+
+/ {
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+};
+
+&gpio0 {
+       status = "okay";
+};
+
+&gpio2 {
+       status = "okay";
+};
+
+&spi0 {
+       status = "okay";
+
+       m25p80@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 = "config";
+                               reg = <0x30000 0x10000>;
+                               read-only;
+                       };
+
+                       factory: partition@40000 {
+                               label = "factory";
+                               reg = <0x40000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@50000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x50000 0x790000>;
+                       };
+
+                       partition@7e0000 {
+                               label = "board_data";
+                               reg = <0x7e0000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@7f0000 {
+                               label = "nvram";
+                               reg = <0x7f0000 0x10000>;
+                               read-only;
+                       };
+               };
+       };
+};
+
+&pcie {
+       status = "okay";
+};
+
+&pcie0 {
+       mt76@0,0 {
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x28>;
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0x0>;
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               default {
+                       ralink,group = "i2c", "rgmii2", "spi refclk";
+                       ralink,function = "gpio";
+               };
+       };
+};
diff --git a/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts b/target/linux/ramips/dts/mt7620a_netgear_ex6130.dts
new file mode 100644 (file)
index 0000000..68dd3f6
--- /dev/null
@@ -0,0 +1,57 @@
+/* This file is released into the public domain */
+
+/dts-v1/;
+
+#include "mt7620a_netgear_ex3700_ex6130.dtsi"
+
+/ {
+       compatible = "netgear,ex6130", "ralink,mt7620a-soc";
+       model = "Netgear EX6130";
+
+       aliases {
+               led-boot = &led_power_green;
+               led-failsafe = &led_power_green;
+               led-running = &led_power_green;
+               led-upgrade = &led_power_green;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_green: power_g {
+                       label = "ex6130:green:power";
+                       gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+               };
+
+               power_a {
+                       label = "ex6130:amber:power";
+                       gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
+               };
+
+               router_g {
+                       label = "ex6130:green:router";
+                       gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
+               };
+
+               router_r {
+                       label = "ex6130:red:router";
+                       gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
+               };
+
+               device_g {
+                       label = "ex6130:green:device";
+                       gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
+               };
+
+               device_r {
+                       label = "ex6130:red:device";
+                       gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
+               };
+
+               wps {
+                       label = "ex6130:green:wps";
+                       gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
index 88437a69040de2609592b04091b32c3228c3005e..d3de3074b2ec9d2aff4470b9f27a3b034da1e0e2 100644 (file)
@@ -612,6 +612,19 @@ define Device/netgear_ex3700
 endef
 TARGET_DEVICES += netgear_ex3700
 
+define Device/netgear_ex6130
+  MTK_SOC := mt7620a
+  NETGEAR_BOARD_ID := U12H319T50_NETGEAR
+  BLOCKSIZE := 4k
+  IMAGE_SIZE := 7744k
+  IMAGES += factory.chk
+  IMAGE/factory.chk := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | netgear-chk
+  DEVICE_PACKAGES := kmod-mt76x2
+  DEVICE_VENDOR := NETGEAR
+  DEVICE_MODEL := EX6130
+endef
+TARGET_DEVICES += netgear_ex6130
+
 define Device/netgear_wn3000rp-v3
   MTK_SOC := mt7620a
   IMAGE_SIZE := 7872k
index 6d6dcde6afd715b13a34a2b728f191096feaaee1..59f0fe8dabbf4fbadbb73b5b8f33efb2016fb430 100755 (executable)
@@ -155,7 +155,8 @@ netgear,ex2700|\
 netgear,wn3000rp-v3)
        set_wifi_led "$boardname:green:router"
        ;;
-netgear,ex3700)
+netgear,ex3700|\
+netgear,ex6130)
        ucidef_set_led_netdev "wlan5g" "ROUTER (green)" "$boardname:green:router" "wlan0"
        ucidef_set_led_netdev "wlan2g" "DEVICE (green)" "$boardname:green:device" "wlan1"
        ;;
index 94600bb437815935d6465a306cb49704da43712a..dfca48e12302c948902f8d3b4ed94f13f87cadfc 100755 (executable)
@@ -39,6 +39,7 @@ ramips_setup_interfaces()
        kimax,u25awf-h1|\
        netgear,ex2700|\
        netgear,ex3700|\
+       netgear,ex6130|\
        netgear,wn3000rp-v3|\
        planex,cs-qr10|\
        planex,mzk-ex300np|\