From patchwork Mon Mar 28 15:58:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "L. D. Pinney" X-Patchwork-Id: 602513 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (caladan.dune.hu [78.24.191.180]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3qYdqq0Mbrz9sBf for ; Tue, 29 Mar 2016 02:58:46 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=My9uKnAB; dkim-atps=neutral Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id EC333B91EE7; Mon, 28 Mar 2016 17:58:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP; Mon, 28 Mar 2016 17:58:35 +0200 (CEST) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id BC775B91EDF for ; Mon, 28 Mar 2016 17:58:33 +0200 (CEST) X-policyd-weight: using cached result; rate: -7 Received: from mail-oi0-f53.google.com (mail-oi0-f53.google.com [209.85.218.53]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Mon, 28 Mar 2016 17:58:33 +0200 (CEST) Received: by mail-oi0-f53.google.com with SMTP id d205so175820707oia.0 for ; Mon, 28 Mar 2016 08:58:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=qrKMoYIdZZy5Ps3uFf2X0v2MnpZVbnL70b1BbBC4ca8=; b=My9uKnABxXYqR8/83OiQ59ILzW2xXCkhVOexelcfKeGhxkMm0wbU4wr5ueuEJttScn Ha6s611gbOUs68XN0QdKg8b5A+9Ze2DjHrf3KQbPVUjtEI62IClfeQ1DWcaW4fY0Y8rg Olq4I8SvCtolPqMKGhF9OCSymTIZ41wBNl8aUkoIUwd1AYT/2pTQ+LMtJlt8IlfSqPqU Rrmy+UuQtjzqlMpF3RTBdfr8mq5s6c/0FDyYF60W1RRYhjK/zMpEYSLyjRVkgmJfgVvd PllbvjPNzWu3YIhciOpVFKhznxSO6Ez22bo6qRhjdNgBednvwVwTebrd1HGQ35TuOrX7 jOlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=qrKMoYIdZZy5Ps3uFf2X0v2MnpZVbnL70b1BbBC4ca8=; b=aTtH+bAiwYEn3kZhKNPKRsCixZTnk/bm8NGAUlWIoPhlfW9cXOXrQm112imTJbd1of LegA4ZhD4SD309ILnQ7OhS0qjfXSDFn2fwUwbKi+bLxaD7d+kQw0QDdgNWskpMMz+oxI C6pSukVYH253/tEIYBvCbfL7RehYRUNkmlJxmV9p95GewG8GFxIY2hbZvFOsAB1NwG99 KswEHVMlIM+Ttr0gakE3r6Xb9/JBOIV0ZvylisgXa5otUDP7AJsQLSj4Eu2WZbnQLRJg UtT6cF8DXiVnS5O+KoMZel15hvVoJEMAwuZbS9iTbgYaFy2/8o/DNjeqP7F70z6bJCjq BlUQ== X-Gm-Message-State: AD7BkJKXwiVe3waaztuXDusgd+1iQ7Q2/qSLx0mS632Q7O0nH6Dbb4qY47FqUCscDe/HAg== X-Received: by 10.157.27.180 with SMTP id z49mr11275897otd.61.1459180682896; Mon, 28 Mar 2016 08:58:02 -0700 (PDT) Received: from black.lan (ip70-189-80-78.ok.ok.cox.net. [70.189.80.78]) by smtp.googlemail.com with ESMTPSA id k4sm8081668obx.13.2016.03.28.08.58.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 28 Mar 2016 08:58:02 -0700 (PDT) From: "L. D. Pinney" To: OpenWrt Development List Date: Mon, 28 Mar 2016 10:58:02 -0500 Message-Id: <1459180682-19993-1-git-send-email-ldpinney@gmail.com> X-Mailer: git-send-email 2.1.4 Subject: [OpenWrt-Devel] [RFC] ramips: Add initial support for the Netgear WNDR3700v5 X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" Sercomm hacked bootloader replaced with my own from : https://github.com/gnubee-git/GnuBee-MT7621-uboot.git Relevent files and instructions can be downloaded from : https://drive.google.com/open?id=0B0CKglNyN0URM2FhVDBpNkVsRlk Some Devices are 'uncooperative' Reset and WPS switches, and LEDs other than power. Radios are still non-functional. (MT7662E and MT7603EN) Device has the single-core MediaTek MT7621S. How should CONFIG_NR_CPUS=2 be set in the kernel config ... most other devices will need CPUS=4 ?? Signed-off-by: L. D. Pinney --- target/linux/ramips/base-files/etc/board.d/01_leds | 3 ++ target/linux/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 ++ target/linux/ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/WNDR3700V5.dts | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ target/linux/ramips/image/Makefile | 7 +++- target/linux/ramips/mt7621/config-4.4 | 2 +- target/linux/ramips/mt7621/profiles/netgear.mk | 17 ++++++++++ 9 files changed, 155 insertions(+), 2 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 5816e60..a396212 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -264,6 +264,9 @@ whr-600d) wnce2001) set_wifi_led "$board:green:wlan" ;; +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 4b65d36..8c804b2 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 daa7fb1..2f34aff 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -26,6 +26,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 5f1df7b..e67ac8d 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -454,6 +454,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 c329dce..db9d7de 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -133,6 +133,7 @@ platform_check_image() { wli-tx4-ag300n|\ wmr-300|\ wnce2001|\ + wndr3700v5|\ wr512-3gn|\ wr6202|\ wrtnode|\ diff --git a/target/linux/ramips/dts/WNDR3700V5.dts b/target/linux/ramips/dts/WNDR3700V5.dts new file mode 100644 index 0000000..508ba86 --- /dev/null +++ b/target/linux/ramips/dts/WNDR3700V5.dts @@ -0,0 +1,122 @@ +/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"; + }; + + 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,5ghz = <0>; + }; + }; + + pcie2 { + mt76@2,0 { + reg = <0x1000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8004>; + mediatek,2ghz = <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"; + + power { + label = "wndr3700v5:green:power"; + gpios = <&gpio0 18 0>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 8 0>; + linux,code = <0xf7>; + }; + }; + + 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/Makefile b/target/linux/ramips/image/Makefile index 0cfb8fb..a25f025 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -1058,7 +1058,7 @@ endif # ifeq ($(SUBTARGET),mt7621) - TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 sap-g3200u3 ubnt-erx witi wf-2881 zbt-wg2626 + TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 sap-g3200u3 ubnt-erx witi wf-2881 wndr3700v5 zbt-wg2626 endif define Device/mt7621 @@ -1115,6 +1115,11 @@ define Device/witi IMAGE_SIZE := $(ralink_default_fw_size_16M) endef +define Device/wndr3700v5 + DTS := WNDR3700V5 + IMAGE_SIZE := $(ralink_default_fw_size_16M) +endef + define Device/zbt-wg2626 DTS := ZBT-WG2626 IMAGE_SIZE := $(ralink_default_fw_size_16M) diff --git a/target/linux/ramips/mt7621/config-4.4 b/target/linux/ramips/mt7621/config-4.4 index 862c8e9..6d93c1d 100644 --- a/target/linux/ramips/mt7621/config-4.4 +++ b/target/linux/ramips/mt7621/config-4.4 @@ -179,7 +179,7 @@ CONFIG_NET_MEDIATEK_SOC=y CONFIG_NET_VENDOR_MEDIATEK=y CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y # CONFIG_NO_IOPORT_MAP is not set -CONFIG_NR_CPUS=4 +CONFIG_NR_CPUS=2 CONFIG_OF=y CONFIG_OF_ADDRESS=y CONFIG_OF_ADDRESS_PCI=y diff --git a/target/linux/ramips/mt7621/profiles/netgear.mk b/target/linux/ramips/mt7621/profiles/netgear.mk new file mode 100644 index 0000000..05802a2 --- /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))