From patchwork Wed Jun 6 10:40:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Nie X-Patchwork-Id: 137849 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp1488826lji; Wed, 6 Jun 2018 18:53:30 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJo5FuTNFd8GlBxIrg4HJvA3UiZKl9Ne4Z4tOLBkscLsoNfroBM2s/99itNCdjgDc35x8se X-Received: by 2002:a50:8edb:: with SMTP id x27-v6mr316854edx.128.1528336410645; Wed, 06 Jun 2018 18:53:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528336410; cv=none; d=google.com; s=arc-20160816; b=A+gd9XTdTJ2FEX1yEaw8KL/wsI4ec69If9QU4823F6Lmge4TXtzL2Jdd5PYgL4YECE LYgwr2B/VUjgMOdYWXEQ9+9EQM1or6owrBHkZ4id/hmhkWZa99BIFDCBGmEE5JbNxotn +R5pwvWolGVeZxNHrg4p/2bNh8tVG5M6PhEg2pFc77aZWMJo6O6fimRPiyWZ9fvdz0CF NMXhQpxBRhD982lDbsMbyCwy3/uFhpmN3UxNEzUBi+8M1ZybBEW+xhCJ5iEwTy4/sfFa UhciwuaYEjjwg4OpVH29VjD2xJbm56x/PTelNczYK2+WzMfabbKPgfrF5RoaQKtK3/6a WMwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:message-id:date:to:from :dkim-signature:arc-authentication-results; bh=U6WmPnOQFz0MZdxYdCdPcQw/UoIwbM1DqIVDPhJrNT0=; b=GIAl6k+eFpoOfDuOPlhxTj1JwgVPBxfWvlhNzRWA0v6NEOgYCvQv7mC/yrq/XO/gdT fNoTPbMafVi7J+4juivaM4w8sHpzl0B1NGfgw6QelhGbyNTGLJ5FcUmvD/qmDPcpOWKl XrnUILzWr6lvJCCOGdA4gTgurS8ii7oaJMGUsPMh5RORlxqJBbLDS/Gb5FCbjPhru3Zy ND5TdH2NmU2EeEGW680q/19gNdyepdbSbu4Zlgn6ZP1OusXRbObixHjN2yz3kJ9GXKDL T1UnLAdnbPOXcqQszjVBM6KxkEhGYgkYCUkVacMxhoVW/UfLmI3uMNWIxQ3GJANrhsbl cE9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=iAolj24M; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id a8-v6si2029238edr.122.2018.06.06.18.53.30; Wed, 06 Jun 2018 18:53:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=iAolj24M; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.denx.de (Postfix, from userid 105) id 17E4AC22044; Thu, 7 Jun 2018 01:53:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=DATE_IN_PAST_12_24, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id B24BAC21D65; Thu, 7 Jun 2018 01:53:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2EAF2C21C4A; Thu, 7 Jun 2018 01:53:24 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id 43EE7C21C50 for ; Thu, 7 Jun 2018 01:53:23 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id f1-v6so4980405plt.6 for ; Wed, 06 Jun 2018 18:53:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=kkS/zMmcTt2nMa99wqkUdQ5iDh7SmMc09TKCvtYS1CA=; b=iAolj24M1PplhgcMA1aRUrVHjJ2nyNlAxkZsrB2SB2W6EJWLEY0sI1WY456clHACAl Hvfx8XyitQTCuPDLO0oG0xRzSy4S2f4dFsN8PwwR99f6a2tSdGLiwt43g6sPac1kqGgD sqEiaO/wzw0ANZMeC1wKwd1U2q428eCKx9BtM= 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; bh=kkS/zMmcTt2nMa99wqkUdQ5iDh7SmMc09TKCvtYS1CA=; b=p9BLVbojICDJ9lM4hn4X6qQT9Z+9acknLUqjY8SeNd8eiS88C5E5prmKcv4M3Gc7jY QfHzKZfmu5p8UmnqxMyIdd0iwFhJaKRl46ILR9I3wGh6MUpeqRln1mj9PCWKJ3rZFpvs /Hi52JT2I20m1iqzJxGKMId1/9IzcCTpCkpp1pukNof/cUuAdlCCH0Hgg+yJzCF5pAtP +Wv8AlIe/ggvBTCcRRc1D+krz6gSrtC/At1JMi3RIQC6U2fczUxLgMD1xbwaGwMeW5K+ XNG8P4QjkuVcTniUCY/yeFtbpmvvgGORLg+omQiMPLu0KhuUoykDucqYfHU6otBVBiLK uQkA== X-Gm-Message-State: APt69E3ZzCvBiw9hkiKXpdvDcSfDy43mmlEMcip34y74jbEmJPnkxFjK NkqNsVrx9djWaBWNt4qGvDZvgQ== X-Received: by 2002:a17:902:76c9:: with SMTP id j9-v6mr5461839plt.15.1528336401674; Wed, 06 Jun 2018 18:53:21 -0700 (PDT) Received: from localhost.localdomain (li1181-92.members.linode.com. [45.79.82.92]) by smtp.gmail.com with ESMTPSA id x2-v6sm12989906pfn.11.2018.06.06.18.53.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Jun 2018 18:53:20 -0700 (PDT) From: Jun Nie To: maxime.ripard@bootlin.com, jagannadh.teki@gmail.com, icenowy@aosc.xyz, wens@csie.org Date: Wed, 6 Jun 2018 18:40:44 +0800 Message-Id: <1528281644-4955-1-git-send-email-jun.nie@linaro.org> X-Mailer: git-send-email 2.7.4 Cc: u-boot@lists.denx.de, Icenowy Zheng Subject: [U-Boot] [PATCH v3] sunxi: add support for Banana Pi M2 Zero board X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port. Signed-off-by: Icenowy Zheng Signed-off-by: Jun Nie --- arch/arm/dts/Makefile | 1 + arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts | 122 ++++++++++++++++++++++++ board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 15 +++ 4 files changed, 143 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 790571b..5d392e8 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -354,6 +354,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \ + sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-zero.dtb \ sun8i-h3-bananapi-m2-plus.dtb \ diff --git a/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts new file mode 100644 index 0000000..32a92dc --- /dev/null +++ b/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts @@ -0,0 +1,122 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Icenowy Zheng + * + * Based on sun8i-h3-bananapi-m2-plus.dts, which is: + * Copyright (C) 2016 Chen-Yu Tsai + */ + +/dts-v1/; +#include "sun8i-h3.dtsi" +#include "sunxi-common-regulators.dtsi" + +#include +#include +#include + +/ { + model = "Banana Pi BPI-M2-Zero"; + compatible = "sinovoip,bpi-m2-zero", "allwinner,sun8i-h2-plus"; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + + pwr_led { + label = "bananapi-m2-zero:red:pwr"; + gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ + default-state = "on"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + + sw4 { + label = "power"; + linux,code = ; + gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; + }; + }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ + }; +}; + +&ehci0 { + status = "okay"; +}; + +&mmc0 { + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + /* + * On the production batch of this board the card detect GPIO is + * high active (card inserted), although on the early samples it's + * low active. + */ + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ + status = "okay"; +}; + +&mmc1 { + vmmc-supply = <®_vcc3v3>; + vqmmc-supply = <®_vcc3v3>; + mmc-pwrseq = <&wifi_pwrseq>; + 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"; + }; +}; + +&ohci0 { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins_a>; + status = "okay"; +}; + +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + +&usbphy { + usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ + /* + * There're two micro-USB connectors, one is power-only and another is + * OTG. The Vbus of these two connectors are connected together, so + * the external USB device will be powered just by the power input + * from the power-only USB port. + */ + status = "okay"; +}; diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS index e90c87b..e199ec9 100644 --- a/board/sunxi/MAINTAINERS +++ b/board/sunxi/MAINTAINERS @@ -382,6 +382,11 @@ M: Icenowy Zheng S: Maintained F: configs/Sinovoip_BPI_M2_Plus_defconfig +SINOVOIP BPI M2 ZERO BOARD +M: Icenowy Zheng +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig + SINOVOIP BPI M3 A83T BOARD M: VishnuPatekar S: Maintained diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig new file mode 100644 index 0000000..668ade5 --- /dev/null +++ b/configs/bananapi_m2_zero_defconfig @@ -0,0 +1,15 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_SYS_TEXT_BASE=0x4a000000 +CONFIG_MACH_SUN8I_H3=y +CONFIG_DRAM_CLK=408 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y +CONFIG_MMC0_CD_PIN="PF6" +CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-bananapi-m2-zero" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_SPL=y +# CONFIG_CMD_FLASH is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_ISO_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set