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,smd-rpm.yaml#" 5$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 7title: Qualcomm Resource Power Manager (RPM) over SMD 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 15 The SMD information for the RPM edge should be filled out. See qcom,smd.yaml 16 for the required edge properties. All SMD related properties will reside 17 within the RPM node itself. 18 19 The RPM exposes resources to its subnodes. The rpm_requests node must be 20 present and this subnode may contain children that designate regulator 21 resources. 22 23 Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml 24 for information on the regulator subnodes that can exist under the 25 rpm_requests. 26 27maintainers: 28 - Andy Gross <agross@kernel.org> 29 - Bjorn Andersson <bjorn.andersson@linaro.org> 30 31properties: 32 compatible: 33 enum: 34 - qcom,rpm-apq8084 35 - qcom,rpm-ipq6018 36 - qcom,rpm-msm8226 37 - qcom,rpm-msm8916 38 - qcom,rpm-msm8936 39 - qcom,rpm-msm8953 40 - qcom,rpm-msm8974 41 - qcom,rpm-msm8976 42 - qcom,rpm-msm8996 43 - qcom,rpm-msm8998 44 - qcom,rpm-sdm660 45 - qcom,rpm-sm6115 46 - qcom,rpm-sm6125 47 - qcom,rpm-qcm2290 48 - qcom,rpm-qcs404 49 50 clock-controller: 51 $ref: /schemas/clock/qcom,rpmcc.yaml# 52 unevaluatedProperties: false 53 54 qcom,smd-channels: 55 $ref: /schemas/types.yaml#/definitions/string-array 56 description: Channel name used for the RPM communication 57 items: 58 - const: rpm_requests 59 60if: 61 properties: 62 compatible: 63 contains: 64 enum: 65 - qcom,rpm-apq8084 66 - qcom,rpm-msm8916 67 - qcom,rpm-msm8974 68 - qcom,rpm-msm8953 69then: 70 required: 71 - qcom,smd-channels 72 73required: 74 - compatible 75 76additionalProperties: false 77 78examples: 79 - | 80 #include <dt-bindings/interrupt-controller/arm-gic.h> 81 #include <dt-bindings/interrupt-controller/irq.h> 82 83 smd { 84 compatible = "qcom,smd"; 85 86 rpm { 87 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 88 qcom,ipc = <&apcs 8 0>; 89 qcom,smd-edge = <15>; 90 91 rpm-requests { 92 compatible = "qcom,rpm-msm8974"; 93 qcom,smd-channels = "rpm_requests"; 94 95 /* Regulator nodes to follow */ 96 }; 97 }; 98 }; 99... 100