From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=79.135.106.118 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793400105; b=belT7ZX7HqQ1n7yji8nGVuueFlyaJVANoz+UsNZVNZV2hjc+IQEseXrx/+NJS4OSIrVQ bc7Xe9SDWXRkfv233Lf/sK59ryP8dQspfBb5cgXeyKDfiALbr4+9bQEPPjtIEBpJnridW W2DMg/haUfRqSNmbCo6wQYGRKf2ZPV+p/3BdvPMB5rKLgrS629v/aqBgE43bjrx53pd6D grmuPfA16EcjXWC9ssH8dCfCQhRqFdZUcHAbH1nZKh+uNUPi8avFkL0g5klXzk5Wo/axs vTFSvvcu8xU/WZNWD31+rRRYYajex53EJXpBFF/pXKlNicY/XMBoW+YT21RUgZ2QCyQ== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793400105; h=DMARC-Filter:DKIM-Signature:Date:To:From:Cc:Subject:Message-ID: In-Reply-To:References:Feedback-ID:X-Pm-Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding; bh=dA48SvowQtWAS9/G1L0zPJ1R+h+/c3AQD2SE7epq9qI=; b=oH4MgiYGG1C8JQspVtGyXqN4kZ/xa4OQnUl9+JV1/pczkTkCZIms6C82Ts3Xz5PFq403 mpc6NPdMdmZakV8xB2zXuQxdVSNHRsn1oepvr8WH+mJbO9VCJrH46cPls3vKoW6mojgVb eV7gUvz1YN47w42XLlsQepvpJEy8b5gVPAf7b1AzpQLN9HmnhdJE4Gb+0phRhPacHChOt /NM1Lhhje82BCtpsdFzsH1vaiRa+Re/zDJYly77WP1zGj89rq0lSZASpQUN4KdXDV75R5 wJycKqyTNjsI9Utp6eUE6n/0bomf46A1mH7hwJvZx4IayUCM8h0z9kZcH0YdtLN3F1w== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=pm.me; spf=pass smtp.mailfrom=pm.me; dkim=pass header.d=pm.me header.i=@pm.me header.a=rsa-sha256 header.s=protonmail3 header.b=mfjVExl+; arc=none smtp.remote-ip=79.135.106.118 Received: from mail-106118.protonmail.ch (mail-106118.protonmail.ch [79.135.106.118]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6AAD3606A31A for ; Fri, 30 Oct 2026 22:41:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 6AAD3606A31A Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=pm.me header.i=@pm.me header.a=rsa-sha256 header.s=protonmail3 header.b=mfjVExl+ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1793400102; x=1793659302; bh=dA48SvowQtWAS9/G1L0zPJ1R+h+/c3AQD2SE7epq9qI=; 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:BIMI-Selector; b=mfjVExl+TME/X6J2u33DBsNNj02vdZOfXyqNuEFFAJ6yDfHOTrVryJI4sCPdMEKR4 pLtPfbtiRuL584qpePLNj+OV5fkopH4SOJi7nFJpTLRiVOAzWyqZtgBEVV2rlGIhGu luThrkAuHiF0yaruI23iVYZhQ0ebvU6iV/DQyN0Jh6UBiDloG7nsbhUPTs0LduTNrt pD1x7xKOxuM1xejSYG5OTCxsXHDE2jd/DoPC7b1r+CLQM8tZDvH1gI+QUuiXj7Ymie C99xydP384QM5lrP57BIaQD99NFRrhXUqAMOTYz9hbf5YF+JNSdN6qXWBUbXZdoJfp WL/2zfOd2OGbA== Date: Fri, 30 Oct 2026 22:41:38 +0000 To: Bjorn Andersson , Konrad Dybcio , Abel Vesa , Rob Herring , Krzysztof Kozlowski , Conor Dooley From: Alexander Koskovich Cc: Luca Weiss , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Alexander Koskovich Subject: [PATCH v2 3/6] arm64: dts: qcom: milos-nothing-asteroids: Enable Bluetooth Message-ID: <20261030-asteroids-dts-updates-v2-3-66a56c537749@pm.me> In-Reply-To: <20261030-asteroids-dts-updates-v2-0-66a56c537749@pm.me> References: <20261030-asteroids-dts-updates-v2-0-66a56c537749@pm.me> Feedback-ID: 37836894:user:proton X-Pm-Message-ID: aab6e102c59806265a4df648a97f60279e51851e X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Add the nodes to describe the WCN6755 chip with its PMU and Bluetooth parts. Signed-off-by: Alexander Koskovich --- .../boot/dts/qcom/milos-nothing-asteroids.dts | 198 +++++++++++++++++= ++++ 1 file changed, 198 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/milos-nothing-asteroids.dts b/arch/ar= m64/boot/dts/qcom/milos-nothing-asteroids.dts index fa0cbf78b69a..b2838d2d3d98 100644 --- a/arch/arm64/boot/dts/qcom/milos-nothing-asteroids.dts +++ b/arch/arm64/boot/dts/qcom/milos-nothing-asteroids.dts @@ -22,6 +22,7 @@ / { =20 =09aliases { =09=09serial0 =3D &uart5; +=09=09serial1 =3D &uart11; =09}; =20 =09chosen { @@ -85,6 +86,22 @@ pmic_glink_sbu: endpoint { =09=09}; =09}; =20 +=09vreg_s1j: regulator-pm3001a-s1j { +=09=09compatible =3D "regulator-fixed"; +=09=09regulator-name =3D "pm3001a_s1j"; +=09=09regulator-min-microvolt =3D <2200000>; +=09=09regulator-max-microvolt =3D <2200000>; +=09=09startup-delay-us =3D <1000>; + +=09=09gpio =3D <&pmr735b_gpios 1 GPIO_ACTIVE_HIGH>; +=09=09enable-active-high; + +=09=09vin-supply =3D <&vph_pwr>; + +=09=09pinctrl-0 =3D <&s1j_enable_default>; +=09=09pinctrl-names =3D "default"; +=09}; + =09vph_pwr: regulator-vph-pwr { =09=09compatible =3D "regulator-fixed"; =09=09regulator-name =3D "vph_pwr"; @@ -108,6 +125,67 @@ ramoops@81f20000 { =09=09=09pmsg-size =3D <0x200000>; =09=09}; =09}; + +=09wcn6750-pmu { +=09=09compatible =3D "qcom,wcn6755-pmu", "qcom,wcn6750-pmu"; + +=09=09vddaon-supply =3D <&vreg_s3b>; +=09=09vddasd-supply =3D <&vreg_l7b>; +=09=09vddpmu-supply =3D <&vreg_s3b>; +=09=09vddrfa0p8-supply =3D <&vreg_s3b>; +=09=09vddrfa1p2-supply =3D <&vreg_s2b>; +=09=09vddrfa1p7-supply =3D <&vreg_s1b>; +=09=09vddrfa2p2-supply =3D <&vreg_s1j>; + +=09=09bt-enable-gpios =3D <&tlmm 53 GPIO_ACTIVE_HIGH>; + +=09=09clocks =3D <&rpmhcc RPMH_RF_CLK1>; + +=09=09pinctrl-0 =3D <&bluetooth_enable_default>; +=09=09pinctrl-names =3D "default"; + +=09=09regulators { +=09=09=09vreg_pmu_rfa_cmn: ldo0 { +=09=09=09=09regulator-name =3D "vreg_pmu_rfa_cmn"; +=09=09=09}; + +=09=09=09vreg_pmu_aon_0p59: ldo1 { +=09=09=09=09regulator-name =3D "vreg_pmu_aon_0p59"; +=09=09=09}; + +=09=09=09vreg_pmu_wlcx_0p8: ldo2 { +=09=09=09=09regulator-name =3D "vreg_pmu_wlcx_0p8"; +=09=09=09}; + +=09=09=09vreg_pmu_wlmx_0p85: ldo3 { +=09=09=09=09regulator-name =3D "vreg_pmu_wlmx_0p85"; +=09=09=09}; + +=09=09=09vreg_pmu_btcmx_0p85: ldo4 { +=09=09=09=09regulator-name =3D "vreg_pmu_btcmx_0p85"; +=09=09=09}; + +=09=09=09vreg_pmu_rfa_0p8: ldo5 { +=09=09=09=09regulator-name =3D "vreg_pmu_rfa_0p8"; +=09=09=09}; + +=09=09=09vreg_pmu_rfa_1p2: ldo6 { +=09=09=09=09regulator-name =3D "vreg_pmu_rfa_1p2"; +=09=09=09}; + +=09=09=09vreg_pmu_rfa_1p7: ldo7 { +=09=09=09=09regulator-name =3D "vreg_pmu_rfa_1p7"; +=09=09=09}; + +=09=09=09vreg_pmu_pcie_0p9: ldo8 { +=09=09=09=09regulator-name =3D "vreg_pmu_pcie_0p9"; +=09=09=09}; + +=09=09=09vreg_pmu_pcie_1p8: ldo9 { +=09=09=09=09regulator-name =3D "vreg_pmu_pcie_1p8"; +=09=09=09}; +=09=09}; +=09}; }; =20 &apps_rsc { @@ -838,6 +916,15 @@ &pmiv0104_eusb2_repeater { =09qcom,tune-usb2-preem =3D /bits/ 8 <0x6>; }; =20 +&pmr735b_gpios { +=09s1j_enable_default: s1j-enable-default-state { +=09=09pins =3D "gpio1"; +=09=09function =3D PMIC_GPIO_FUNC_NORMAL; +=09=09power-source =3D <0>; +=09=09bias-disable; +=09}; +}; + &pon_pwrkey { =09status =3D "okay"; }; @@ -848,6 +935,39 @@ &pon_resin { =09status =3D "okay"; }; =20 +&qup_uart11_cts { +=09/* +=09 * Configure a bias-bus-hold on CTS to lower power +=09 * usage when Bluetooth is turned off. Bus hold will +=09 * maintain a low power state regardless of whether +=09 * the Bluetooth module drives the pin in either +=09 * direction or leaves the pin fully unpowered. +=09 */ +=09bias-bus-hold; +}; + +&qup_uart11_rts { +=09/* We'll drive RTS, so no pull */ +=09drive-strength =3D <2>; +=09bias-disable; +}; + +&qup_uart11_rx { +=09/* +=09 * Configure a pull-up on RX. This is needed to avoid +=09 * garbage data when the TX pin of the Bluetooth module is +=09 * in tri-state (module powered off or not driving the +=09 * signal yet). +=09 */ +=09bias-pull-up; +}; + +&qup_uart11_tx { +=09/* We'll drive TX, so no pull */ +=09drive-strength =3D <2>; +=09bias-disable; +}; + &qupv3_id_0 { =09status =3D "okay"; }; @@ -886,6 +1006,58 @@ &tlmm { =09gpio-reserved-ranges =3D <13 1>, /* Display */ =09=09=09 <63 2>; /* WLAN UART */ =20 +=09qup_uart11_sleep_cts: qup-uart11-sleep-cts-state { +=09=09pins =3D "gpio48"; +=09=09function =3D "gpio"; +=09=09/* +=09=09 * Configure a bias-bus-hold on CTS to lower power +=09=09 * usage when Bluetooth is turned off. Bus hold will +=09=09 * maintain a low power state regardless of whether +=09=09 * the Bluetooth module drives the pin in either +=09=09 * direction or leaves the pin fully unpowered. +=09=09 */ +=09=09bias-bus-hold; +=09}; + +=09qup_uart11_sleep_rts: qup-uart11-sleep-rts-state { +=09=09pins =3D "gpio49"; +=09=09function =3D "gpio"; +=09=09/* +=09=09 * Configure pull-down on RTS. As RTS is active low +=09=09 * signal, pull it low to indicate the BT SoC that it +=09=09 * can wakeup the system anytime from suspend state by +=09=09 * pulling RX low (by sending wakeup bytes). +=09=09 */ +=09=09bias-pull-down; +=09}; + +=09qup_uart11_sleep_tx: qup-uart11-sleep-tx-state { +=09=09pins =3D "gpio50"; +=09=09function =3D "gpio"; +=09=09/* +=09=09 * Configure pull-up on TX when it isn't actively driven +=09=09 * to prevent BT SoC from receiving garbage during sleep. +=09=09 */ +=09=09bias-pull-up; +=09}; + +=09qup_uart11_sleep_rx: qup-uart11-sleep-rx-state { +=09=09pins =3D "gpio51"; +=09=09function =3D "gpio"; +=09=09/* +=09=09 * Configure a pull-up on RX. This is needed to avoid +=09=09 * garbage data when the TX pin of the Bluetooth module +=09=09 * is floating which may cause spurious wakeups. +=09=09 */ +=09=09bias-pull-up; +=09}; + +=09bluetooth_enable_default: bluetooth-enable-default-state { +=09=09pins =3D "gpio53"; +=09=09function =3D "gpio"; +=09=09bias-disable; +=09}; + =09assist_default: assist-default-state { =09=09pins =3D "gpio71"; =09=09function =3D "gpio"; @@ -905,6 +1077,32 @@ &uart5 { =09status =3D "okay"; }; =20 +&uart11 { +=09/delete-property/ interrupts; +=09interrupts-extended =3D <&intc GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH 0>, +=09=09=09 <&tlmm 51 IRQ_TYPE_EDGE_FALLING>; + +=09pinctrl-1 =3D <&qup_uart11_sleep_cts>, +=09=09 <&qup_uart11_sleep_rts>, +=09=09 <&qup_uart11_sleep_tx>, +=09=09 <&qup_uart11_sleep_rx>; +=09pinctrl-names =3D "default", +=09=09=09"sleep"; + +=09status =3D "okay"; + +=09bluetooth { +=09=09compatible =3D "qcom,wcn6755-bt", "qcom,wcn6750-bt"; + +=09=09vddaon-supply =3D <&vreg_pmu_aon_0p59>; +=09=09vddbtcmx-supply =3D <&vreg_pmu_btcmx_0p85>; +=09=09vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; +=09=09vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; +=09=09vddrfa1p7-supply =3D <&vreg_pmu_rfa_1p7>; +=09=09vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; +=09}; +}; + &ufs_mem_hc { =09reset-gpios =3D <&tlmm 167 GPIO_ACTIVE_LOW>; =20 --=20 2.55.0