From patchwork Thu Oct 19 03:18:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Araneda X-Patchwork-Id: 827920 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="rhFus66L"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pFha+GXt"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yHZ234dkcz9t2r for ; Thu, 19 Oct 2017 14:20:43 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=gCsQqMV0q7galLdOj5agoIOVqTkapNT7Z3C0s6HjZDM=; b=rhFus66LlyVGWu cv+8C9J2F6N3YxnXximgsiYKkh8pnokFSDxqHhu7ntB4WRKTnthA4YxnIdVP93P7tLA6rwYeA7zlX BkURc/WUCdBvCqYKTmQ8aVuqvPB/XeD7ZnbJAfoQTD5kRutJo9WjH0O1ZgxOopemlAvFt9D1AaA2o njR/3tdbCx4goi/p/+cz8BW3d7Zg8s+3n7RIOyD0skL96g+SLiEhrksv04LT2JhYTBGedVOlygN7F oJep2YuHRfhRxt2QtXHmzwxFafXtftLnt33xIAyBq1bK3CsvUhSm9Q0f4k4xHX7XeYu5StBaarrKy W/ZNALvZifqSzXFbA3ng==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1e51Nh-0004Nd-BH; Thu, 19 Oct 2017 03:20:25 +0000 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1e51Mq-0002Cs-43 for lede-dev@lists.infradead.org; Thu, 19 Oct 2017 03:19:40 +0000 Received: by mail-qk0-x241.google.com with SMTP id d67so8819653qkg.5 for ; Wed, 18 Oct 2017 20:19:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=G+RrA5d3wZMaKpcIBKHT7ySFk89kORbBDiCpRidmeTQ=; b=pFha+GXtqSG5H9dgGytGs3s0t9XiB3b1ZjRVfjrbNgSDOrlG96WiAz+4pajqNC/f+M f6mRso6QkiSh8S/hWGUn4YZFWfqJ+tgbZa+oLpB5+VSbWl1HzdUh15bxJSR9G9W8Cg/g ch4T2VTtOTa8+p6Qi+K3yfz61zjmdwjYjOo6MMhcDI2OYJPbaQH1TEB1HAOrZBzxfrFr ORNkSuilmUcgLro4DH2uogVxVvWjqjY5j+LtnjNiAm8C/eS699HzE6ELaQIt8+1gRONx pf+HImI8s0PaaWefg6dk8TnpiVG0eKDOIMBU1CuH54ylYZwQHCXbP3RJje88Ev0qSBb7 IejQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=G+RrA5d3wZMaKpcIBKHT7ySFk89kORbBDiCpRidmeTQ=; b=WUYJ1/JK0xZF9YLCTNVc5JLZ1U7kLO6f22rEE0mKfFOjlqfzhCRO1gPcjtCErFivxM kwIwS9hd1U16HfPQs97QLMNqU0xMF6I7EWS+3gja69S/tMYw55GA8lZFcYLs1Q7rL860 aUUBFFKmH2WNf0p5FxC5x9LKuKmKqyIZa5VCDxlzoxrH1VKFserH2dleTKHC36w8uhRE /o8qPnkgQ5xwYFlglmw+gHNTlAmQ1TwWViZX0yGPxk+1kms82WU23Cc7eb8swshRtoU+ uUhr1fXDQxruAc1qlgCExsBuHxGF90mstSzHA2L/Yl43x+Y7rnkC08lP6wQZblOlp2mv JeRg== X-Gm-Message-State: AMCzsaWyTvBpIBl93/bVtSf8z9fErGckhset3g0Oc6z10nVf5dinhTGe O9x1mMX6WUnBh5eaFUsAIQuVoA== X-Google-Smtp-Source: ABhQp+QxqCutsJc5JrAb2eMiTiaXmZciC2hf2b7ZGxDDGsnD9mQW/4oYCgw91c6Tr8mQZIr2cDWewA== X-Received: by 10.55.39.145 with SMTP id n139mr232592qkn.70.1508383155338; Wed, 18 Oct 2017 20:19:15 -0700 (PDT) Received: from luaraneda-UB.localdomain (186-106-103-67.baf.movistar.cl. [186.106.103.67]) by smtp.gmail.com with ESMTPSA id e43sm9192001qte.74.2017.10.18.20.19.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Oct 2017 20:19:14 -0700 (PDT) From: Luis Araneda To: lede-dev@lists.infradead.org Date: Thu, 19 Oct 2017 00:18:41 -0300 Message-Id: <20171019031841.6175-5-luaraneda@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171019031841.6175-1-luaraneda@gmail.com> References: <20171019031841.6175-1-luaraneda@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171018_201932_793001_4D95336A X-CRM114-Status: GOOD ( 16.73 ) X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (luaraneda[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain Subject: [LEDE-DEV] [PATCH 4/4] sunxi: add support for NanoPi M1 Plus board X-BeenThere: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Luis Araneda MIME-Version: 1.0 Sender: "Lede-dev" Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Backported devicetree from Kernel 4.13 with some additions to enable Ethernet and WiFi module The following features are working: - Ethernet - WiFi - eMMC and microSD slot - USB ports The following features are not working: * Bluetooth NanoPi M1 Plus key features - SoC: Allwinner H3, Quad-core Cortex-A7@1.2GHz - RAM: 1GB DDR3 - eMMC: 8GB - microSD slot - Ethernet 10/100/1000M - Wifi: AP6212 Signed-off-by: Luis Araneda --- target/linux/sunxi/image/cortex-a7.mk | 12 ++ ...un8i-add-common-dtsi-file-for-nanopi-SBCs.patch | 160 ++++++++++++++++++++ ...un8i-add-support-for-nanopi-m1-plus-board.patch | 168 +++++++++++++++++++++ 3 files changed, 340 insertions(+) create mode 100644 target/linux/sunxi/patches-4.9/0045-arm-dts-sun8i-add-common-dtsi-file-for-nanopi-SBCs.patch create mode 100644 target/linux/sunxi/patches-4.9/205-arm-dts-sun8i-add-support-for-nanopi-m1-plus-board.patch diff --git a/target/linux/sunxi/image/cortex-a7.mk b/target/linux/sunxi/image/cortex-a7.mk index d0b7aa04b6..0f6f8d9d76 100644 --- a/target/linux/sunxi/image/cortex-a7.mk +++ b/target/linux/sunxi/image/cortex-a7.mk @@ -118,6 +118,18 @@ endef TARGET_DEVICES += sun8i-h2-plus-orangepi-r1 +define Device/sun8i-h3-nanopi-m1-plus + DEVICE_TITLE:=FriendlyArm NanoPi M1 Plus + DEVICE_PACKAGES:=kmod-rtc-sunxi \ + kmod-leds-gpio kmod-ledtrig-heartbeat \ + kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-mini + SUPPORTED_DEVICES:=friendlyarm,nanopi-m1-plus + SUNXI_DTS:=sun8i-h3-nanopi-m1-plus +endef + +TARGET_DEVICES += sun8i-h3-nanopi-m1-plus + + define Device/sun8i-h3-nanopi-neo DEVICE_TITLE:=FriendlyARM NanoPi NEO SUPPORTED_DEVICES:=friendlyarm,nanopi-neo diff --git a/target/linux/sunxi/patches-4.9/0045-arm-dts-sun8i-add-common-dtsi-file-for-nanopi-SBCs.patch b/target/linux/sunxi/patches-4.9/0045-arm-dts-sun8i-add-common-dtsi-file-for-nanopi-SBCs.patch new file mode 100644 index 0000000000..c304f7937f --- /dev/null +++ b/target/linux/sunxi/patches-4.9/0045-arm-dts-sun8i-add-common-dtsi-file-for-nanopi-SBCs.patch @@ -0,0 +1,160 @@ +From 49f01c9e14b3476cbdf9623c4812c43f6485830b Mon Sep 17 00:00:00 2001 +From: Milo Kim +Date: Fri, 28 Oct 2016 15:59:01 +0900 +Subject: ARM: dts: sun8i: Add common dtsi file for NanoPi SBCs + +(backported from kernel 4.13) + +This patch provides a common file for NanoPi M1 and Neo SBC. + +Those have common features below. + * UART0 + * 2 LEDs + * USB host (EHCI3, OHCI3) and PHY + * MicroSD + * GPIO key switch + +Cc: James Pettigrew +Signed-off-by: Milo Kim +Signed-off-by: Maxime Ripard + +--- /dev/null ++++ b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi +@@ -0,0 +1,137 @@ ++/* ++ * Copyright (C) 2016 James Pettigrew ++ * Copyright (C) 2016 Milo Kim ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively, ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++/dts-v1/; ++#include "sun8i-h3.dtsi" ++#include "sunxi-common-regulators.dtsi" ++ ++#include ++#include ++ ++/ { ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&leds_npi>, <&leds_r_npi>; ++ ++ status { ++ label = "nanopi:blue:status"; ++ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ ++ pwr { ++ label = "nanopi:green:pwr"; ++ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; ++ default-state = "on"; ++ }; ++ }; ++ ++ r_gpio_keys { ++ compatible = "gpio-keys"; ++ input-name = "k1"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sw_r_npi>; ++ ++ k1@0 { ++ label = "k1"; ++ linux,code = ; ++ gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++}; ++ ++&ehci3 { ++ status = "okay"; ++}; ++ ++&mmc0 { ++ bus-width = <4>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; ++ cd-inverted; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; ++ status = "okay"; ++ vmmc-supply = <®_vcc3v3>; ++}; ++ ++&ohci3 { ++ status = "okay"; ++}; ++ ++&pio { ++ leds_npi: led_pins@0 { ++ pins = "PA10"; ++ function = "gpio_out"; ++ }; ++}; ++ ++&r_pio { ++ leds_r_npi: led_pins@0 { ++ pins = "PL10"; ++ function = "gpio_out"; ++ }; ++ ++ sw_r_npi: key_pins@0 { ++ pins = "PL3"; ++ function = "gpio_in"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins_a>; ++ status = "okay"; ++}; ++ ++&usbphy { ++ status = "okay"; ++}; diff --git a/target/linux/sunxi/patches-4.9/205-arm-dts-sun8i-add-support-for-nanopi-m1-plus-board.patch b/target/linux/sunxi/patches-4.9/205-arm-dts-sun8i-add-support-for-nanopi-m1-plus-board.patch new file mode 100644 index 0000000000..d0ee8edd14 --- /dev/null +++ b/target/linux/sunxi/patches-4.9/205-arm-dts-sun8i-add-support-for-nanopi-m1-plus-board.patch @@ -0,0 +1,168 @@ +From 2ed2388bc0c5b7d04c7b079d673ce61a0333c818 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Tue, 30 May 2017 17:42:50 +0000 +Subject: ARM: dts: sun8i: h3: Add initial NanoPi M1 Plus support + +Backported support from kernel 4.13 with the following changes: +- Added WiFi node +- Added Ethernet node +- Added eMMC node + +Original commit message: +NanoPi M1 Plus is designed and developed by FriendlyElec +for professionals, enterprise users, makers and hobbyists +using the Allwinner H3 SOC. + +NanoPi M1 Plus key features +- Allwinner H3, Quad-core Cortex-A7@1.2GHz +- 1GB DDR3 RAM +- 8GB eMMC +- microSD slot +- 10/100/1000M Ethernet +- Serial Debug Port +- 5V 2A DC power-supply + +Signed-off-by: Jagan Teki +Signed-off-by: Maxime Ripard +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -821,6 +821,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ + sun8i-a83t-cubietruck-plus.dtb \ + sun8i-h2-plus-orangepi-r1.dtb \ + sun8i-h3-bananapi-m2-plus.dtb \ ++ sun8i-h3-nanopi-m1-plus.dtb \ + sun8i-h3-nanopi-neo.dtb \ + sun8i-h3-orangepi-2.dtb \ + sun8i-h3-orangepi-lite.dtb \ +--- /dev/null ++++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts +@@ -0,0 +1,129 @@ ++/* ++ * Copyright (C) 2017 Jagan Teki ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This file is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively, ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#include "sun8i-h3-nanopi.dtsi" ++ ++/ { ++ model = "FriendlyArm NanoPi M1 Plus"; ++ compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3"; ++ ++ aliases { ++ ethernet0 = &emac; ++ }; ++ ++ pwrseq_wifi: pwrseq0 { ++ compatible = "mmc-pwrseq-simple"; ++ pinctrl-names = "default"; ++ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ ++ }; ++ ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ }; ++}; ++ ++&ehci1 { ++ status = "okay"; ++}; ++ ++&ehci2 { ++ status = "okay"; ++}; ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emac_rgmii_pins>; ++ phy-supply = <®_gmac_3v3>; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii"; ++ status = "okay"; ++}; ++ ++&mdio { ++ ext_rgmii_phy: ethernet-phy@7 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <7>; ++ }; ++}; ++ ++&mmc1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc1_pins_a>; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc3v3>; ++ mmc-pwrseq = <&pwrseq_wifi>; ++ bus-width = <4>; ++ non-removable; ++ status = "okay"; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ interrupt-parent = <&pio>; ++ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ ++ interrupt-names = "host-wake"; ++ }; ++}; ++ ++&mmc2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc2_8bit_pins>; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc3v3>; ++ bus-width = <8>; ++ non-removable; ++ status = "okay"; ++}; ++ ++&ohci1 { ++ status = "okay"; ++}; ++ ++&ohci2 { ++ status = "okay"; ++};