1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Resource Power Manager (RPM) over SMD/GLINK
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
15 The SMD or GLINK information for the RPM edge should be filled out. See
16 qcom,smd.yaml for the required edge properties. All SMD/GLINK related
17 properties will reside within the RPM node itself.
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
23 Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
24 for information on the regulator subnodes that can exist under the
28 - Andy Gross <agross@kernel.org>
29 - Bjorn Andersson <bjorn.andersson@linaro.org>
60 $ref: /schemas/clock/qcom,rpmcc.yaml#
61 unevaluatedProperties: false
64 $ref: /schemas/power/qcom,rpmpd.yaml#
67 $ref: /schemas/types.yaml#/definitions/string-array
68 description: Channel name used for the RPM communication
73 $ref: /schemas/types.yaml#/definitions/string-array
74 description: Channel name used for the RPM communication
79 "^regulators(-[01])?$":
80 $ref: /schemas/regulator/qcom,smd-rpm-regulator.yaml#
81 unevaluatedProperties: false
104 qcom,glink-channels: false
109 qcom,smd-channels: false
111 - qcom,glink-channels
116 additionalProperties: false
120 #include <dt-bindings/interrupt-controller/arm-gic.h>
121 #include <dt-bindings/interrupt-controller/irq.h>
124 compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
127 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
128 qcom,ipc = <&apcs 8 0>;
129 qcom,smd-edge = <15>;
132 compatible = "qcom,rpm-msm8916";
133 qcom,smd-channels = "rpm_requests";
136 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
138 clocks = <&xo_board>;
143 compatible = "qcom,msm8916-rpmpd";
144 #power-domain-cells = <1>;
145 operating-points-v2 = <&rpmpd_opp_table>;
147 rpmpd_opp_table: opp-table {
148 compatible = "operating-points-v2";