120 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/qcom/qcom,saw2.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm Subsystem Power Manager / SPM AVS Wrapper 2 (SAW2)8 9maintainers:10 - Andy Gross <agross@kernel.org>11 - Bjorn Andersson <bjorn.andersson@linaro.org>12 13description: |14 The Qualcomm Subsystem Power Manager is used to control the peripheral logic15 surrounding the application cores in Qualcomm platforms.16 17 The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the18 Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable19 power-controller that transitions a piece of hardware (like a processor or20 subsystem) into and out of low power modes via a direct connection to21 the PMIC. It can also be wired up to interact with other processors in the22 system, notifying them when a low power state is entered or exited.23 24properties:25 compatible:26 items:27 - enum:28 - qcom,ipq4019-saw2-cpu29 - qcom,ipq4019-saw2-l230 - qcom,ipq8064-saw2-cpu31 - qcom,sdm660-gold-saw2-v4.1-l232 - qcom,sdm660-silver-saw2-v4.1-l233 - qcom,msm8998-gold-saw2-v4.1-l234 - qcom,msm8998-silver-saw2-v4.1-l235 - qcom,msm8909-saw2-v3.0-cpu36 - qcom,msm8916-saw2-v3.0-cpu37 - qcom,msm8939-saw2-v3.0-cpu38 - qcom,msm8226-saw2-v2.1-cpu39 - qcom,msm8226-saw2-v2.1-l240 - qcom,msm8960-saw2-cpu41 - qcom,msm8974-saw2-v2.1-cpu42 - qcom,msm8974-saw2-v2.1-l243 - qcom,msm8976-gold-saw2-v2.3-l244 - qcom,msm8976-silver-saw2-v2.3-l245 - qcom,apq8084-saw2-v2.1-cpu46 - qcom,apq8084-saw2-v2.1-l247 - qcom,apq8064-saw2-v1.1-cpu48 - const: qcom,saw249 50 reg:51 items:52 - description: Base address and size of the SPM register region53 - description: Base address and size of the alias register region54 minItems: 155 56 regulator:57 $ref: /schemas/regulator/regulator.yaml#58 description: Indicates that this SPM device acts as a regulator device59 device for the core (CPU or Cache) the SPM is attached to.60 61required:62 - compatible63 - reg64 65additionalProperties: false66 67examples:68 - |69 70 /* Example 1: SoC using SAW2 and kpss-acc-v2 CPUIdle */71 cpus {72 #address-cells = <1>;73 #size-cells = <0>;74 75 cpu@0 {76 compatible = "qcom,kryo";77 device_type = "cpu";78 enable-method = "qcom,kpss-acc-v2";79 qcom,saw = <&saw0>;80 reg = <0x0>;81 operating-points-v2 = <&cpu_opp_table>;82 };83 };84 85 saw0: power-manager@f9089000 {86 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";87 reg = <0xf9089000 0x1000>;88 };89 90 - |91 92 /*93 * Example 2: New-gen multi cluster SoC using SAW only for L2;94 * This does not require any cpuidle driver, nor any cpu phandle.95 */96 power-manager@17812000 {97 compatible = "qcom,msm8998-gold-saw2-v4.1-l2", "qcom,saw2";98 reg = <0x17812000 0x1000>;99 };100 101 power-manager@17912000 {102 compatible = "qcom,msm8998-silver-saw2-v4.1-l2", "qcom,saw2";103 reg = <0x17912000 0x1000>;104 };105 106 - |107 /*108 * Example 3: SAW2 with the bundled regulator definition.109 */110 power-manager@2089000 {111 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";112 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;113 114 regulator {115 regulator-min-microvolt = <850000>;116 regulator-max-microvolt = <1300000>;117 };118 };119...120