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.txt 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 - Kathiravan T <kathirav@codeaurora.org> 29 30properties: 31 compatible: 32 enum: 33 - qcom,rpm-apq8084 34 - qcom,rpm-ipq6018 35 - qcom,rpm-msm8226 36 - qcom,rpm-msm8916 37 - qcom,rpm-msm8953 38 - qcom,rpm-msm8974 39 - qcom,rpm-msm8976 40 - qcom,rpm-msm8996 41 - qcom,rpm-msm8998 42 - qcom,rpm-sdm660 43 - qcom,rpm-sm6115 44 - qcom,rpm-sm6125 45 - qcom,rpm-qcm2290 46 - qcom,rpm-qcs404 47 48 qcom,smd-channels: 49 $ref: /schemas/types.yaml#/definitions/string-array 50 description: Channel name used for the RPM communication 51 items: 52 - const: rpm_requests 53 54if: 55 properties: 56 compatible: 57 contains: 58 enum: 59 - qcom,rpm-apq8084 60 - qcom,rpm-msm8916 61 - qcom,rpm-msm8974 62 - qcom,rpm-msm8953 63then: 64 required: 65 - qcom,smd-channels 66 67required: 68 - compatible 69 70additionalProperties: false 71 72examples: 73 - | 74 #include <dt-bindings/interrupt-controller/arm-gic.h> 75 #include <dt-bindings/interrupt-controller/irq.h> 76 77 smd { 78 compatible = "qcom,smd"; 79 80 rpm { 81 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 82 qcom,ipc = <&apcs 8 0>; 83 qcom,smd-edge = <15>; 84 85 rpm_requests { 86 compatible = "qcom,rpm-msm8974"; 87 qcom,smd-channels = "rpm_requests"; 88 89 /* Regulator nodes to follow */ 90 }; 91 }; 92 }; 93... 94