1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 logic 15 surrounding the application cores in Qualcomm platforms. 16 17 The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the 18 Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable 19 power-controller that transitions a piece of hardware (like a processor or 20 subsystem) into and out of low power modes via a direct connection to 21 the PMIC. It can also be wired up to interact with other processors in the 22 system, notifying them when a low power state is entered or exited. 23 24properties: 25 compatible: 26 items: 27 - enum: 28 - qcom,ipq4019-saw2-cpu 29 - qcom,ipq4019-saw2-l2 30 - qcom,ipq8064-saw2-cpu 31 - qcom,sdm660-gold-saw2-v4.1-l2 32 - qcom,sdm660-silver-saw2-v4.1-l2 33 - qcom,msm8998-gold-saw2-v4.1-l2 34 - qcom,msm8998-silver-saw2-v4.1-l2 35 - qcom,msm8909-saw2-v3.0-cpu 36 - qcom,msm8916-saw2-v3.0-cpu 37 - qcom,msm8939-saw2-v3.0-cpu 38 - qcom,msm8226-saw2-v2.1-cpu 39 - qcom,msm8226-saw2-v2.1-l2 40 - qcom,msm8960-saw2-cpu 41 - qcom,msm8974-saw2-v2.1-cpu 42 - qcom,msm8974-saw2-v2.1-l2 43 - qcom,msm8976-gold-saw2-v2.3-l2 44 - qcom,msm8976-silver-saw2-v2.3-l2 45 - qcom,apq8084-saw2-v2.1-cpu 46 - qcom,apq8084-saw2-v2.1-l2 47 - qcom,apq8064-saw2-v1.1-cpu 48 - const: qcom,saw2 49 50 reg: 51 items: 52 - description: Base address and size of the SPM register region 53 - description: Base address and size of the alias register region 54 minItems: 1 55 56 regulator: 57 $ref: /schemas/regulator/regulator.yaml# 58 description: Indicates that this SPM device acts as a regulator device 59 device for the core (CPU or Cache) the SPM is attached to. 60 61required: 62 - compatible 63 - reg 64 65additionalProperties: false 66 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