aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorChristoph Krapp <achterin@googlemail.com>2019-08-29 10:08:38 +0200
committerDavid Bauer <mail@david-bauer.net>2019-08-31 10:31:00 +0200
commit6cea9688af4a05f407266ed1de5a739e5c984b8c (patch)
tree8d51ac01326a7bec0ce2c775834c9a40eb8d12bd /target/linux
parent3c8df280a96bbd81357d6eb52845e6b5fa7162fe (diff)
downloadupstream-6cea9688af4a05f407266ed1de5a739e5c984b8c.tar.gz
upstream-6cea9688af4a05f407266ed1de5a739e5c984b8c.tar.bz2
upstream-6cea9688af4a05f407266ed1de5a739e5c984b8c.zip
ramips: add support for Netgear R6260 and R6850
As Netgear uses the same image for R6260, R6350 & R6850 we can merge device tree files and generate separate images for each device. Signed-off-by: Christoph Krapp <achterin@googlemail.com> [add missing WiFi compatible string, fix network configuration] Signed-off-by: David Bauer <mail@david-bauer.net>
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/01_leds2
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/02_network6
-rwxr-xr-xtarget/linux/ramips/base-files/lib/upgrade/platform.sh2
-rw-r--r--target/linux/ramips/dts/mt7621_netgear_r6260.dts28
-rw-r--r--target/linux/ramips/dts/mt7621_netgear_r6260_r6350_r6850.dtsi159
-rw-r--r--target/linux/ramips/dts/mt7621_netgear_r6350.dts152
-rw-r--r--target/linux/ramips/dts/mt7621_netgear_r6850.dts28
-rw-r--r--target/linux/ramips/image/mt7621.mk20
8 files changed, 251 insertions, 146 deletions
diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 6735876651..fa36aee9e3 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -293,7 +293,9 @@ netgear,r6120)
ucidef_set_led_wlan "wlan2g" "WiFi 2.4GHz" "$boardname:green:wlan2g" "phy0tpt"
;;
netgear,r6220|\
+netgear,r6260|\
netgear,r6350|\
+netgear,r6850|\
netgear,wndr3700-v5)
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
;;
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 2fd7b07bd7..e19a618389 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -395,7 +395,9 @@ ramips_setup_interfaces()
;;
netgear,r6120|\
netgear,r6220|\
+ netgear,r6260|\
netgear,r6350|\
+ netgear,r6850|\
netgear,wndr3700-v5)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
@@ -593,7 +595,9 @@ ramips_setup_macs()
wan_mac=$(mtd_get_mac_binary devdata 0x7)
;;
edimax,br-6478ac-v2|\
- netgear,r6350)
+ netgear,r6260|\
+ netgear,r6350|\
+ netgear,r6850)
wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
;;
elecom,wrc-1167ghbk2-s|\
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index a65492a309..9889079db9 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -23,7 +23,9 @@ platform_do_upgrade() {
case "$board" in
hiwifi,hc5962|\
netgear,r6220|\
+ netgear,r6260|\
netgear,r6350|\
+ netgear,r6850|\
xiaomi,mir3g|\
xiaomi,mir3p)
nand_do_upgrade "$1"
diff --git a/target/linux/ramips/dts/mt7621_netgear_r6260.dts b/target/linux/ramips/dts/mt7621_netgear_r6260.dts
new file mode 100644
index 0000000000..9c6acadd67
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_netgear_r6260.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "mt7621_netgear_r6260_r6350_r6850.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "netgear,r6260", "mediatek,mt7621-soc";
+ model = "Netgear R6260";
+};
+
+&led_power {
+ label = "r6260:green:power";
+};
+
+&led_usb {
+ label = "r6260:green:usb";
+};
+
+&led_internet {
+ label = "r6260:green:wan";
+};
+
+&led_wifi {
+ label = "r6260:green:wifi";
+};
diff --git a/target/linux/ramips/dts/mt7621_netgear_r6260_r6350_r6850.dtsi b/target/linux/ramips/dts/mt7621_netgear_r6260_r6350_r6850.dtsi
new file mode 100644
index 0000000000..2fe4d241cc
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_netgear_r6260_r6350_r6850.dtsi
@@ -0,0 +1,159 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "mediatek,mt7621-soc";
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,57600";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
+ };
+
+ led_usb: usb {
+ gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+ led_internet: internet {
+ gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
+ };
+
+ led_wifi: wifi {
+ gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ wps {
+ label = "wps";
+ gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ reg_usb_vbus: regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "usb_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+};
+
+&nand {
+ status = "okay";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "SC PART_MAP";
+ reg = <0x100000 0x100000>;
+ read-only;
+ };
+
+ partition@200000 {
+ label = "kernel";
+ reg = <0x200000 0x400000>;
+ };
+
+ partition@600000 {
+ label = "ubi";
+ reg = <0x600000 0x2800000>;
+ };
+
+ partition@2e00000 {
+ label = "reserved0";
+ reg = <0x2e00000 0x1800000>;
+ read-only;
+ };
+
+ factory: partition@4600000 {
+ label = "factory";
+ reg = <0x4600000 0x200000>;
+ read-only;
+ };
+
+ partition@4800000 {
+ label = "reserved1";
+ reg = <0x4800000 0x3800000>;
+ read-only;
+ };
+ };
+};
+
+&xhci {
+ vbus-supply = <&reg_usb_vbus>;
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
+
+&pcie1 {
+ wifi@0,0 {
+ compatible = "mediatek,mt76";
+ reg = <0x0 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x0>;
+ ieee80211-freq-limit = <2400000 2500000>;
+ };
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "uart3", "uart2", "jtag", "wdt";
+ ralink,function = "gpio";
+ };
+ };
+};
diff --git a/target/linux/ramips/dts/mt7621_netgear_r6350.dts b/target/linux/ramips/dts/mt7621_netgear_r6350.dts
index 54640244c5..3b8d4de102 100644
--- a/target/linux/ramips/dts/mt7621_netgear_r6350.dts
+++ b/target/linux/ramips/dts/mt7621_netgear_r6350.dts
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
-#include "mt7621.dtsi"
+#include "mt7621_netgear_r6260_r6350_r6850.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
@@ -9,154 +9,20 @@
/ {
compatible = "netgear,r6350", "mediatek,mt7621-soc";
model = "Netgear R6350";
-
- aliases {
- led-boot = &led_power;
- led-failsafe = &led_power;
- led-running = &led_power;
- led-upgrade = &led_power;
- };
-
- chosen {
- bootargs = "console=ttyS0,57600";
- };
-
- leds {
- compatible = "gpio-leds";
-
- led_power: power {
- label = "r6350:green:power";
- gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
- };
-
- usb {
- label = "r6350:green:usb";
- gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
- trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
- linux,default-trigger = "usbport";
- };
-
- internet {
- label = "r6350:green:wan";
- gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
- };
-
- wifi {
- label = "r6350:green:wifi";
- gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
- linux,default-trigger = "phy0tpt";
- };
- };
-
- keys {
- compatible = "gpio-keys-polled";
- poll-interval = <20>;
-
- wps {
- label = "wps";
- gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_WPS_BUTTON>;
- };
-
- reset {
- label = "reset";
- gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
-
- gpio_export {
- compatible = "gpio-export";
- #size-cells = <0>;
-
- usbpower {
- gpio-export,name = "usbpower";
- gpio-export,output = <1>;
- gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
- };
- };
-};
-
-&nand {
- status = "okay";
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x100000>;
- read-only;
- };
-
- partition@100000 {
- label = "SC PART_MAP";
- reg = <0x100000 0x100000>;
- read-only;
- };
-
- partition@200000 {
- label = "kernel";
- reg = <0x200000 0x400000>;
- };
-
- partition@600000 {
- label = "ubi";
- reg = <0x600000 0x2800000>;
- };
-
- partition@2e00000 {
- label = "reserved0";
- reg = <0x2e00000 0x1800000>;
- read-only;
- };
-
- factory: partition@4600000 {
- label = "factory";
- reg = <0x4600000 0x200000>;
- read-only;
- };
-
- partition@4800000 {
- label = "reserved1";
- reg = <0x4800000 0x3800000>;
- read-only;
- };
- };
-};
-
-&pcie {
- status = "okay";
};
-&pcie0 {
- wifi@0,0 {
- compatible = "mediatek,mt76";
- reg = <0x0 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
- ieee80211-freq-limit = <5000000 6000000>;
- };
+&led_power {
+ label = "r6350:green:power";
};
-&pcie1 {
- wifi@0,0 {
- reg = <0x0 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x0>;
- ieee80211-freq-limit = <2400000 2500000>;
- };
+&led_usb {
+ label = "r6350:green:usb";
};
-&ethernet {
- mtd-mac-address = <&factory 0x4>;
+&led_internet {
+ label = "r6350:green:wan";
};
-&pinctrl {
- state_default: pinctrl0 {
- gpio {
- ralink,group = "uart3", "uart2", "jtag", "wdt";
- ralink,function = "gpio";
- };
- };
+&led_wifi {
+ label = "r6350:green:wifi";
};
diff --git a/target/linux/ramips/dts/mt7621_netgear_r6850.dts b/target/linux/ramips/dts/mt7621_netgear_r6850.dts
new file mode 100644
index 0000000000..6a24e97017
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_netgear_r6850.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "mt7621_netgear_r6260_r6350_r6850.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "netgear,r6850", "mediatek,mt7621-soc";
+ model = "Netgear R6850";
+};
+
+&led_power {
+ label = "r6850:green:power";
+};
+
+&led_usb {
+ label = "r6850:green:usb";
+};
+
+&led_internet {
+ label = "r6850:green:wan";
+};
+
+&led_wifi {
+ label = "r6850:green:wifi";
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 96dd74afcf..986fe5e2f8 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -414,7 +414,7 @@ define Device/netgear_r6220
endef
TARGET_DEVICES += netgear_r6220
-define Device/netgear_r6350
+define Device/netgear_r6260_r6350_r6850
MTK_SOC := mt7621
BLOCKSIZE := 128k
PAGESIZE := 2048
@@ -431,12 +431,28 @@ define Device/netgear_r6350
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
DEVICE_VENDOR := NETGEAR
- DEVICE_MODEL := R6350
DEVICE_PACKAGES := \
kmod-mt7603 kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
endef
+
+define Device/netgear_r6260
+ $(Device/netgear_r6260_r6350_r6850)
+ DEVICE_MODEL := R6260
+endef
+TARGET_DEVICES += netgear_r6260
+
+define Device/netgear_r6350
+ $(Device/netgear_r6260_r6350_r6850)
+ DEVICE_MODEL := R6350
+endef
TARGET_DEVICES += netgear_r6350
+define Device/netgear_r6850
+ $(Device/netgear_r6260_r6350_r6850)
+ DEVICE_MODEL := R6850
+endef
+TARGET_DEVICES += netgear_r6850
+
define Device/netgear_wndr3700-v5
MTK_SOC := mt7621
BLOCKSIZE := 64k