From nobody Thu Apr 2 15:39:11 2026 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 232463E717B; Fri, 27 Mar 2026 13:07:09 +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=1774616830; cv=none; b=rfc58uVufoDZgPKIqUNW1W9zKm/Mc1K/65nwSaSoFFBihBz3R4S054yvCT5OV0iyWAgu9cx1ly/VWAVfgep+1Se2s4tLegSGRn9x6yiJfn/JM1zsDT08l84RSCVDGoz1NvdlTFRVtc4r2Sirbrq4lTCgqILFQw3blQQ3J/CCofQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774616830; c=relaxed/simple; bh=To8Qup3MXF6u7fIYte72oP+NECphIimOxx4PV03mpZA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K8kBCnf84SdaccHvj9tjgGVF320wh+WRtYgwmjma09N5zoKrmbDW0kjWCQDQ9gWAEEBUGpDlj4lgXpgOfohnmP3IXzQKA/8qiLnMsCt1hiKnvzf3cUyiaSoWyAyoAMQyyJdIhBlDOTdIfzUkR3J3Ezbvr/B8usTgTWwySWHXS30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rImuipt0; 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="rImuipt0" Received: by smtp.kernel.org (Postfix) with ESMTPS id BEBBFC2BC87; Fri, 27 Mar 2026 13:07:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774616829; bh=To8Qup3MXF6u7fIYte72oP+NECphIimOxx4PV03mpZA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=rImuipt002pwIfwOaIkXOp1zEJ1STqNeHSJm/JPgQbHJ1r+mjFBB4BScUtYN4e+52 Ssxt+KwFIupvmmyfffhQgpErRLgWhE8Kpjco2fDV6qSwsZkFJYRtcq4CdLH094W2dz yfK0vCU1LSBv+YCl0cJtBMX0QS2Mlm5yot9snb3WWnRk2kH/P3FojcRQmWFpEt3/M+ TTb7tqvG8IEF9keZ+WFkDUWgA6xMMwPzQePl6S3EJSWjTpQlFNMVLGbgQ8T6uB9DbG 5TgNLcioqndTxhC+EYxEk3v31Mlqgei5rTZBO+5hn20rXPP2pojiH7WIyKXKXxyq6W 3BAFn2ukxYDKQ== 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 AA88810ED674; Fri, 27 Mar 2026 13:07:09 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Fri, 27 Mar 2026 14:07:08 +0100 Subject: [PATCH RFC 1/2] arm64: dts: qcom: sdm845-google: Describe Wi-Fi/BT properly Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-wcn3990-pwrctl-sdm845-v1-1-3f5c34e3fdd0@ixit.cz> References: <20260327-wcn3990-pwrctl-sdm845-v1-0-3f5c34e3fdd0@ixit.cz> In-Reply-To: <20260327-wcn3990-pwrctl-sdm845-v1-0-3f5c34e3fdd0@ixit.cz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Paul Sajna , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2285; i=david@ixit.cz; h=from:subject:message-id; bh=ZdsZlqRm3/oxciwUtKAmARcIeJyJp34l/WYfXSWVTDk=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBpxoD8X3UHY8pX88+zhKXwHwfDLK4KyevZawF/N WB8LSP1NLOJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCacaA/AAKCRBgAj/E00kg cql4D/0fFQTGC79+QPPPwY4Zs53+E9cFblgQy0wmQmkicMTkYG5vExKjTaarCUaglJ/Xfjw/1jM N6rkezDgcASHcKi+9OWujRB8An1lZzyRORGc4UOhYiM1p0nAI/mavcu24SLQfub6SfEjHVx0VVd 9HxISKgtDUMeLwEmv9gt+WqXNs85ILPrEdedgpGnwjTTdLRM30z2hDLEvF7yZvtM4rpd+cRDHZu PXAcwNCmbO4IDr8CiqjMhdTq3M2gVEJJvhJQvC+LUsHWXesQ/aaUIzWfEHLmVeWrSYMt62rhFlN 6TZhXQR/AgswhvTkqida71CU93U36v9uLyYQdvZLq3+icerOwBx8Em/5Bbw1QLJizJqDGeb6Wyo FoXONlDEhUoUD3CEHJkwUFH7F3lRqTlJXU9ZIJILAoT+EuquxsEG3SvdN90h5GuxYfernAewprc fxzuVxSE+w3+BL6W6VVMstOdoQv8LiE5w7QD0wy3NK6wQwakqtyL1LSnlMje6at1Cf0Ix+d0TFm Otlh6DU8KTmLTBJf5jkDiwiKtZFUlBzkDkjf6M/FSMWsN885ctAKi0tLAjqOveYBwbTg2HC/V1F caIHO8iZhViJvg41o8F8+K42VrhWLx9Lgx4nlFt2ZMh3ADBXRGP/4hNbxjzo3hfQk+dg/TCJ26+ MX3RxiMjtBWhL3A== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg The onboard Wi-Fi / BT device, WCN3990, has a simple on-chip PMU, which further spreads generated voltage. Describe the PMU in the device tree and rewire Bluetooth and Wi-Fi supply properties to use the PMU LDO outputs instead of referencing the SoC regulators directly. Couldn't verify the swctrl GPIO thus omitted. Assisted-by: Claude:claude-opus-4.6 Signed-off-by: David Heidelberg Reviewed-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi | 42 ++++++++++++++++++= ---- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi b/arch/arm6= 4/boot/dts/qcom/sdm845-google-common.dtsi index fd9788d5c3f54..6930066857768 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi @@ -131,6 +131,33 @@ vreg_s4a_1p8: regulator-vreg-s4a-1p8 { =20 vin-supply =3D <&vph_pwr>; }; + + wcn3990-pmu { + compatible =3D "qcom,wcn3990-pmu"; + + vddio-supply =3D <&vreg_s4a_1p8>; + vddxo-supply =3D <&vreg_l7a_1p8>; + vddrf-supply =3D <&vreg_l17a_1p3>; + vddch0-supply =3D <&vreg_l25a_3p3>; + + regulators { + vreg_pmu_io: ldo0 { + regulator-name =3D "vreg_pmu_io"; + }; + + vreg_pmu_xo: ldo1 { + regulator-name =3D "vreg_pmu_xo"; + }; + + vreg_pmu_rf: ldo2 { + regulator-name =3D "vreg_pmu_rf"; + }; + + vreg_pmu_ch0: ldo3 { + regulator-name =3D "vreg_pmu_ch0"; + }; + }; + }; }; =20 &adsp_pas { @@ -462,10 +489,11 @@ &uart6 { bluetooth { compatible =3D "qcom,wcn3990-bt"; =20 - vddio-supply =3D <&vreg_s4a_1p8>; - vddxo-supply =3D <&vreg_l7a_1p8>; - vddrf-supply =3D <&vreg_l17a_1p3>; - vddch0-supply =3D <&vreg_l25a_3p3>; + vddio-supply =3D <&vreg_pmu_io>; + vddxo-supply =3D <&vreg_pmu_xo>; + vddrf-supply =3D <&vreg_pmu_rf>; + vddch0-supply =3D <&vreg_pmu_ch0>; + max-speed =3D <3200000>; }; }; @@ -526,9 +554,9 @@ &venus { =20 &wifi { vdd-0.8-cx-mx-supply =3D <&vreg_l5a_0p8>; - vdd-1.8-xo-supply =3D <&vreg_l7a_1p8>; - vdd-1.3-rfa-supply =3D <&vreg_l17a_1p3>; - vdd-3.3-ch0-supply =3D <&vreg_l25a_3p3>; + vdd-1.8-xo-supply =3D <&vreg_pmu_xo>; + vdd-1.3-rfa-supply =3D <&vreg_pmu_rf>; + vdd-3.3-ch0-supply =3D <&vreg_pmu_ch0>; =20 qcom,snoc-host-cap-8bit-quirk; =20 --=20 2.53.0 From nobody Thu Apr 2 15:39:11 2026 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 2816D3E8675; Fri, 27 Mar 2026 13:07:10 +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=1774616830; cv=none; b=BU43kWOjey44MXrCtflt4XKvHdYfbQ4jhkqxHVfrbCb2HB11j7B0My48d9/b1XQEeTDtSh/uWzG7v+J4dL7dBi4Xp6MOZ4nN3gGrjJ76Zm2Bke5YhIRHDdKgNXpITNNxMW04w2NmCHubTHsPn2M7NYmj6ZfhFiZaK2Kg7mXeb/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774616830; c=relaxed/simple; bh=1RuCyC0Y29MQmA/I/TR5dpfX8DVivwLP+vb4lQF4CU0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pr2d/pPF1zOb39oDV3eSVxsc1CeT9OG5wSgz1fPe04y4CFBO7QmCTtLKyhts2ynN534ptDYGKUmJZlz8E3LZ5RVGUWASW1P5JMKcZAuyi7PrFwY7q4uHzHILxPmOdiRks164d7miIXIO/hioa4Ftc+mbF5estSeuxEVmbCHngFE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=b//2ncFG; 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="b//2ncFG" Received: by smtp.kernel.org (Postfix) with ESMTPS id CA00FC2BCB1; Fri, 27 Mar 2026 13:07:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774616829; bh=1RuCyC0Y29MQmA/I/TR5dpfX8DVivwLP+vb4lQF4CU0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=b//2ncFGeFcLl/ZyyWFP8vbCptCasg3ysIEBSPiJs05Nu1P+tiTA/rPldG/L3nSHZ CO8fK2i24cNAiYB/V/j42XOOGgQiR70gBoVay6U7iXhUzfb1e8s/Fj1f/OfSopmcF6 snclzVpDSN5JtPglwP4RdkDu8xCxeWBhTfyITIRIxAXzo4APcpEr2cP3T/ueNLUs3B j0NvPNMgUQK5r1o1O5j5efjIj7DUOAr6y5+HY+7gadMh9dcKBmTUsc+h6d5dSZq4yg 3N4CoTRf7p2xX107l5Ll3m9DJP0Fcatyn9k6Y3g7AjHg07C8g5w5z/GdrodXc/wdi6 ztYrOTjF4Z2Ow== 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 C004010ED677; Fri, 27 Mar 2026 13:07:09 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Fri, 27 Mar 2026 14:07:09 +0100 Subject: [PATCH RFC 2/2] arm64: dts: qcom: sdm845-oneplus: Describe Wi-Fi/BT properly Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260327-wcn3990-pwrctl-sdm845-v1-2-3f5c34e3fdd0@ixit.cz> References: <20260327-wcn3990-pwrctl-sdm845-v1-0-3f5c34e3fdd0@ixit.cz> In-Reply-To: <20260327-wcn3990-pwrctl-sdm845-v1-0-3f5c34e3fdd0@ixit.cz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Paul Sajna , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3019; i=david@ixit.cz; h=from:subject:message-id; bh=NCuUO0OX7Mr016a4HOAuAhnhl+ajm2fLd9iQQBmLAt0=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBpxoD8Qe4h2VZLhPgPoUe4sAXGVqdILj/8ed33v db8HIPKYVuJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCacaA/AAKCRBgAj/E00kg cvgpD/0bABCwRGI5o4Z960vl++GWAX4kCXkOXuW3WQNFLlMPU5T24inK5paz+KoLvmHaztP6plX 8SHbWQLRs1wKrKH4bOpnY9WzTokua6nepHJqlVC2ONOrzcqfF9WDIyW8kPVWGS8R1Ddlf0yEuef jCIDQad1qCR6CgL91KQOp/7cpeEANQ1jdb6I6KFtc9owS79dlCoZQBFtUToqQADpq6AKXD9Q4B6 24D2ZLnLuuij3A0oV2ST1uQxL13lQ2SM5n+sbP+6Zzke4JUl4fKXiXLaoGirtKn3d32t1Stivc+ 2PRspSajo3iva68wnZxnoUY1s7h5iZ4ExsxL9f9L6raafiXwxo9ekQyuKkcyDYvFleHAAmc4iM8 Al+NkluL9D6NIGt7evGEpabp1GCqJyeHJqOOKEqNbBaYxYuglcsapfBT8Zoa5I2t7arJouLvEIT W34GN4JBSyURsuuxCLC5GByU9wDjLfTjZzf0D1uSYhYZ3moTJRV6EC1544yF8j75ZO4gCAUgy+L KKu7ToLPi56qpzkLMonNHuzedgCxv3Bq3UqQpU7Ajbam4qF1oERmuxkJr9c2fkYYFhVo+E7bLll 3/wJIn2yU74hnIaocpLO0RrRZ0A/AATQb+Esj+x/CJ5Vip7aly5RFoFXxC2QEljo4HvzZX6J9ku DjzKW9Kk/YGOGMQ== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg The onboard Wi-Fi / BT device, WCN3990, has a simple on-chip PMU, which further spreads generated voltage. Describe the PMU in the device tree and rewire Bluetooth and WiFi supply properties to use the PMU LDO outputs instead of referencing the SoC regulators directly. Verified against the datasheet. Assisted-by: Claude:claude-opus-4.6 Signed-off-by: David Heidelberg Reviewed-by: Dmitry Baryshkov --- .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 65 ++++++++++++++++++= +--- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm= 64/boot/dts/qcom/sdm845-oneplus-common.dtsi index ea187244c92a9..6b7378cf4d493 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi @@ -230,6 +230,43 @@ panel_vddi_poc_1p8: panel-vddi-poc-regulator { pinctrl-names =3D "default"; regulator-boot-on; }; + + wcn3990-pmu { + compatible =3D "qcom,wcn3990-pmu"; + + pinctrl-0 =3D <&sw_ctrl_default>; + pinctrl-names =3D "default"; + + vddio-supply =3D <&vreg_s4a_1p8>; + vddxo-supply =3D <&vreg_l7a_1p8>; + vddrf-supply =3D <&vreg_l17a_1p3>; + vddch0-supply =3D <&vreg_l25a_3p3>; + vddch1-supply =3D <&vreg_l23a_3p3>; + + swctrl-gpios =3D <&pm8998_gpios 3 GPIO_ACTIVE_HIGH>; + + regulators { + vreg_pmu_io: ldo0 { + regulator-name =3D "vreg_pmu_io"; + }; + + vreg_pmu_xo: ldo1 { + regulator-name =3D "vreg_pmu_xo"; + }; + + vreg_pmu_rf: ldo2 { + regulator-name =3D "vreg_pmu_rf"; + }; + + vreg_pmu_ch0: ldo3 { + regulator-name =3D "vreg_pmu_ch0"; + }; + + vreg_pmu_ch1: ldo4 { + regulator-name =3D "vreg_pmu_ch1"; + }; + }; + }; }; =20 &adsp_pas { @@ -536,6 +573,14 @@ &mss_pil { }; =20 &pm8998_gpios { + sw_ctrl_default: sw-ctrl-default-state { + pins =3D "gpio3"; + function =3D "normal"; + + input-enable; + bias-pull-down; + }; + volume_down_gpio: pm8998-gpio5-state { pinconf { pins =3D "gpio5"; @@ -804,10 +849,11 @@ bluetooth { */ firmware-name =3D "OnePlus/enchilada/crnv21.bin"; =20 - vddio-supply =3D <&vreg_s4a_1p8>; - vddxo-supply =3D <&vreg_l7a_1p8>; - vddrf-supply =3D <&vreg_l17a_1p3>; - vddch0-supply =3D <&vreg_l25a_3p3>; + vddio-supply =3D <&vreg_pmu_io>; + vddxo-supply =3D <&vreg_pmu_xo>; + vddrf-supply =3D <&vreg_pmu_rf>; + vddch0-supply =3D <&vreg_pmu_ch0>; + max-speed =3D <3200000>; }; }; @@ -981,13 +1027,14 @@ &wcd9340 { }; =20 &wifi { - status =3D "okay"; vdd-0.8-cx-mx-supply =3D <&vreg_l5a_0p8>; - vdd-1.8-xo-supply =3D <&vreg_l7a_1p8>; - vdd-1.3-rfa-supply =3D <&vreg_l17a_1p3>; - vdd-3.3-ch0-supply =3D <&vreg_l25a_3p3>; - vdd-3.3-ch1-supply =3D <&vreg_l23a_3p3>; + vdd-1.8-xo-supply =3D <&vreg_pmu_xo>; + vdd-1.3-rfa-supply =3D <&vreg_pmu_rf>; + vdd-3.3-ch0-supply =3D <&vreg_pmu_ch0>; + vdd-3.3-ch1-supply =3D <&vreg_pmu_ch1>; =20 qcom,calibration-variant =3D "oneplus_sdm845"; qcom,snoc-host-cap-8bit-quirk; + + status =3D "okay"; }; --=20 2.53.0