From patchwork Sun Feb 19 22:41:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Blumenstingl X-Patchwork-Id: 9581897 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 436C9604A0 for ; Sun, 19 Feb 2017 22:42:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 365E1287E6 for ; Sun, 19 Feb 2017 22:42:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2930A287E8; Sun, 19 Feb 2017 22:42:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 55AD3287E6 for ; Sun, 19 Feb 2017 22:42:38 +0000 (UTC) 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:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=dXdUcJCx2hK5NcCscd8g0lE/sXfguCnUndGXXq9j2II=; b=ry9roLMzNldKGE+LLJaSfR1YL2 iG5e3ls2oKA6PLTs5/LOD+H5/ipKMSNUJ4k+fQlKUBfsAlfPlscD/d6jJ1ZjJ91nKIAH790QIoE7o HmSZCnF26Z30ElP0+3fy9206DarYXAl0nGxWzUUalQNkmicLD/4HVPIgaBrtjFlIQm4wC18qk2AV4 qj8m3JNZ9NP3/Cty3o0xQjfdCZRhzUqPceq/EpnmEFh3KlhYg4BLMOHPxbJTbzJkuGQPcZ04XfB7x HpoHCLNIlzgZdWst4ntrDmoPj+hV9xfjFv09+UcyBM48vu8iIS9nZWDK5RYgnOHGJmLGkR5HZzz/R /GY3fQJQ==; 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 1cfaBZ-0003NV-R6; Sun, 19 Feb 2017 22:42:29 +0000 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cfaAz-00038R-Gb; Sun, 19 Feb 2017 22:41:57 +0000 Received: by mail-wm0-x243.google.com with SMTP id r18so11498585wmd.3; Sun, 19 Feb 2017 14:41:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=H1mtOpkjdehPOMET9Go7/g6oZ4ZHIlcgLJjmfJ08asE=; b=AM2bOHsmISUKNG/mu8Nt3ymyPXGx+30RfsEvA1IZFEggul7audGxcvDez00DPcywy0 pTzsPKTYvS8HGVkdLwUoVuXOc2edKxUV7YXz3qcl2wGktM4ywK6VGP0eWGQDzgKZu49A b8iCxk7KPeGHHXifKeX4mM9E/AH+4wRUsbqUspip8i9xXxff3MKBjRpAzQusOi+e+TVP sV8uwZdjfox8rrPUna2Al6vsfNXH0lN66Sofus/jGjPZB59BskIqXfzmGAZMESA6xxzJ Nusu5o1Z3dt9KQpo2qbzLVdkBPVS2vcy6bqkvTVWjvvi5j3nfY0vhZmXaZq6dm/VTSV1 //Hg== 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=H1mtOpkjdehPOMET9Go7/g6oZ4ZHIlcgLJjmfJ08asE=; b=DkGYm7Mhhq8B5+OIQpyITrXD27RGHRDxVUKiQMytUZ6fOZ5gawvtH3YBLYm0MfdRjw 8uRkAAGh2gnoICN3tnHKRna6TUuahUP5QjzAWomACk5TIHZwx5/eNs7LOMB6osjDQlkl N+2u42zGtne8tZ0bvMeS9mEI/RblpiLkQpPCfNDrT4VhCPjJaBwZ/be3l2ZIZlBFJ0dT 0oHkDuBDvb4MuP+8UBV4QixVT3vE5xWfdpk0BKnTTww4LH2wVVB3aZWRtV4z0EEkf9rk dEMQ+4FHKXmbkdwVBNgYDAF2aFFE7D9ySnejIzmSlM/i+88t3FdVaKihM9UCKZwfwFHP N05Q== X-Gm-Message-State: AMke39mYfnAjUeynBo8uzw1LctDpuSgalhIcE/6KzbIyq5NovrTRF5kO1F7F0FLO90twWw== X-Received: by 10.28.209.7 with SMTP id i7mr14747780wmg.115.1487544093707; Sun, 19 Feb 2017 14:41:33 -0800 (PST) Received: from blackbox.darklights.net (p200300DCD3D1DA04B05FF2CCBB42C4A7.dip0.t-ipconnect.de. [2003:dc:d3d1:da04:b05f:f2cc:bb42:c4a7]) by smtp.googlemail.com with ESMTPSA id k195sm11042201wmd.7.2017.02.19.14.41.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Feb 2017 14:41:32 -0800 (PST) From: Martin Blumenstingl To: linux-amlogic@lists.infradead.org, khilman@baylibre.com, carlo@caione.org, narmstrong@baylibre.com Subject: [PATCH 1/1] ARM64: dts: meson-gxl: improve support for the P212 reference design Date: Sun, 19 Feb 2017 23:41:14 +0100 Message-Id: <20170219224114.17201-2-martin.blumenstingl@googlemail.com> X-Mailer: git-send-email 2.11.1 In-Reply-To: <20170219224114.17201-1-martin.blumenstingl@googlemail.com> References: <20170219224114.17201-1-martin.blumenstingl@googlemail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170219_144153_860713_3BBE678D X-CRM114-Status: GOOD ( 22.01 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, Martin Blumenstingl , catalin.marinas@arm.com, will.deacon@arm.com, robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org, jbrunet@baylibre.com MIME-Version: 1.0 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+patchwork-linux-amlogic=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The Amlogic P212 reference design is used by other devices as well, such as (for example) the Khadas VIM boards. Thus this patch adds and moves all common entries from meson-gxl-s905x-p212.dts to a new, separate meson-gxl-s905x-p212.dtsi (which can be re-used on boards such as the Khadas VIM). Support for all boards based on the P212 reference design includes: - enabling IR support - enabling the SAR ADC (SARADC_CH1 is connected to a resistor which indicates the hardware revision, a similar design is found on the Khadas VIM boards) - all MMC controllers (which means that SDIO wifi, the SD card and the eMMC are now supported) - pwm_ef as dependency for the SDIO wifi module - uart_A which is connected to the bluetooth module (the bluetooth module itself is not enabled yet due to missing devicetree bindings for the Broadcom serial bluetooth devices) - uart_AO is moved to the .dtsi (as all known devices use it as their boot-console) Specific to the P212 board: - this also enables the CVBS connector (which is not available on the Khadas VIM boards for example) Signed-off-by: Martin Blumenstingl Tested-by: Neil Armstrong --- .../boot/dts/amlogic/meson-gxl-s905x-p212.dts | 21 +- .../boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 214 +++++++++++++++++++++ 2 files changed, 226 insertions(+), 9 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts index 9639f012b02b..db31e093f40e 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts @@ -43,23 +43,26 @@ /dts-v1/; -#include "meson-gxl-s905x.dtsi" +#include "meson-gxl-s905x-p212.dtsi" / { compatible = "amlogic,p212", "amlogic,s905x", "amlogic,meson-gxl"; model = "Amlogic Meson GXL (S905X) P212 Development Board"; - aliases { - serial0 = &uart_AO; - }; + cvbs-connector { + compatible = "composite-video-connector"; - chosen { - stdout-path = "serial0:115200n8"; + port { + cvbs_connector_in: endpoint { + remote-endpoint = <&cvbs_vdac_out>; + }; + }; }; +}; - memory@0 { - device_type = "memory"; - reg = <0x0 0x0 0x0 0x80000000>; +&cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; }; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi new file mode 100644 index 000000000000..fb0e7c999cb6 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi @@ -0,0 +1,214 @@ +/* + * Copyright (c) 2016 Martin Blumenstingl . + * Based on meson-gx-p23x-q20x.dtsi: + * - Copyright (c) 2016 Endless Computers, Inc. + * Author: Carlo Caione + * - Copyright (c) 2016 BayLibre, SAS. + * Author: Neil Armstrong + * + * 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 library 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 library 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. + */ + +/* Common DTSI for devices which are based on the P212 reference board. */ + +#include "meson-gxl-s905x.dtsi" + +/ { + aliases { + serial0 = &uart_AO; + serial1 = &uart_A; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x80000000>; + }; + + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vddao_3v3: regulator-vddao_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VDDAO_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + vddio_ao18: regulator-vddio_ao18 { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_AO18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; + }; + + wifi32k: wifi32k { + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; + clocks = <&wifi32k>; + clock-names = "ext_clock"; + }; +}; + +ðmac { + status = "okay"; +}; + +&ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; + pinctrl-names = "default"; +}; + +&saradc { + status = "okay"; + vref-supply = <&vddio_ao18>; +}; + +/* Wireless SDIO Module */ +&sd_emmc_a { + status = "okay"; + pinctrl-0 = <&sdio_pins>; + pinctrl-names = "default"; + #address-cells = <1>; + #size-cells = <0>; + + bus-width = <4>; + cap-sd-highspeed; + max-frequency = <100000000>; + + non-removable; + disable-wp; + + mmc-pwrseq = <&sdio_pwrseq>; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; + + brcmf: bcrmf@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +/* SD card */ +&sd_emmc_b { + status = "okay"; + pinctrl-0 = <&sdcard_pins>; + pinctrl-names = "default"; + + bus-width = <4>; + cap-sd-highspeed; + max-frequency = <100000000>; + disable-wp; + + cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; + cd-inverted; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; +}; + +/* eMMC */ +&sd_emmc_c { + status = "okay"; + pinctrl-0 = <&emmc_pins>; + pinctrl-names = "default"; + + bus-width = <8>; + cap-sd-highspeed; + cap-mmc-highspeed; + max-frequency = <200000000>; + non-removable; + disable-wp; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + + mmc-pwrseq = <&emmc_pwrseq>; + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&vddio_boot>; +}; + +&pwm_ef { + status = "okay"; + pinctrl-0 = <&pwm_e_pins>; + pinctrl-names = "default"; + clocks = <&clkc CLKID_FCLK_DIV4>; + clock-names = "clkin0"; +}; + +/* This is connected to the Bluetooth module: */ +&uart_A { + status = "okay"; + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; + pinctrl-names = "default"; + uart-has-rtscts; +}; + +&uart_AO { + status = "okay"; + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; +};