[PATCH 0/2] Add CDSP Power Manangement Driver

Vignesh Viswanathan posted 2 patches 5 days, 5 hours ago
.../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(+)
[PATCH 0/2] Add CDSP Power Manangement Driver
Posted by Vignesh Viswanathan 5 days, 5 hours ago
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@oss.qualcomm.com/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@oss.qualcomm.com>
Re: [PATCH 0/2] Add CDSP Power Manangement Driver
Posted by Krzysztof Kozlowski 4 days, 13 hours ago
On Wed, May 20, 2026 at 12:35:08AM +0530, Vignesh Viswanathan wrote:
> 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@oss.qualcomm.com/T/#t
> 
> ---
> Praveenkumar I (1):
>       soc: qcom: Add CDSP power management driver

Power management drivers CANNOT go to drivers/soc.

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

Neither to bindings soc.

Best regards,
Krzysztof