[PATCH 0/2] Bluetooth: hci_qca: Add WCN clock enable/disable support for Shikra

From: Yepuri Siddu

Date: Fri Sep 25 2026 - 02:14:14 EST


clk_smd_rpm_handoff() votes both active and sleep RPM resource states for
every clock, keeping them non-zero until a consumer takes over. On Shikra,
the BT WCN clock was surviving on these proxy votes. With proxy vote
removal on QCM2290 [1], the sleep vote is no longer held, which means BT
must explicitly vote for its WCN clock during enable and release it during
disable to avoid keeping the clock active in idle.

This series adds WCN clock management to the hci_qca driver for the
pwrseq-based power path and enables it for Shikra boards. Targets that
do not define a clock in DTS are unaffected.

Validations:
- BT enable/disable verified on Shikra CQM, CQS and IQS EVK boards.
- Confirmed WCN clock voted on BT enable and released on BT disable.

As RPMCC proxy votes are being removed for QCM2290 [1], BT can no longer
rely on them to keep the WCN clock active. This series ensures BT
explicitly enables the WCN clock on power-on and disables it on power-off.

[1] https://lore.kernel.org/all/20260910-clk-smd-rpm-skip-proxy-v1-1-1cb5694a99d9@xxxxxxxxxxxxxxxx/

Signed-off-by: Yepuri Siddu <yepuri.siddu@xxxxxxxxxxxxxxxx>
---
Yepuri Siddu (2):
Bluetooth: hci_qca: Add WCN clock management for pwrseq-based power path
arm64: dts: qcom: shikra: Add WCN clock to Bluetooth node

arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 2 ++
arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi | 2 ++
drivers/bluetooth/hci_qca.c | 23 ++++++++++++++++++++---
3 files changed, 24 insertions(+), 3 deletions(-)
---
base-commit: 165768bb70265b5c38cf0b73fafd75be235f8b14
change-id: 20260925-bt-wcn-clk-enable-9de068334aa1

Best regards,
--
Yepuri Siddu <yepuri.siddu@xxxxxxxxxxxxxxxx>