From patchwork Tue Jun 10 16:50:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Glathe via B4 Relay X-Patchwork-Id: 895276 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 005CC24169E; Tue, 10 Jun 2025 16:51:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749574263; cv=none; b=BjxwSHjDCaxyUPKqqPvdRnRRJy9BOe6VFMTudDXwCT2Ww0jpcWLGv05k40SYAO+nK7PJQfo2TiOuanTudED1QQkm899hca6hJU/w0Loid3SZzZkszdzTUabj0+PUotMwVzWX7uN92ssahiU+7W2kCOd8LtEEcuYA+gsCgzbWvIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749574263; c=relaxed/simple; bh=ze8Gya1epDB8arJP+rgUHFrYUS9LYbu8wFqeNAdcOAA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=r2NHCna67fb1OXyDs7WW5bvQ/0f7QLZtD++WsPhhXshWEffV2x+Cua6IqXPcmOg3NEVHwIw0pLiy6J9uclOqzBMCZGTI5xD4L5+IHxA30LQK7PUGRfGY8XVRSyiUtEPsMSF051i3lVFFcSqRKUWNcZ9LxPGiC9PionFmbI9AIyU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AtBXfcgW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AtBXfcgW" Received: by smtp.kernel.org (Postfix) with ESMTPS id 6BA38C4CEED; Tue, 10 Jun 2025 16:51:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1749574262; bh=ze8Gya1epDB8arJP+rgUHFrYUS9LYbu8wFqeNAdcOAA=; h=From:Date:Subject:To:Cc:Reply-To:From; b=AtBXfcgWkqR6MBXX8AibwDWxxfqhGOEPmCjMDW3ti82bStHpkIjk7i2ILxvqTb1M+ TGTCEW0Txz/1rRUOCC3wTm5MhuahWxANxanc4a17SDkg9qxe0E5nD9sxfPw3LapbuW pzjgxCYmN+mAd4mvIPErM13iw6AnPhGeJp/XNti+zfpdscsbKoPJ2MwApNip+FCIRw iC+UWj3/J2Q+HskYqVs+q65+ZtYx2Ljotpo4MWYKn2TmEeh/UL0KCynaDxb8kwWzJN Q8xqHVm5uFWuNC9JfTRLQb2iN96XvgU1ywSBJqkiKjmnldYf/jhSVbVdGHExsnLLbi yBSQ80JuYNtdw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5828FC677C4; Tue, 10 Jun 2025 16:51:02 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Tue, 10 Jun 2025 18:50:57 +0200 Subject: [PATCH RESEND] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: add Bluetooth support Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250610-slim7x-bt-v1-1-49656d165695@oldschoolsolutions.biz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jens Glathe X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1749574261; l=5030; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=0Fmazzk3EbSz1yHBEpZ7VAUobYqkmhK7AiK9drzU7dY=; b=BYeLqc+cBe5CEQafJBeb9qOyJu80AK15xvVyoUmhrrUWvuM25JPhgEsgdqdX06P6MpbjuSMwv DWY6VGLPCdTBIov0r8rzj3h+6kluv+AWhcv8hlJ62KkkonzyVBfhsp3 X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe To enable Bluetooth pwrseq appears to be required for the WCN7850. Add the nodes from QCP. Add uart14 for the BT interface. Signed-off-by: Jens Glathe --- This patch adds the Bluetooth support for the WCN7850 card on this laptop. Since WCN7850 is supposed to need pwrseq, also added this from the QCP. This is also part of my tree [1] for the Yoga Slim 7X, although with an older definition for the pwrseq and regulators. [1] https://github.com/jglathe/linux_ms_dev_kit/blob/jg/ubuntu-qcom-x1e-6.15.0-rc3-jg-2/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts --- .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 136 +++++++++++++++++++++ 1 file changed, 136 insertions(+) --- base-commit: 393d0c54cae31317deaa9043320c5fd9454deabc change-id: 20250426-slim7x-bt-6d01127291d1 Best regards, diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts index 445d97d67d325853b7dcd2060523e7469ed4e6ea..a91d63508f65efea3786686f0f86a89a4355e0f1 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts @@ -18,6 +18,7 @@ / { aliases { serial0 = &uart21; + serial1 = &uart14; }; chosen { @@ -236,6 +237,101 @@ vph_pwr: regulator-vph-pwr { regulator-always-on; regulator-boot-on; }; + + vreg_wcn_0p95: regulator-wcn-0p95 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_0P95"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <950000>; + + vin-supply = <&vreg_wcn_3p3>; + }; + + vreg_wcn_1p9: regulator-wcn-1p9 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_1P9"; + regulator-min-microvolt = <1900000>; + regulator-max-microvolt = <1900000>; + + vin-supply = <&vreg_wcn_3p3>; + }; + + vreg_wcn_3p3: regulator-wcn-3p3 { + compatible = "regulator-fixed"; + + regulator-name = "VREG_WCN_3P3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&wcn_sw_en>; + pinctrl-names = "default"; + + regulator-boot-on; + }; + + wcn7850-pmu { + compatible = "qcom,wcn7850-pmu"; + + vdd-supply = <&vreg_wcn_0p95>; + vddio-supply = <&vreg_l15b_1p8>; + vddaon-supply = <&vreg_wcn_0p95>; + vdddig-supply = <&vreg_wcn_0p95>; + vddrfa1p2-supply = <&vreg_wcn_1p9>; + vddrfa1p8-supply = <&vreg_wcn_1p9>; + + wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; + bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&wcn_wlan_bt_en>; + pinctrl-names = "default"; + + regulators { + vreg_pmu_rfa_cmn: ldo0 { + regulator-name = "vreg_pmu_rfa_cmn"; + }; + + vreg_pmu_aon_0p59: ldo1 { + regulator-name = "vreg_pmu_aon_0p59"; + }; + + vreg_pmu_wlcx_0p8: ldo2 { + regulator-name = "vreg_pmu_wlcx_0p8"; + }; + + vreg_pmu_wlmx_0p85: ldo3 { + regulator-name = "vreg_pmu_wlmx_0p85"; + }; + + vreg_pmu_btcmx_0p85: ldo4 { + regulator-name = "vreg_pmu_btcmx_0p85"; + }; + + vreg_pmu_rfa_0p8: ldo5 { + regulator-name = "vreg_pmu_rfa_0p8"; + }; + + vreg_pmu_rfa_1p2: ldo6 { + regulator-name = "vreg_pmu_rfa_1p2"; + }; + + vreg_pmu_rfa_1p8: ldo7 { + regulator-name = "vreg_pmu_rfa_1p8"; + }; + + vreg_pmu_pcie_0p9: ldo8 { + regulator-name = "vreg_pmu_pcie_0p9"; + }; + + vreg_pmu_pcie_1p8: ldo9 { + regulator-name = "vreg_pmu_pcie_1p8"; + }; + }; + }; }; &apps_rsc { @@ -679,6 +775,16 @@ &pcie4_port0 { wifi@0 { compatible = "pci17cb,1107"; reg = <0x10000 0x0 0x0 0x0 0x0>; + + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; }; }; @@ -940,6 +1046,36 @@ reset-n-pins { }; }; + wcn_sw_en: wcn-sw-en-state { + pins = "gpio214"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + wcn_wlan_bt_en: wcn-wlan-bt-en-state { + pins = "gpio116", "gpio117"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +}; + +&uart14 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn7850-bt"; + max-speed = <3200000>; + + vddaon-supply = <&vreg_pmu_aon_0p59>; + vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; + vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; + vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; + }; }; &uart21 {