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,rpm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Resource Power Manager (RPM) 8 9description: 10 This driver is used to interface with the Resource Power Manager (RPM) found 11 in various Qualcomm platforms. The RPM allows each component in the system 12 to vote for state of the system resources, such as clocks, regulators and bus 13 frequencies. 14 15maintainers: 16 - Bjorn Andersson <andersson@kernel.org> 17 18properties: 19 compatible: 20 enum: 21 - qcom,rpm-apq8064 22 - qcom,rpm-msm8660 23 - qcom,rpm-msm8960 24 - qcom,rpm-ipq8064 25 - qcom,rpm-mdm9615 26 27 reg: 28 maxItems: 1 29 30 interrupts: 31 maxItems: 3 32 33 interrupt-names: 34 items: 35 - const: ack 36 - const: err 37 - const: wakeup 38 39 clocks: 40 maxItems: 1 41 42 clock-names: 43 items: 44 - const: ram 45 46 qcom,ipc: 47 $ref: /schemas/types.yaml#/definitions/phandle-array 48 items: 49 - items: 50 - description: phandle to a syscon node representing the APCS registers 51 - description: u32 representing offset to the register within the syscon 52 - description: u32 representing the ipc bit within the register 53 description: 54 Three entries specifying the outgoing ipc bit used for signaling the RPM. 55 56 clock-controller: 57 type: object 58 additionalProperties: true 59 properties: 60 compatible: 61 contains: 62 const: qcom,rpmcc 63 64patternProperties: 65 "^regulators(-[01])?$": 66 type: object 67 $ref: /schemas/regulator/qcom,rpm-regulator.yaml# 68 unevaluatedProperties: false 69 70required: 71 - compatible 72 - reg 73 - interrupts 74 - interrupt-names 75 - qcom,ipc 76 77additionalProperties: false 78 79examples: 80 - | 81 #include <dt-bindings/interrupt-controller/arm-gic.h> 82 #include <dt-bindings/interrupt-controller/irq.h> 83 #include <dt-bindings/mfd/qcom-rpm.h> 84 85 rpm@108000 { 86 compatible = "qcom,rpm-msm8960"; 87 reg = <0x108000 0x1000>; 88 qcom,ipc = <&apcs 0x8 2>; 89 90 interrupts = <GIC_SPI 19 IRQ_TYPE_NONE>, <GIC_SPI 21 IRQ_TYPE_NONE>, <GIC_SPI 22 IRQ_TYPE_NONE>; 91 interrupt-names = "ack", "err", "wakeup"; 92 93 regulators { 94 compatible = "qcom,rpm-pm8921-regulators"; 95 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 96 97 s1 { 98 regulator-min-microvolt = <1225000>; 99 regulator-max-microvolt = <1225000>; 100 101 bias-pull-down; 102 103 qcom,switch-mode-frequency = <3200000>; 104 }; 105 106 pm8921_s4: s4 { 107 regulator-min-microvolt = <1800000>; 108 regulator-max-microvolt = <1800000>; 109 110 qcom,switch-mode-frequency = <1600000>; 111 bias-pull-down; 112 113 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; 114 }; 115 }; 116 }; 117