Skip to content

Shikra bt wcn clock enable - #1190

Open
yepurisiddu wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
yepurisiddu:shikra/bt-wcn-clk-enable
Open

yepurisiddu wants to merge 2 commits into
qualcomm-linux:qcom-6.18.yfrom
yepurisiddu:shikra/bt-wcn-clk-enable

Conversation

@yepurisiddu

@yepurisiddu yepurisiddu commented Sep 25, 2026 •

Copy link
Copy Markdown

Add WCN clock enable/disable support for Shikra by enabling the clock during BT power-on and disabling it during BT power-off via the pwrseq path.
With RPMCC proxy vote removal on QCM2290, BT can no longer rely on proxy votes to keep the WCN clock active. This change ensures BT explicitly manages the WCN clock. Without this change, BT functionality will be impacted after the proxy vote removal.

Link: https://lore.kernel.org/linux-arm-msm/20260925-bt-wcn-clk-enable-v1-0-30bee88c4de4@oss.qualcomm.com/
CRs-fixed: 4684986

…ed power path

RPMCC previously kept WCN clocks enabled via proxy votes, so the pwrseq
power path in hci_qca did not need to explicitly manage the clock.
With proxy vote removal, each consumer must explicitly enable and disable
its required clocks.

Extend the pwrseq-based power path to acquire and manage an optional
WCN clock. In qca_serdev_probe(), acquire the clock using
devm_clk_get_optional(). In qca_regulator_enable(), enable the clock
after a successful pwrseq_enable() with proper rollback on failure.
In qca_power_off(), disable the clock before pwrseq_disable().

Targets that do not define a clock in DTS are unaffected since
devm_clk_get_optional() returns NULL and all clock operations are
guarded accordingly.

Link: https://lore.kernel.org/linux-arm-msm/20260925-bt-wcn-clk-enable-v1-1-30bee88c4de4@oss.qualcomm.com/
Signed-off-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
With RPMCC proxy vote removal, the Bluetooth node must explicitly
declare its WCN clock dependency so the hci_qca driver can vote for
it during BT power on/off via the pwrseq path.

CQM SOM uses RPM_SMD_RF_CLK2 while IQS SOM uses RPM_SMD_RF_CLK1,
reflecting the WCN clock assignments on each board variant.

Link: https://lore.kernel.org/linux-arm-msm/20260925-bt-wcn-clk-enable-v1-2-30bee88c4de4@oss.qualcomm.com/
Signed-off-by: Yepuri Siddu <yepuri.siddu@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4684986 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4684986
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant