[PATCH v7 00/22] soc: qcom: spm: add support for SPM regulator

From: Dmitry Baryshkov
Date: Tue Jan 02 2024 - 00:17:39 EST


The apq8064 rework to use cacheinfo takes more than expected, so I've
spanwed this series. It is an excerpt of the APQ8064 cpufreq series
[1], so it it continues the version numbering for those patches.

The Subsystem Power Manager (SPM) / SPM AutoVoltageScaling Wrapper2
(SAW2) are hardware blocks used on some of Qualcomm platforms to handle
the voltage rails. It does this by bypassing RPM and directly
interfacing the PMIC. Extend current SPM driver to export this
regulator.

[1] https://lore.kernel.org/linux-arm-msm/20230827115033.935089-1-dmitry.baryshkov@xxxxxxxxxx/

Changes since v6:
- Added SoC-specific compat strings on MSM8960, IPQ4019, IPQ8064
platforms (Luca)
- Fixed saw2 node names on few remaining platforms.

Changes since v5:
- Added patch that moves SPM structs out of the header file
- Removed support for L2 SAW regulator (Stephan Gerhold).
msm8960/apq8064 do not use this SAW2 to manage this regulator and
other platforms will need changes anyway.

---
Dmitry Baryshkov (22):
dt-bindings: soc: qcom: merge qcom,saw2.txt into qcom,spm.yaml
dt-bindings: soc: qcom: qcom,saw2: add missing compatible strings
dt-bindings: soc: qcom: qcom,saw2: define optional regulator node
soc: qcom: spm: remove driver-internal structures from the driver API
soc: qcom: spm: add support for voltage regulator
ARM: dts: qcom: apq8084: use new compat string for L2 SAW2 unit
ARM: dts: qcom: msm8974: use new compat string for L2 SAW2 unit
ARM: dts: qcom: msm8960: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: ipq4019: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: ipq8064: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: apq8064: rename SAW nodes to power-manager
ARM: dts: qcom: apq8084: rename SAW nodes to power-manager
ARM: dts: qcom: msm8960: rename SAW nodes to power-manager
ARM: dts: qcom: msm8974: rename SAW nodes to power-manager
ARM: dts: qcom: ipq4019: rename SAW nodes to power-manager
ARM: dts: qcom: ipq8064: rename SAW nodes to power-manager
ARM: dts: qcom: apq8064: declare SAW2 regulators
ARM: dts: qcom: msm8960: declare SAW2 regulators
ARM: dts: qcom: apq8084: drop 'regulator' property from SAW2 device
ARM: dts: qcom: msm8974: drop 'regulator' property from SAW2 device
ARM: dts: qcom: ipq4019: drop 'regulator' property from SAW2 devices
ARM: dts: qcom: ipq8064: drop 'regulator' property from SAW2 devices

.../devicetree/bindings/arm/msm/qcom,saw2.txt | 58 -----
.../soc/qcom/{qcom,spm.yaml => qcom,saw2.yaml} | 45 +++-
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 32 ++-
arch/arm/boot/dts/qcom/qcom-apq8084.dtsi | 13 +-
arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi | 25 +-
arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi | 10 +-
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 20 +-
arch/arm/boot/dts/qcom/qcom-msm8974.dtsi | 13 +-
drivers/soc/qcom/spm.c | 254 ++++++++++++++++++++-
include/soc/qcom/spm.h | 23 +-
10 files changed, 353 insertions(+), 140 deletions(-)
---
base-commit: 39676dfe52331dba909c617f213fdb21015c8d10
change-id: 20240101-saw2-spm-regulator-af0f81c15cdc

Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>