[RFC PATCH 0/3] power: sequencing: qcom-wcn: support SW_CTRL wake IRQ

From: Linghui Wu

Date: Wed Oct 14 2026 - 08:19:39 EST


Some WCN3990-family designs connect the SW_CTRL output to a GPIO on the
application processor. On Shikra, the WCN3988 SW_CTRL signal is connected
to GPIO88 and is used through the MGPI/AOSS hardware path to request the
required RF clocks.

Qualcomm downstream kernels configure this path through
msm_gpio_mpm_wake_set(), but upstream does not provide an equivalent API.
This series models SW_CTRL as a dedicated wake IRQ. Requesting the GPIO IRQ
resource enables POWER_SAVE_WAKEUP_ENABLE in Qualcomm TLMM when
WAKEUP_PRESENT is advertised, while the PM core keeps the IRQ disabled
during normal operation and arms it for system suspend.

This is an RFC because the intended hardware and software model still
needs confirmation. In particular, please advise whether SW_CTRL should
be represented as an AP wake source using dev_pm_set_dedicated_wake_irq(),
or whether Linux only needs an interface to explicitly configure the
TLMM/MGPI power-save path.

The series documents the named wakeup interrupt for the WCN PMU binding,
implements dedicated wake IRQ handling in the Qualcomm WCN power
sequencer, and enables it on the Shikra CQM, CQS and IQS EVKs. On this
base, CQM and CQS share shikra-cqm-som.dtsi, while IQS uses
shikra-iqs-som.dtsi.

Testing:
- scripts/checkpatch.pl --strict: passed
- dt-binding-check: passed
- dtb-check: passed
- sparse-check: passed
- Shikra CQM, CQS and IQS DTB builds: passed
- QIPL validation of the equivalent qcom-6.18.y implementation: passed

An earlier experiment confirmed that requesting GPIO88 as an IRQ changes
TLMM_GPIO_INTR_CFG88 from 0x942 to 0x9c2, setting
POWER_SAVE_WAKEUP_ENABLE.

Linghui Wu (3):
dt-bindings: power: sequencing: qcom-wcn: document wakeup-source
power: sequencing: qcom-wcn: support SW_CTRL wake IRQ
arm64: dts: qcom: shikra: enable WCN SW_CTRL wakeup

.../bindings/regulator/qcom,wcn3990-pmu.yaml | 22 ++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 4 +++
arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi | 4 +++
drivers/power/sequencing/pwrseq-qcom-wcn.c | 30 +++++++++++++++++++
4 files changed, 60 insertions(+)


base-commit: a90ee4305c4a5df72c11b31dacfdc76e00fcf78a
--
2.43.0