1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*01950c46SEmmanuel Vadot%YAML 1.2 3*01950c46SEmmanuel Vadot--- 4*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/qcom/qcom,saw2.yaml# 5*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*01950c46SEmmanuel Vadot 7*01950c46SEmmanuel Vadottitle: Qualcomm Subsystem Power Manager / SPM AVS Wrapper 2 (SAW2) 8*01950c46SEmmanuel Vadot 9*01950c46SEmmanuel Vadotmaintainers: 10*01950c46SEmmanuel Vadot - Andy Gross <agross@kernel.org> 11*01950c46SEmmanuel Vadot - Bjorn Andersson <bjorn.andersson@linaro.org> 12*01950c46SEmmanuel Vadot 13*01950c46SEmmanuel Vadotdescription: | 14*01950c46SEmmanuel Vadot The Qualcomm Subsystem Power Manager is used to control the peripheral logic 15*01950c46SEmmanuel Vadot surrounding the application cores in Qualcomm platforms. 16*01950c46SEmmanuel Vadot 17*01950c46SEmmanuel Vadot The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the 18*01950c46SEmmanuel Vadot Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable 19*01950c46SEmmanuel Vadot power-controller that transitions a piece of hardware (like a processor or 20*01950c46SEmmanuel Vadot subsystem) into and out of low power modes via a direct connection to 21*01950c46SEmmanuel Vadot the PMIC. It can also be wired up to interact with other processors in the 22*01950c46SEmmanuel Vadot system, notifying them when a low power state is entered or exited. 23*01950c46SEmmanuel Vadot 24*01950c46SEmmanuel Vadotproperties: 25*01950c46SEmmanuel Vadot compatible: 26*01950c46SEmmanuel Vadot items: 27*01950c46SEmmanuel Vadot - enum: 28*01950c46SEmmanuel Vadot - qcom,ipq4019-saw2-cpu 29*01950c46SEmmanuel Vadot - qcom,ipq4019-saw2-l2 30*01950c46SEmmanuel Vadot - qcom,ipq8064-saw2-cpu 31*01950c46SEmmanuel Vadot - qcom,sdm660-gold-saw2-v4.1-l2 32*01950c46SEmmanuel Vadot - qcom,sdm660-silver-saw2-v4.1-l2 33*01950c46SEmmanuel Vadot - qcom,msm8998-gold-saw2-v4.1-l2 34*01950c46SEmmanuel Vadot - qcom,msm8998-silver-saw2-v4.1-l2 35*01950c46SEmmanuel Vadot - qcom,msm8909-saw2-v3.0-cpu 36*01950c46SEmmanuel Vadot - qcom,msm8916-saw2-v3.0-cpu 37*01950c46SEmmanuel Vadot - qcom,msm8939-saw2-v3.0-cpu 38*01950c46SEmmanuel Vadot - qcom,msm8226-saw2-v2.1-cpu 39*01950c46SEmmanuel Vadot - qcom,msm8226-saw2-v2.1-l2 40*01950c46SEmmanuel Vadot - qcom,msm8960-saw2-cpu 41*01950c46SEmmanuel Vadot - qcom,msm8974-saw2-v2.1-cpu 42*01950c46SEmmanuel Vadot - qcom,msm8974-saw2-v2.1-l2 43*01950c46SEmmanuel Vadot - qcom,msm8976-gold-saw2-v2.3-l2 44*01950c46SEmmanuel Vadot - qcom,msm8976-silver-saw2-v2.3-l2 45*01950c46SEmmanuel Vadot - qcom,apq8084-saw2-v2.1-cpu 46*01950c46SEmmanuel Vadot - qcom,apq8084-saw2-v2.1-l2 47*01950c46SEmmanuel Vadot - qcom,apq8064-saw2-v1.1-cpu 48*01950c46SEmmanuel Vadot - const: qcom,saw2 49*01950c46SEmmanuel Vadot 50*01950c46SEmmanuel Vadot reg: 51*01950c46SEmmanuel Vadot items: 52*01950c46SEmmanuel Vadot - description: Base address and size of the SPM register region 53*01950c46SEmmanuel Vadot - description: Base address and size of the alias register region 54*01950c46SEmmanuel Vadot minItems: 1 55*01950c46SEmmanuel Vadot 56*01950c46SEmmanuel Vadot regulator: 57*01950c46SEmmanuel Vadot $ref: /schemas/regulator/regulator.yaml# 58*01950c46SEmmanuel Vadot description: Indicates that this SPM device acts as a regulator device 59*01950c46SEmmanuel Vadot device for the core (CPU or Cache) the SPM is attached to. 60*01950c46SEmmanuel Vadot 61*01950c46SEmmanuel Vadotrequired: 62*01950c46SEmmanuel Vadot - compatible 63*01950c46SEmmanuel Vadot - reg 64*01950c46SEmmanuel Vadot 65*01950c46SEmmanuel VadotadditionalProperties: false 66*01950c46SEmmanuel Vadot 67*01950c46SEmmanuel Vadotexamples: 68*01950c46SEmmanuel Vadot - | 69*01950c46SEmmanuel Vadot 70*01950c46SEmmanuel Vadot /* Example 1: SoC using SAW2 and kpss-acc-v2 CPUIdle */ 71*01950c46SEmmanuel Vadot cpus { 72*01950c46SEmmanuel Vadot #address-cells = <1>; 73*01950c46SEmmanuel Vadot #size-cells = <0>; 74*01950c46SEmmanuel Vadot 75*01950c46SEmmanuel Vadot cpu@0 { 76*01950c46SEmmanuel Vadot compatible = "qcom,kryo"; 77*01950c46SEmmanuel Vadot device_type = "cpu"; 78*01950c46SEmmanuel Vadot enable-method = "qcom,kpss-acc-v2"; 79*01950c46SEmmanuel Vadot qcom,saw = <&saw0>; 80*01950c46SEmmanuel Vadot reg = <0x0>; 81*01950c46SEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 82*01950c46SEmmanuel Vadot }; 83*01950c46SEmmanuel Vadot }; 84*01950c46SEmmanuel Vadot 85*01950c46SEmmanuel Vadot saw0: power-manager@f9089000 { 86*01950c46SEmmanuel Vadot compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2"; 87*01950c46SEmmanuel Vadot reg = <0xf9089000 0x1000>; 88*01950c46SEmmanuel Vadot }; 89*01950c46SEmmanuel Vadot 90*01950c46SEmmanuel Vadot - | 91*01950c46SEmmanuel Vadot 92*01950c46SEmmanuel Vadot /* 93*01950c46SEmmanuel Vadot * Example 2: New-gen multi cluster SoC using SAW only for L2; 94*01950c46SEmmanuel Vadot * This does not require any cpuidle driver, nor any cpu phandle. 95*01950c46SEmmanuel Vadot */ 96*01950c46SEmmanuel Vadot power-manager@17812000 { 97*01950c46SEmmanuel Vadot compatible = "qcom,msm8998-gold-saw2-v4.1-l2", "qcom,saw2"; 98*01950c46SEmmanuel Vadot reg = <0x17812000 0x1000>; 99*01950c46SEmmanuel Vadot }; 100*01950c46SEmmanuel Vadot 101*01950c46SEmmanuel Vadot power-manager@17912000 { 102*01950c46SEmmanuel Vadot compatible = "qcom,msm8998-silver-saw2-v4.1-l2", "qcom,saw2"; 103*01950c46SEmmanuel Vadot reg = <0x17912000 0x1000>; 104*01950c46SEmmanuel Vadot }; 105*01950c46SEmmanuel Vadot 106*01950c46SEmmanuel Vadot - | 107*01950c46SEmmanuel Vadot /* 108*01950c46SEmmanuel Vadot * Example 3: SAW2 with the bundled regulator definition. 109*01950c46SEmmanuel Vadot */ 110*01950c46SEmmanuel Vadot power-manager@2089000 { 111*01950c46SEmmanuel Vadot compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 112*01950c46SEmmanuel Vadot reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 113*01950c46SEmmanuel Vadot 114*01950c46SEmmanuel Vadot regulator { 115*01950c46SEmmanuel Vadot regulator-min-microvolt = <850000>; 116*01950c46SEmmanuel Vadot regulator-max-microvolt = <1300000>; 117*01950c46SEmmanuel Vadot }; 118*01950c46SEmmanuel Vadot }; 119*01950c46SEmmanuel Vadot... 120