[PATCH 0/2] Add CDSP Power Manangement Driver

From: Vignesh Viswanathan

Date: Tue May 19 2026 - 15:08:28 EST


On platforms like IPQ9650, the CDSP subsystem cannot manage its own power
rails and requires the APSS to handle power management on its behalf. Add a
platform driver to fulfill this role.

Handle LPM (Low Power Mode) by executing hardware isolation and restoration
sequences via MPM register programming, coordinated with the NSP Q6 through
a handshake protocol. Support both FULL_PC (CX+MX collapse) and LONG_APCR
(CX-only) modes, detected dynamically at runtime.

Handle DCVS (Dynamic Clock and Voltage Scaling) requests from the NSP Q6
received via a shared SMEM channel. Apply voltages via the regulator
framework and write responses back to SMEM.

Expose virtual cdsp-vdd-cx and cdsp-vdd-mx regulators so that the PAS
remoteproc driver can control the NSP power rails through the standard
regulator framework.

This driver functionally depends on [1] for bringing up the CDSP on
IPQ9650, but there is no compile time dependency.

[1] https://lore.kernel.org/linux-arm-msm/20260519-mp8899-regulator-driver-v1-0-30d14421b7f1@xxxxxxxxxxxxxxxx/T/#t

---
Praveenkumar I (1):
soc: qcom: Add CDSP power management driver

Vignesh Viswanathan (1):
dt-bindings: soc: qcom: Document CDSP Power Management

.../bindings/soc/qcom/qcom,cdsp-power.yaml | 138 +++
drivers/soc/qcom/Kconfig | 17 +
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/cdsp_power.c | 1065 ++++++++++++++++++++
4 files changed, 1221 insertions(+)
---
base-commit: 6a50ba100ace43f43c87384367eb2d2605fcc16c
change-id: 20260519-cdsp-power-0eee60028e81

Best regards,
--
Vignesh Viswanathan <vignesh.viswanathan@xxxxxxxxxxxxxxxx>