From nobody Wed Apr 8 01:36:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EAAC7C4332F for ; Fri, 21 Oct 2022 14:24:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229576AbiJUOYI (ORCPT ); Fri, 21 Oct 2022 10:24:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57242 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231433AbiJUOX6 (ORCPT ); Fri, 21 Oct 2022 10:23:58 -0400 Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com [51.77.79.158]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 838DF27D4CE for ; Fri, 21 Oct 2022 07:23:56 -0700 (PDT) Date: Fri, 21 Oct 2022 14:23:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1666362233; x=1666621433; bh=w3ORdHOkV3oocAIROhsgC6oRBB6gAzTpZK2G+Z6pDgo=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=CqVZpWkE0N2qtxcjJvRvUyshBZrCJuOTye4HMne9xeVi+x3PbmuBLUkRgiv5PzSEB elAlAIempkanUA3DaE5eya0I8YhNsHYd5r8H7dhBnFEcNpiHEoDOg+61m4Vop9HXws POFK2VnxQy8yFxpoBHfsp0sQN9RCkDj9NfrPkCzbezvNkqsHGo6/IktwnoCamoOSSu N+PZ7TfdA9h6QFNdyy5WPohLwnQmLzCBSFa/ofppVDHViklIl0XNAGziQKfL3s9BN+ Xpjxk1TYabGJBJRu03FJZlPF6kqL5ec9dWAYwgFuRHwi37yn/7Bhfc/Wm+48BO1SZn 1unLqTiPA4YKw== To: Bjorn Andersson , Rob Herring , Krzysztof Kozlowski From: Harry Austen Cc: Harry Austen , Yassine Oudjana , Andy Gross , Konrad Dybcio , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org Subject: [PATCH 1/4] arm64: dts: qcom: msm8996: standardize blsp indexing Message-ID: <20221021142242.129276-2-hpausten@protonmail.com> In-Reply-To: <20221021142242.129276-1-hpausten@protonmail.com> References: <20221021142242.129276-1-hpausten@protonmail.com> Feedback-ID: 53116287:user:proton MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use one-based indexing throughout the file for BLSP devices to avoid confusion. Most of the node names and labels are consistent already. This patch just fixes a few pinconf node names to match the one-based indexing used in the label names. Signed-off-by: Harry Austen --- arch/arm64/boot/dts/qcom/msm8996.dtsi | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qc= om/msm8996.dtsi index c0a2baffa49d..80590267dfd0 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -1286,14 +1286,14 @@ blsp1_spi1_sleep: blsp1-spi1-sleep { bias-pull-down; }; - blsp2_uart2_2pins_default: blsp2-uart1-2pins { + blsp2_uart2_2pins_default: blsp2-uart2-2pins { pins =3D "gpio4", "gpio5"; function =3D "blsp_uart8"; drive-strength =3D <16>; bias-disable; }; - blsp2_uart2_2pins_sleep: blsp2-uart1-2pins-sleep { + blsp2_uart2_2pins_sleep: blsp2-uart2-2pins-sleep { pins =3D "gpio4", "gpio5"; function =3D "gpio"; drive-strength =3D <2>; @@ -1460,28 +1460,28 @@ blsp1_uart2_sleep: blsp1-uart2-sleep { bias-disable; }; - blsp1_i2c3_default: blsp1-i2c2-default { + blsp1_i2c3_default: blsp1-i2c3-default { pins =3D "gpio47", "gpio48"; function =3D "blsp_i2c3"; drive-strength =3D <16>; bias-disable; }; - blsp1_i2c3_sleep: blsp1-i2c2-sleep { + blsp1_i2c3_sleep: blsp1-i2c3-sleep { pins =3D "gpio47", "gpio48"; function =3D "gpio"; drive-strength =3D <2>; bias-disable; }; - blsp2_uart3_4pins_default: blsp2-uart2-4pins { + blsp2_uart3_4pins_default: blsp2-uart3-4pins { pins =3D "gpio49", "gpio50", "gpio51", "gpio52"; function =3D "blsp_uart9"; drive-strength =3D <16>; bias-disable; }; - blsp2_uart3_4pins_sleep: blsp2-uart2-4pins-sleep { + blsp2_uart3_4pins_sleep: blsp2-uart3-4pins-sleep { pins =3D "gpio49", "gpio50", "gpio51", "gpio52"; function =3D "blsp_uart9"; drive-strength =3D <2>; @@ -1517,7 +1517,7 @@ blsp2_i2c1_default: blsp2-i2c1 { bias-disable; }; - blsp2_i2c1_sleep: blsp2-i2c0-sleep { + blsp2_i2c1_sleep: blsp2-i2c1-sleep { pins =3D "gpio55", "gpio56"; function =3D "gpio"; drive-strength =3D <2>; @@ -1549,7 +1549,7 @@ cdc_reset_sleep: cdc-reset-sleep { output-low; }; - blsp2_spi6_default: blsp2-spi5-default { + blsp2_spi6_default: blsp2-spi6-default { spi { pins =3D "gpio85", "gpio86", "gpio88"; function =3D "blsp_spi12"; @@ -1566,7 +1566,7 @@ cs { }; }; - blsp2_spi6_sleep: blsp2-spi5-sleep { + blsp2_spi6_sleep: blsp2-spi6-sleep { pins =3D "gpio85", "gpio86", "gpio87", "gpio88"; function =3D "gpio"; drive-strength =3D <2>; -- 2.38.1 From nobody Wed Apr 8 01:36:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7629BC4332F for ; Fri, 21 Oct 2022 14:24:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229510AbiJUOYR (ORCPT ); Fri, 21 Oct 2022 10:24:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229697AbiJUOYM (ORCPT ); Fri, 21 Oct 2022 10:24:12 -0400 Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF35227CFFE; Fri, 21 Oct 2022 07:24:11 -0700 (PDT) Date: Fri, 21 Oct 2022 14:24:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1666362249; x=1666621449; bh=UVyLFVsynHqqWzbr6cfqRUY/X6kUWsnU+s2ZPHcJzIE=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=T/0gMzIcfI56udfn5jlFns/TrFm7tvzgzVQly7irEW3w3R/ySErxIucChDYCAy2Fz SEn+anUdF9QZeURWC1Q7vp10mcfoMXoT1LbZFImJ0jn78NjCUpdwsZTbYP3E0CicEW i/ybJ/PHpvlTFddtvkq9tZePEGrTU3enwK+8Yr7129+kk5N1J/6UaT7d7QcWjP69wq BaZh3UwM4XeTF8KFBrhNki5e/EQBtRTyjCRzR92TuggWnnSBhMw+8q29bmEHRkwed5 XskzpAlubWV4JMXbhceUH5TX00B7I2UodBfKX5+Zt9oBdEXwaekO2TVrgtX4X1uT1+ wUWB4BecPaRpA== To: Bjorn Andersson , Rob Herring , Krzysztof Kozlowski From: Harry Austen Cc: Harry Austen , Yassine Oudjana , Andy Gross , Konrad Dybcio , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org Subject: [PATCH 2/4] arm64: boot: dts: msm8996: add blsp1_i2c6 node Message-ID: <20221021142242.129276-3-hpausten@protonmail.com> In-Reply-To: <20221021142242.129276-1-hpausten@protonmail.com> References: <20221021142242.129276-1-hpausten@protonmail.com> Feedback-ID: 53116287:user:proton MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add support for the sixth I2C interface on the MSM8996 SoC. Signed-off-by: Harry Austen --- arch/arm64/boot/dts/qcom/msm8996.dtsi | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qc= om/msm8996.dtsi index 80590267dfd0..70c0eae17360 100644 --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -1400,6 +1400,20 @@ pwdn { }; }; + blsp1_i2c6_default: blsp1_i2c6 { + pins =3D "gpio27", "gpio28"; + function =3D "blsp_i2c6"; + drive-strength =3D <16>; + bias-disable; + }; + + blsp1_i2c6_sleep: blsp1_i2c6_sleep { + pins =3D "gpio27", "gpio28"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + pcie0_state_on: pcie0-state-on { perst { pins =3D "gpio35"; @@ -3127,6 +3141,23 @@ blsp1_i2c3: i2c@7577000 { status =3D "disabled"; }; + blsp1_i2c6: i2c@757a000 { + compatible =3D "qcom,i2c-qup-v2.2.1"; + reg =3D <0x757a000 0x1000>; + interrupts =3D ; + clocks =3D <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, + <&gcc GCC_BLSP1_AHB_CLK>; + clock-names =3D "core", "iface"; + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&blsp1_i2c6_default>; + pinctrl-1 =3D <&blsp1_i2c6_sleep>; + dmas =3D <&blsp1_dma 22>, <&blsp1_dma 23>; + dma-names =3D "tx", "rx"; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "disabled"; + }; + blsp2_dma: dma-controller@7584000 { compatible =3D "qcom,bam-v1.7.0"; reg =3D <0x07584000 0x2b000>; -- 2.38.1 From nobody Wed Apr 8 01:36:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10354C4332F for ; Fri, 21 Oct 2022 14:24:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229940AbiJUOYr (ORCPT ); Fri, 21 Oct 2022 10:24:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231418AbiJUOYf (ORCPT ); Fri, 21 Oct 2022 10:24:35 -0400 Received: from mail-0301.mail-europe.com (mail-0301.mail-europe.com [188.165.51.139]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E35E3CE32; Fri, 21 Oct 2022 07:24:26 -0700 (PDT) Date: Fri, 21 Oct 2022 14:24:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1666362263; x=1666621463; bh=xobhonkjJEPM2+RCCEDKaeuxmgDEQm6jEtUjcfbshas=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=V3eGVUIaCRtt03QbRMOO+Qln0tyIONehWogvk49V4OevPI67YpzXnWA6UA1MT+wm6 /1JUGd/aEidLBfg0oopfU6WBh1QuWa5g7nKOdDfor+Gou7ihjpYWubevEFPWkUVqRb gLjwSiUUjjQRJJY9MER0IRLdZOoZOkM1gKc0t0OH28I8oVPjfpUyn3xw3uJLrR9Pvg yDKfIqHxGplAZ7kf5FTW2XcPApZm+bjrg3owETJiJLxOJva2f9iWCf7RgfAzUECJWN aj+yH4JoYQquWVrQVvHZA43+UzlhUu+HucktOmPwuzoqUQ13nDxp0ToXRoSijZRg73 UnJM2PhPJia7w== To: Bjorn Andersson , Rob Herring , Krzysztof Kozlowski From: Harry Austen Cc: Harry Austen , Yassine Oudjana , Andy Gross , Konrad Dybcio , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org Subject: [PATCH 3/4] dt-bindings: arm: qcom: add oneplus3(t) devices Message-ID: <20221021142242.129276-4-hpausten@protonmail.com> In-Reply-To: <20221021142242.129276-1-hpausten@protonmail.com> References: <20221021142242.129276-1-hpausten@protonmail.com> Feedback-ID: 53116287:user:proton MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add compatible strings for the OnePlus 3 and 3T phones which utilise the Qualcomm MSM8996 SoC. Signed-off-by: Harry Austen Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/qcom.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index 1b5ac6b02bc5..e49a3fc02948 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -221,6 +221,8 @@ properties: - items: - enum: + - oneplus,oneplus3 + - oneplus,oneplus3t - qcom,msm8996-mtp - sony,dora-row - sony,kagura-row -- 2.38.1 From nobody Wed Apr 8 01:36:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A6D7C43217 for ; Fri, 21 Oct 2022 14:25:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230243AbiJUOZA (ORCPT ); Fri, 21 Oct 2022 10:25:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230430AbiJUOYu (ORCPT ); Fri, 21 Oct 2022 10:24:50 -0400 Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com [51.77.79.158]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 510293A494; Fri, 21 Oct 2022 07:24:48 -0700 (PDT) Date: Fri, 21 Oct 2022 14:24:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1666362282; x=1666621482; bh=6HbkwIGZecGfgfeOffbwhdcCGhFuC87NVOujrNEln1o=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=iz8xJUqDJ857zSzgAn+EQGT7Y87eDbDFLo/NHNcYr2v4p9KMd7CTl3w/JXduuLs8w mwrQhK23edISs6mghKB2sXJkKzQMhdzX30ippAKuRDHNd2pQgGPrGF2kYpb72BNs8n C6OqU4Mmum0fwYxTSYHygXyITMAz87glOsn59ckKX2veyjRZWQK6wZkD92DFtvp3NQ 1PuBAp3VNwduHarQoidkZD8KjW6dQX2BuBDymfsZSlDpYLZ8lOhoz3vr58qUqWMbQE HfPZpf91WNmne5MY4FY+qIj4YcOR8MRaVuZL5m9xbmigLgHEn30hw/SnRTj4UDlZAG EtvVrOTxNKRAA== To: Bjorn Andersson , Rob Herring , Krzysztof Kozlowski From: Harry Austen Cc: Harry Austen , Yassine Oudjana , Andy Gross , Konrad Dybcio , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org Subject: [PATCH 4/4] arm64: dts: qcom: msm8996: add support for oneplus3(t) Message-ID: <20221021142242.129276-5-hpausten@protonmail.com> In-Reply-To: <20221021142242.129276-1-hpausten@protonmail.com> References: <20221021142242.129276-1-hpausten@protonmail.com> Feedback-ID: 53116287:user:proton MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add initial support for OnePlus 3 and 3T mobile phones. They are based on the MSM8996 SoC. Co-developed-by: Yassine Oudjana Signed-off-by: Yassine Oudjana Signed-off-by: Harry Austen --- arch/arm64/boot/dts/qcom/Makefile | 2 + .../boot/dts/qcom/msm8996-oneplus-common.dtsi | 794 ++++++++++++++++++ arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts | 44 + .../arm64/boot/dts/qcom/msm8996-oneplus3t.dts | 45 + 4 files changed, 885 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/msm8996-oneplus-common.dtsi create mode 100644 arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts create mode 100644 arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index d7669a7cee9f..0380ac4fb196 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -33,6 +33,8 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D msm8994-sony-xperia-kitakami= -satsuki.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8994-sony-xperia-kitakami-sumire.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8994-sony-xperia-kitakami-suzuran.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-mtp.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-oneplus3.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-oneplus3t.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-sony-xperia-tone-dora.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-sony-xperia-tone-kagura.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8996-sony-xperia-tone-keyaki.dtb diff --git a/arch/arm64/boot/dts/qcom/msm8996-oneplus-common.dtsi b/arch/ar= m64/boot/dts/qcom/msm8996-oneplus-common.dtsi new file mode 100644 index 000000000000..41eb6f28e9a4 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8996-oneplus-common.dtsi @@ -0,0 +1,794 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022, The Linux Foundation. All rights reserved. + */ + +#include "msm8996.dtsi" +#include "pm8994.dtsi" +#include "pmi8994.dtsi" +#include "pmi8996.dtsi" +#include +#include +#include +#include +#include + +/ { + aliases { + serial0 =3D &blsp1_uart2; + serial1 =3D &blsp2_uart2; + }; + + battery: battery { + compatible =3D "simple-battery"; + + constant-charge-current-max-microamp =3D <3000000>; + voltage-min-design-microvolt =3D <3400000>; + }; + + chosen { + stdout-path =3D "serial1:115200n8"; + }; + + clocks { + compatible =3D "simple-bus"; + + divclk4: divclk4 { + compatible =3D "fixed-clock"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&divclk4_pin_a>; + #clock-cells =3D <0>; + clock-frequency =3D <32768>; + clock-output-names =3D "divclk4"; + }; + + div1_mclk: divclk1 { + compatible =3D "gpio-gate-clock"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&audio_mclk>; + #clock-cells =3D <0>; + clocks =3D <&rpmcc RPM_SMD_DIV_CLK1>; + enable-gpios =3D <&pm8994_gpios 15 GPIO_ACTIVE_HIGH>; + }; + }; + + reserved-memory { + ramoops@ac000000 { + compatible =3D "ramoops"; + reg =3D <0 0xac000000 0 0x200000>; + record-size =3D <0x20000>; + console-size =3D <0x100000>; + pmsg-size =3D <0x80000>; + }; + }; + + vph_pwr: vph-pwr-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + regulator-always-on; + regulator-boot-on; + }; + + wlan_en: wlan-en-1-8v { + compatible =3D "regulator-fixed"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wlan_en_gpios>; + regulator-name =3D "wlan-en-regulator"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&pm8994_gpios 8 GPIO_ACTIVE_HIGH>; + + /* WLAN card specific delay */ + startup-delay-us =3D <70000>; + enable-active-high; + }; +}; + +&adsp_pil { + status =3D "okay"; +}; + +&blsp1_i2c3 { + status =3D "okay"; + + tfa9890_amp: audio-codec@36 { + compatible =3D "nxp,tfa9890"; + reg =3D <0x36>; + #sound-dai-cells =3D <0>; + }; +}; + +&blsp1_i2c6 { + status =3D "okay"; + + bq27541: fuel-gauge@55 { + compatible =3D "ti,bq27541"; + reg =3D <0x55>; + }; +}; + +&blsp1_uart2 { + label =3D "BT-UART"; + status =3D "okay"; + uart-has-rtscts; + + bluetooth { + compatible =3D "qcom,qca6174-bt"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&bt_en_gpios>; + enable-gpios =3D <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>; + clocks =3D <&divclk4>; + }; +}; + +&blsp2_i2c1 { + status =3D "okay"; +}; + +&blsp2_i2c6 { + status =3D "okay"; + + synaptics_rmi4_i2c: touchscreen@20 { + compatible =3D "syna,rmi4-i2c"; + reg =3D <0x20>; + #address-cells =3D <1>; + #size-cells =3D <0>; + interrupts-extended =3D <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&touch_default>; + pinctrl-1 =3D <&touch_suspend>; + vdd-supply =3D <&vreg_l22a_3p0>; + vio-supply =3D <&vreg_s4a_1p8>; + syna,reset-delay-ms =3D <200>; + syna,startup-delay-ms =3D <200>; + + rmi4-f01@1 { + reg =3D <0x1>; + syna,nosleep-mode =3D <1>; + }; + + rmi4-f12@12 { + reg =3D <0x12>; + syna,sensor-type =3D <1>; + touchscreen-x-mm =3D <68>; + touchscreen-y-mm =3D <122>; + }; + }; +}; + +&blsp2_uart2 { + status =3D "okay"; + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&blsp2_uart2_2pins_default>; + pinctrl-1 =3D <&blsp2_uart2_2pins_sleep>; +}; + +&camss { + vdda-supply =3D <&vreg_l2a_1p25>; +}; + +&dsi0 { + status =3D "okay"; + + vdda-supply =3D <&vreg_l2a_1p25>; + vcca-supply =3D <&vreg_l22a_3p0>; +}; + +&dsi0_out { + data-lanes =3D <0 1 2 3>; +}; + +&dsi0_phy { + status =3D "okay"; + + vdda-supply =3D <&vreg_l2a_1p25>; + vcca-supply =3D <&vreg_l28a_0p925>; +}; + +&gpu { + status =3D "okay"; +}; + +&hsusb_phy1 { + status =3D "okay"; + + vdd-supply =3D <&vreg_l28a_0p925>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply =3D <&vreg_l24a_3p075>; +}; + +&hsusb_phy2 { + status =3D "okay"; + + vdd-supply =3D <&vreg_l28a_0p925>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply =3D <&vreg_l24a_3p075>; +}; + +&mdp { + status =3D "okay"; +}; + +&mdss { + status =3D "okay"; +}; + +&mmcc { + vdd-gfx-supply =3D <&vdd_gfx>; +}; + +&mss_pil { + status =3D "okay"; + + pll-supply =3D <&vreg_l12a_1p8>; +}; + +&pcie0 { + status =3D "okay"; + perst-gpios =3D <&tlmm 35 GPIO_ACTIVE_LOW>; + vddpe-3v3-supply =3D <&wlan_en>; + vdda-supply =3D <&vreg_l28a_0p925>; +}; + +&pcie_phy { + status =3D "okay"; + vdda-phy-supply =3D <&vreg_l28a_0p925>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; +}; + +&pm8994_gpios { + bt_en_gpios: bt-en-gpios-state { + pins =3D "gpio19"; + function =3D PMIC_GPIO_FUNC_NORMAL; + output-low; + power-source =3D ; + qcom,drive-strength =3D ; + bias-pull-down; + }; + + wlan_en_gpios: wlan-en-gpios-state { + pins =3D "gpio8"; + function =3D PMIC_GPIO_FUNC_NORMAL; + output-low; + power-source =3D ; + qcom,drive-strength =3D ; + bias-pull-down; + }; + + audio_mclk: divclk1-state { + pins =3D "gpio15"; + function =3D PMIC_GPIO_FUNC_FUNC1; + power-source =3D ; + }; + + divclk4_pin_a: divclk4-state { + pins =3D "gpio18"; + function =3D PMIC_GPIO_FUNC_FUNC2; + bias-disable; + power-source =3D ; + }; +}; + +&pm8994_spmi_regulators { + qcom,saw-reg =3D <&saw3>; + + s9 { + qcom,saw-slave; + }; + + s10 { + qcom,saw-slave; + }; + + s11 { + qcom,saw-leader; + regulator-min-microvolt =3D <1140000>; + regulator-max-microvolt =3D <1140000>; + regulator-max-step-microvolt =3D <150000>; + regulator-always-on; + }; +}; + +&pmi8994_spmi_regulators { + vdd_gfx: s2 { + regulator-name =3D "vdd-gfx"; + regulator-min-microvolt =3D <980000>; + regulator-max-microvolt =3D <1230000>; + }; +}; + +&q6asmdai { + #address-cells =3D <1>; + #size-cells =3D <0>; + + dai@0 { + reg =3D <0>; + }; + + dai@1 { + reg =3D <1>; + }; + + dai@2 { + reg =3D <2>; + }; +}; + +&rpm_requests { + regulators { + compatible =3D "qcom,rpm-pm8994-regulators"; + + vreg_s3a_1p3: s3 { + regulator-name =3D "vreg_s3a_1p3"; + regulator-min-microvolt =3D <1300000>; + regulator-max-microvolt =3D <1300000>; + }; + + vreg_s4a_1p8: s4 { + regulator-name =3D "vreg_s4a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + }; + + vreg_s5a_2p15: s5 { + regulator-name =3D "vreg_s5a_2p15"; + regulator-min-microvolt =3D <2150000>; + regulator-max-microvolt =3D <2150000>; + }; + + vreg_s7a_0p8: s7 { + regulator-name =3D "vreg_s7a_0p8"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + }; + + vreg_l1a_1p0: l1 { + regulator-name =3D "vreg_l1a_1p0"; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1000000>; + }; + + vreg_l2a_1p25: l2 { + regulator-name =3D "vreg_l2a_1p25"; + regulator-min-microvolt =3D <1250000>; + regulator-max-microvolt =3D <1250000>; + regulator-allow-set-load; + }; + + vreg_l3a_1p1: l3 { + regulator-name =3D "vreg_l3a_1p1"; + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + }; + + vreg_l4a_1p225: l4 { + regulator-name =3D "vreg_l4a_1p225"; + regulator-min-microvolt =3D <1225000>; + regulator-max-microvolt =3D <1225000>; + }; + + vreg_l6a_1p2: l6 { + regulator-name =3D "vreg_l6a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + }; + + vreg_l7a_1p8: l7 { + regulator-name =3D "vreg_l7a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_l9a_1p8: l9 { + regulator-name =3D "vreg_l9a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_l10a_1p8: l10 { + regulator-name =3D "vreg_l10a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_l11a_1p15: l11 { + regulator-name =3D "vreg_l11a_1p15"; + regulator-min-microvolt =3D <1150000>; + regulator-max-microvolt =3D <1150000>; + }; + + vreg_l12a_1p8: l12 { + regulator-name =3D "vreg_l12a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-allow-set-load; + }; + + vreg_l13a_2p95: l13 { + regulator-name =3D "vreg_l13a_2p95"; + regulator-min-microvolt =3D <2950000>; + regulator-max-microvolt =3D <2950000>; + }; + + vreg_l16a_2p7: l16 { + regulator-name =3D "vreg_l16a_2p7"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <2700000>; + }; + + vreg_l17a_2p6: l17 { + regulator-name =3D "vreg_l17a_2p6"; + regulator-min-microvolt =3D <2600000>; + regulator-max-microvolt =3D <2600000>; + }; + + vreg_l18a_3p3: l18 { + regulator-name =3D "vreg_l18a_3p3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + }; + + vreg_l19a_3p0: l19 { + regulator-name =3D "vreg_l19a_3p0"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + }; + + vreg_l20a_2p95: l20 { + regulator-name =3D "vreg_l20a_2p95"; + regulator-min-microvolt =3D <2950000>; + regulator-max-microvolt =3D <2950000>; + regulator-allow-set-load; + }; + + vreg_l21a_2p95: l21 { + regulator-name =3D "vreg_l21a_2p95"; + regulator-min-microvolt =3D <2950000>; + regulator-max-microvolt =3D <2950000>; + regulator-allow-set-load; + regulator-system-load =3D <200000>; + }; + + vreg_l22a_3p0: l22 { + regulator-name =3D "vreg_l22a_3p0"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3300000>; + }; + + vreg_l23a_2p8: l23 { + regulator-name =3D "vreg_l23a_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + }; + + vreg_l24a_3p075: l24 { + regulator-name =3D "vreg_l24a_3p075"; + regulator-min-microvolt =3D <3075000>; + regulator-max-microvolt =3D <3075000>; + }; + + vreg_l25a_1p2: l25 { + regulator-name =3D "vreg_l25a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-allow-set-load; + regulator-always-on; + }; + + vreg_l27a_1p2: l27 { + regulator-name =3D "vreg_l27a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + }; + + vreg_l28a_0p925: l28 { + regulator-name =3D "vreg_l28a_0p925"; + regulator-min-microvolt =3D <925000>; + regulator-max-microvolt =3D <925000>; + regulator-allow-set-load; + }; + + vreg_l29a_2p8: l29 { + regulator-name =3D "vreg_l29a_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + }; + + vreg_l30a_1p8: l30 { + regulator-name =3D "vreg_l30a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_l32a_1p8: l32 { + regulator-name =3D "vreg_l32a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + }; +}; + +&slpi_pil { + status =3D "okay"; +}; + +&sound { + compatible =3D "qcom,apq8096-sndcard"; + model =3D "OnePlus3"; + audio-routing =3D "RX_BIAS", "MCLK", + "AMIC2", "MIC BIAS2", + "MIC BIAS2", "Headset Mic", + "AMIC4", "MIC BIAS1", + "MIC BIAS1", "Primary Mic", + "AMIC5", "MIC BIAS3", + "MIC BIAS3", "Noise Mic"; + + mm1-dai-link { + link-name =3D "MultiMedia1"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; + }; + }; + + mm2-dai-link { + link-name =3D "MultiMedia2"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; + }; + }; + + mm3-dai-link { + link-name =3D "MultiMedia3"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; + }; + }; + + mm4-dai-link { + link-name =3D "MultiMedia4"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; + }; + }; + + mm5-dai-link { + link-name =3D "MultiMedia5"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA5>; + }; + }; + + mm6-dai-link { + link-name =3D "MultiMedia6"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA6>; + }; + }; + + mm7-dai-link { + link-name =3D "MultiMedia7"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA7>; + }; + }; + + mm8-dai-link { + link-name =3D "MultiMedia8"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA8>; + }; + }; + + mm9-dai-link { + link-name =3D "MultiMedia9"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA9>; + }; + }; + + mm10-dai-link { + link-name =3D "MultiMedia10"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA10>; + }; + }; + + mm11-dai-link { + link-name =3D "MultiMedia11"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA11>; + }; + }; + + mm12-dai-link { + link-name =3D "MultiMedia12"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA12>; + }; + }; + + mm13-dai-link { + link-name =3D "MultiMedia13"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA13>; + }; + }; + + mm14-dai-link { + link-name =3D "MultiMedia14"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA14>; + }; + }; + + mm15-dai-link { + link-name =3D "MultiMedia15"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA15>; + }; + }; + + mm16-dai-link { + link-name =3D "MultiMedia16"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA16>; + }; + }; + + slim-dai-link { + link-name =3D "SLIM Playback"; + + cpu { + sound-dai =3D <&q6afedai SLIMBUS_6_RX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&wcd9335 AIF4_PB>; + }; + }; + + slimcap-dai-link { + link-name =3D "SLIM Capture"; + + cpu { + sound-dai =3D <&q6afedai SLIMBUS_0_TX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&wcd9335 AIF1_CAP>; + }; + }; + + speaker-dai-link { + link-name =3D "Speaker"; + + cpu { + sound-dai =3D <&q6afedai QUATERNARY_MI2S_RX>; + }; + + codec { + sound-dai =3D <&tfa9890_amp>; + }; + }; +}; + +&tlmm { + gpio-reserved-ranges =3D <81 4>; + + mdss_dsi_active: mdss-dsi-active-state { + pins =3D "gpio8"; + function =3D "gpio"; + drive-strength =3D <8>; + bias-disable; + }; + + mdss_dsi_suspend: mdss-dsi-suspend-state { + pins =3D "gpio8"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + mdss_te_active: mdss-te-active-state { + pins =3D "gpio10"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + mdss_te_suspend: mdss-te-suspend-state { + pins =3D "gpio10"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + touch_default: touch-default-state { + pins =3D "gpio89", "gpio125", "gpio49"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-pull-up; + }; + + touch_suspend: touch-suspend-state { + pins =3D "gpio89", "gpio125", "gpio49"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; +}; + +&ufsphy { + status =3D "okay"; + + vdda-phy-supply =3D <&vreg_l28a_0p925>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vddp-ref-clk-supply =3D <&vreg_l25a_1p2>; +}; + +&ufshc { + status =3D "okay"; + + vcc-supply =3D <&vreg_l20a_2p95>; + vccq-supply =3D <&vreg_l25a_1p2>; + vccq2-supply =3D <&vreg_s4a_1p8>; + + vcc-max-microamp =3D <600000>; + vccq-max-microamp =3D <450000>; + vccq2-max-microamp =3D <450000>; +}; + +&usb3 { + status =3D "okay"; +}; + +&usb3_dwc3 { + phys =3D <&hsusb_phy1>; + phy-names =3D "usb2-phy"; + + maximum-speed =3D "high-speed"; +}; + +&venus { + status =3D "okay"; +}; + +&wcd9335 { + clock-names =3D "mclk", "slimbus"; + clocks =3D <&div1_mclk>, + <&rpmcc RPM_SMD_BB_CLK1>; + + vdd-buck-supply =3D <&vreg_s4a_1p8>; + vdd-buck-sido-supply =3D <&vreg_s4a_1p8>; + vdd-tx-supply =3D <&vreg_s4a_1p8>; + vdd-rx-supply =3D <&vreg_s4a_1p8>; + vdd-io-supply =3D <&vreg_s4a_1p8>; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts b/arch/arm64/boo= t/dts/qcom/msm8996-oneplus3.dts new file mode 100644 index 000000000000..e583ac788efd --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8996-oneplus3.dts @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022, The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "msm8996-oneplus-common.dtsi" + +/ { + model =3D "OnePlus 3"; + compatible =3D "oneplus,oneplus3", "qcom,msm8996"; + chassis-type =3D "handset"; + qcom,board-id =3D <8 0 15801 15>, <8 0 15801 16>; + qcom,msm-id =3D <246 0x30001>; +}; + +&adsp_pil { + firmware-name =3D "qcom/msm8996/oneplus3/adsp.mbn"; +}; + +&battery { + charge-full-design-microamp-hours =3D <3000000>; + voltage-max-design-microvolt =3D <4350000>; +}; + +&gpu { + zap-shader { + firmware-name =3D "qcom/msm8996/oneplus3/a530_zap.mbn"; + }; +}; + +&mss_pil { + firmware-name =3D "qcom/msm8996/oneplus3/mba.mbn", + "qcom/msm8996/oneplus3/modem.mbn"; +}; + +&slpi_pil { + firmware-name =3D "qcom/msm8996/oneplus3/slpi.mbn"; +}; + +&venus { + firmware-name =3D "qcom/msm8996/oneplus3/venus.mbn"; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts b/arch/arm64/bo= ot/dts/qcom/msm8996-oneplus3t.dts new file mode 100644 index 000000000000..8903c7ea1627 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8996-oneplus3t.dts @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022, The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "msm8996-oneplus-common.dtsi" + +/ { + model =3D "OnePlus 3T"; + compatible =3D "oneplus,oneplus3t", "qcom,msm8996"; + chassis-type =3D "handset"; + qcom,board-id =3D <8 0 15811 26>, + <8 0 15811 27>, + <8 0 15811 28>; +}; + +&adsp_pil { + firmware-name =3D "qcom/msm8996/oneplus3t/adsp.mbn"; +}; + +&battery { + charge-full-design-microamp-hours =3D <3400000>; + voltage-max-design-microvolt =3D <4400000>; +}; + +&gpu { + zap-shader { + firmware-name =3D "qcom/msm8996/oneplus3t/a530_zap.mbn"; + }; +}; + +&mss_pil { + firmware-name =3D "qcom/msm8996/oneplus3t/mba.mbn", + "qcom/msm8996/oneplus3t/modem.mbn"; +}; + +&slpi_pil { + firmware-name =3D "qcom/msm8996/oneplus3t/slpi.mbn"; +}; + +&venus { + firmware-name =3D "qcom/msm8996/oneplus3t/venus.mbn"; +}; -- 2.38.1