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
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 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.
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>
52 $ref: /schemas/clock/qcom,rpmcc.yaml#
53 unevaluatedProperties: false
56 $ref: /schemas/power/qcom,rpmpd.yaml#
59 $ref: /schemas/types.yaml#/definitions/string-array
60 description: Channel name used for the RPM communication
80 additionalProperties: false
84 #include <dt-bindings/interrupt-controller/arm-gic.h>
85 #include <dt-bindings/interrupt-controller/irq.h>
88 compatible = "qcom,smd";
91 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
92 qcom,ipc = <&apcs 8 0>;
96 compatible = "qcom,rpm-msm8916";
97 qcom,smd-channels = "rpm_requests";
100 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
102 clocks = <&xo_board>;
107 compatible = "qcom,msm8916-rpmpd";
108 #power-domain-cells = <1>;
109 operating-points-v2 = <&rpmpd_opp_table>;
111 rpmpd_opp_table: opp-table {
112 compatible = "operating-points-v2";