Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3842786yba; Tue, 23 Apr 2019 10:29:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqwKEJBRjOaoZSkltBSsLoaUO4migCP8dLVGYXjkBVZ/dygqxpDN4ty0egM/QKLBkeR/eUp9 X-Received: by 2002:a17:902:2862:: with SMTP id e89mr28017391plb.203.1556040590341; Tue, 23 Apr 2019 10:29:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556040590; cv=none; d=google.com; s=arc-20160816; b=zUpB6AeFz0PT+QZajSiyiWkP+fNPIVxL6rCYQkTx9YGcELtYWVkgE2cAz4tOKDAfOv ZE+R5ybjJoNiGJ/JgI0rXpGHY2oWbMTB/IycPX5rcjd8weyACjsvr7uy1ASek8dBhs17 rGfEqYhhDpLrn0yj5OjdGugqz98AyXp5Z5emJkHZNXXZapjJvCXQjTqhahX7X/rOXzKB cy8TOL8Y15q1tEIaF3/vVLFsERUB2q6fcgQ/greLB3443qhN+67Nl/va7bMhng82Kx11 OhTylV/V9//ComfCzYZR2b9S7muVuv+ojvhDYmhI1bqMwAPia/846ZRgyaqEr1uxuynw DFYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=g5Mu1QLwleaEAdSsAC6QQGadUMkkxhdLQ52+fKJaXYA=; b=MHyJS5qoNP6AncXl9R7v7Kz0149iWWGiL7tdSmW04uPjDHwKBy6U44NQy3Er0gjAIB 9EERuvRa7WFZrWiK8HVjvZaIa2r63iEhANd/raPSDPJJNIEuMxUkasxRkYFIf8wwh/Lw TTVA+82mvTgMc2J9hu/j3tKwiK8mrgmSjILBwKsZW3CfNsnsyr+q+U3qaabNtH2jjQlC aoUAeIfmPlvnoBzjbaO7FCD7/NVR4pobc5v6dL9xldGKGS0tSJCU0wjRvoRBBGIpI2VU H/LXqEAmpa2BvUYzH+Ee2eID+3+8l0yp1X2O1lQ0YGqezNiQ+Wcn3LUlSkctubDuq9JU HVpg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g4si16023808plp.196.2019.04.23.10.29.36; Tue, 23 Apr 2019 10:29:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729636AbfDWR05 (ORCPT + 99 others); Tue, 23 Apr 2019 13:26:57 -0400 Received: from mail2.sp2max.com.br ([138.185.4.9]:39714 "EHLO mail2.sp2max.com.br" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729444AbfDWR00 (ORCPT ); Tue, 23 Apr 2019 13:26:26 -0400 Received: from pgsop.sopnet.com.ar (unknown [179.40.38.12]) (Authenticated sender: pablo@fliagreco.com.ar) by mail2.sp2max.com.br (Postfix) with ESMTPA id D33797B3072; Tue, 23 Apr 2019 14:26:20 -0300 (-03) From: Pablo Greco To: linux-sunxi@googlegroups.com Cc: Pablo Greco , Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 7/7] ARM: dts: sun8i: v40: bananapi-m2-berry: Add Bluetooth device node Date: Tue, 23 Apr 2019 14:26:04 -0300 Message-Id: <1556040365-10913-8-git-send-email-pgreco@centosproject.org> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1556040365-10913-1-git-send-email-pgreco@centosproject.org> References: <1556040365-10913-1-git-send-email-pgreco@centosproject.org> X-SP2Max-MailScanner-Information: Please contact the ISP for more information X-SP2Max-MailScanner-ID: D33797B3072.A1D00 X-SP2Max-MailScanner: Sem Virus encontrado X-SP2Max-MailScanner-SpamCheck: nao spam, SpamAssassin (not cached, escore=-2.9, requerido 6, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90) X-SP2Max-MailScanner-From: pgreco@centosproject.org X-Spam-Status: No Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The AP6212 is based on the Broadcom BCM43430 or BCM43438. The WiFi side identifies as BCM43430, while the Bluetooth side identifies as BCM43438. The Bluetooth side is connected to UART3 in a 4 wire configuration. Same as the WiFi side, due to being the same chip and package, DLDO1 and DLDO2 regulator outputs from the PMIC provide overall power via VBAT and I/O power via VDDIO. The CLK_OUT_A clock output from the SoC provides the LPO low power clock at 32.768 kHz. This patch enables Bluetooth on this board, and also adds the missing LPO clock on the WiFi side. There is also a PCM connection for Bluetooth, but this is not covered here. The LPO clock is fed from CLK_OUT_A, which needs to be muxed on pin PI12. This can be represented in multiple ways. This patch puts the pinctrl property in the pin controller node. This is due to limitations in Linux, where pinmux settings, even the same one, can not be shared by multiple devices. Thus we cannot put it in both the WiFi and Bluetooth device nodes. Putting it the CCU node is another option, but Linux's CCU driver does not handle pinctrl. Also the pin controller is guaranteed to be initialized after the CCU, when clocks are available. And any other devices that use muxed pins are guaranteed to be initialized after the pin controller. Thus having the CLK_OUT_A pinmux reference be in the pin controller node is a good choice without having to deal with implementation issues. Signed-off-by: Pablo Greco --- arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts index c87f2c0..15c22b0 100644 --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts @@ -96,6 +96,8 @@ wifi_pwrseq: wifi_pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ + clocks = <&ccu CLK_OUTA>; + clock-names = "ext_clock"; }; }; @@ -173,6 +175,7 @@ &pio { pinctrl-names = "default"; + pinctrl-0 = <&clk_out_a_pin>; vcc-pa-supply = <®_aldo2>; vcc-pc-supply = <®_dcdc1>; vcc-pd-supply = <®_dcdc1>; @@ -277,6 +280,25 @@ status = "okay"; }; +&uart3 { + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>; + uart-has-rtscts; + status = "okay"; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + clocks = <&ccu CLK_OUTA>; + clock-names = "lpo"; + vbat-supply = <®_dldo2>; + vddio-supply = <®_dldo1>; + device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ + /* TODO host wake line connected to PMIC GPIO pins */ + shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */ + max-speed = <1500000>; + }; +}; + &usbphy { usb1_vbus-supply = <®_vcc5v0>; status = "okay"; -- 1.8.3.1