From cb049e71cdc08e17f664403a0ef970c480ae5c4a Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 26 Apr 2016 11:43:53 +0000 Subject: [PATCH] ramips: Add support for the Netgear WNDR3700v5 https://wiki.openwrt.org/toh/netgear/wndr3700 wndr3700v5 uses the single-core dual thread MediaTek MT7621S SoC. Signed-off-by: L. D. Pinney SVN-Revision: 49247 --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/etc/diag.sh | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/WNDR3700V5.dts | 139 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 6 + .../linux/ramips/mt7621/profiles/netgear.mk | 17 +++ 8 files changed, 171 insertions(+) create mode 100644 target/linux/ramips/dts/WNDR3700V5.dts create mode 100644 target/linux/ramips/mt7621/profiles/netgear.mk 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 a263b524a2a..aeaab3395a6 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -271,6 +271,9 @@ wrh-300cr) set_wifi_led "$board:green:wlan" ucidef_set_led_netdev "lan" "lan" "$board:green:ethernet" "eth0" ;; +wndr3700v5) + ucidef_set_led_default "power" "POWER" "$board:green:power" "0" + ;; wt3020) ucidef_set_led_default "power" "power" "$board:blue:power" "0" ;; 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 28fcc61352d..c6c740f6238 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -81,6 +81,7 @@ ramips_setup_interfaces() whr-300hp2|\ whr-600d|\ witi|\ + wndr3700v5|\ wsr-1166|\ wsr-600|\ wt1520|\ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 352357c6cde..20ff8fff38f 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -27,6 +27,7 @@ get_status_led() { nbg-419n|\ pwh2004|\ wnce2001|\ + wndr3700v5|\ x5|\ x8|\ xdxrn502j) diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 13d325dbbca..2c669c5a5bf 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -460,6 +460,9 @@ ramips_board_detect() { *"WNCE2001") name="wnce2001" ;; + *"WNDR3700v5") + name="wndr3700v5" + ;; *"WR512-3GN-like"*) name="wr512-3gn" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 522e78a6040..2b24030ecd4 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -136,6 +136,7 @@ platform_check_image() { wli-tx4-ag300n|\ wmr-300|\ wnce2001|\ + wndr3700v5|\ wr512-3gn|\ wr6202|\ wrh-300cr|\ diff --git a/target/linux/ramips/dts/WNDR3700V5.dts b/target/linux/ramips/dts/WNDR3700V5.dts new file mode 100644 index 00000000000..7b208490f59 --- /dev/null +++ b/target/linux/ramips/dts/WNDR3700V5.dts @@ -0,0 +1,139 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board","ralink,mt7621-soc"; + model = "Netgear WNDR3700v5"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600 maxcpus=2"; + }; + + palmbus@1E000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l12805d"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@f30000 { + label = "factory"; + reg = <0xf30000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0xfb0000>; + }; + }; + }; + }; + + pcie@1e140000 { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0004>; + mediatek,2ghz = <0>; + }; + }; + + pcie2 { + mt76@2,0 { + reg = <0x1000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8004>; + mediatek,5ghz = <0>; + }; + }; + }; + + ethernet@1e100000 { + mtd-mac-address = <&factory 0x0000000c>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "rgmii2", "mdio", "wdt"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps { + label = "wndr3700v5:green:wps"; + gpios = <&gpio0 12 1>; + }; + + power { + label = "wndr3700v5:green:power"; + gpios = <&gpio0 18 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wndr3700v5:wps"; + gpios = <&gpio0 7 0>; + linux,code = <0x211>; + }; + + wifi { + label = "wndr3700v5:wifi"; + gpios = <&gpio0 8 0>; + linux,code = <0xf7>; + }; + + reset { + label = "wndr3700v5:reset"; + gpios = <&gpio0 14 0>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usbpower { + gpio-export,name = "usbpower"; + gpio-export,output = <1>; + gpios = <&gpio0 10 1>; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 0af9596e5ee..1b8d3dae875 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -97,6 +97,12 @@ define Device/witi endef TARGET_DEVICES += witi +define Device/wndr3700v5 + DTS := WNDR3700V5 + IMAGE_SIZE := $(ralink_default_fw_size_16M) +endef +TARGET_DEVICES += wndr3700v5 + define Device/zbt-wg2626 DTS := ZBT-WG2626 IMAGE_SIZE := $(ralink_default_fw_size_16M) diff --git a/target/linux/ramips/mt7621/profiles/netgear.mk b/target/linux/ramips/mt7621/profiles/netgear.mk new file mode 100644 index 00000000000..05802a252f0 --- /dev/null +++ b/target/linux/ramips/mt7621/profiles/netgear.mk @@ -0,0 +1,17 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/WNDR3700V5 + NAME:=Netgear WNDR3700v5 + PACKAGES:=\ + kmod-usb-core kmod-usb3 +endef + +define Profile/WNDR3700V5/Description + Package set compatible with the Netgear WNDR3700v5. +endef +$(eval $(call Profile,WNDR3700V5))