xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1f935a752SKathiravan T# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2f935a752SKathiravan T%YAML 1.2
3f935a752SKathiravan T---
42961ab05SRob Herring$id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
52961ab05SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6f935a752SKathiravan T
77fd0a931SKrzysztof Kozlowskititle: Qualcomm Resource Power Manager (RPM) over SMD/GLINK
8f935a752SKathiravan T
9f935a752SKathiravan Tdescription: |
10f935a752SKathiravan T  This driver is used to interface with the Resource Power Manager (RPM) found
11f935a752SKathiravan T  in various Qualcomm platforms. The RPM allows each component in the system
12f935a752SKathiravan T  to vote for state of the system resources, such as clocks, regulators and bus
13f935a752SKathiravan T  frequencies.
14f935a752SKathiravan T
157fd0a931SKrzysztof Kozlowski  The SMD or GLINK information for the RPM edge should be filled out.  See
167fd0a931SKrzysztof Kozlowski  qcom,smd.yaml for the required edge properties.  All SMD/GLINK related
177fd0a931SKrzysztof Kozlowski  properties will reside within the RPM node itself.
18f935a752SKathiravan T
19f935a752SKathiravan T  The RPM exposes resources to its subnodes.  The rpm_requests node must be
20f935a752SKathiravan T  present and this subnode may contain children that designate regulator
21f935a752SKathiravan T  resources.
22f935a752SKathiravan T
23480017f0SMauro Carvalho Chehab  Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
24f935a752SKathiravan T  for information on the regulator subnodes that can exist under the
25f935a752SKathiravan T  rpm_requests.
26f935a752SKathiravan T
27f935a752SKathiravan Tmaintainers:
28ca166646SKrzysztof Kozlowski  - Andy Gross <agross@kernel.org>
29ca166646SKrzysztof Kozlowski  - Bjorn Andersson <bjorn.andersson@linaro.org>
30f935a752SKathiravan T
31f935a752SKathiravan Tproperties:
32f935a752SKathiravan T  compatible:
33*9d5f3cc5SDmitry Baryshkov    oneOf:
34*9d5f3cc5SDmitry Baryshkov      - items:
35*9d5f3cc5SDmitry Baryshkov          - enum:
36f935a752SKathiravan T              - qcom,rpm-apq8084
37029bf294SStephan Gerhold              - qcom,rpm-mdm9607
38193e5070SBartosz Dudziak              - qcom,rpm-msm8226
39029bf294SStephan Gerhold              - qcom,rpm-msm8610
40709d473dSStephan Gerhold              - qcom,rpm-msm8909
41f935a752SKathiravan T              - qcom,rpm-msm8916
42029bf294SStephan Gerhold              - qcom,rpm-msm8917
43e9302449SBryan O'Donoghue              - qcom,rpm-msm8936
44029bf294SStephan Gerhold              - qcom,rpm-msm8937
45029bf294SStephan Gerhold              - qcom,rpm-msm8952
4696c42812SVladimir Lypak              - qcom,rpm-msm8953
47f935a752SKathiravan T              - qcom,rpm-msm8974
48f935a752SKathiravan T              - qcom,rpm-msm8976
4934d84c3bSKrzysztof Kozlowski              - qcom,rpm-msm8994
50*9d5f3cc5SDmitry Baryshkov          - const: qcom,smd-rpm
51*9d5f3cc5SDmitry Baryshkov      - items:
52*9d5f3cc5SDmitry Baryshkov          - enum:
53*9d5f3cc5SDmitry Baryshkov              - qcom,rpm-ipq6018
54*9d5f3cc5SDmitry Baryshkov              - qcom,rpm-ipq9574
55f935a752SKathiravan T              - qcom,rpm-msm8996
56f935a752SKathiravan T              - qcom,rpm-msm8998
57fe604ee3SStephan Gerhold              - qcom,rpm-qcm2290
58fe604ee3SStephan Gerhold              - qcom,rpm-qcs404
59f935a752SKathiravan T              - qcom,rpm-sdm660
60d3625d94SIskren Chernev              - qcom,rpm-sm6115
61c1d4544dSMartin Botka              - qcom,rpm-sm6125
62c7617580SKonrad Dybcio              - qcom,rpm-sm6375
63*9d5f3cc5SDmitry Baryshkov          - const: qcom,glink-smd-rpm
64f935a752SKathiravan T
6505a24414SKrzysztof Kozlowski  clock-controller:
6605a24414SKrzysztof Kozlowski    $ref: /schemas/clock/qcom,rpmcc.yaml#
6705a24414SKrzysztof Kozlowski    unevaluatedProperties: false
6805a24414SKrzysztof Kozlowski
69c23b7d49SKrzysztof Kozlowski  power-controller:
70c23b7d49SKrzysztof Kozlowski    $ref: /schemas/power/qcom,rpmpd.yaml#
71c23b7d49SKrzysztof Kozlowski
727fd0a931SKrzysztof Kozlowski  qcom,glink-channels:
737fd0a931SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/string-array
747fd0a931SKrzysztof Kozlowski    description: Channel name used for the RPM communication
757fd0a931SKrzysztof Kozlowski    items:
767fd0a931SKrzysztof Kozlowski      - const: rpm_requests
777fd0a931SKrzysztof Kozlowski
78f935a752SKathiravan T  qcom,smd-channels:
79f935a752SKathiravan T    $ref: /schemas/types.yaml#/definitions/string-array
80f935a752SKathiravan T    description: Channel name used for the RPM communication
81f935a752SKathiravan T    items:
82f935a752SKathiravan T      - const: rpm_requests
83f935a752SKathiravan T
84c6b34983SKrzysztof KozlowskipatternProperties:
85c6b34983SKrzysztof Kozlowski  "^regulators(-[01])?$":
86c6b34983SKrzysztof Kozlowski    $ref: /schemas/regulator/qcom,smd-rpm-regulator.yaml#
87c6b34983SKrzysztof Kozlowski    unevaluatedProperties: false
88c6b34983SKrzysztof Kozlowski
89f935a752SKathiravan Tif:
90f935a752SKathiravan T  properties:
91f935a752SKathiravan T    compatible:
92f935a752SKathiravan T      contains:
93*9d5f3cc5SDmitry Baryshkov        const: qcom,smd-rpm
94f935a752SKathiravan Tthen:
957fd0a931SKrzysztof Kozlowski  properties:
967fd0a931SKrzysztof Kozlowski    qcom,glink-channels: false
97f935a752SKathiravan T  required:
98f935a752SKathiravan T    - qcom,smd-channels
997fd0a931SKrzysztof Kozlowskielse:
1007fd0a931SKrzysztof Kozlowski  properties:
1017fd0a931SKrzysztof Kozlowski    qcom,smd-channels: false
1027fd0a931SKrzysztof Kozlowski  required:
1037fd0a931SKrzysztof Kozlowski    - qcom,glink-channels
104f935a752SKathiravan T
105f935a752SKathiravan Trequired:
106f935a752SKathiravan T  - compatible
107f935a752SKathiravan T
108f935a752SKathiravan TadditionalProperties: false
109f935a752SKathiravan T
110f935a752SKathiravan Texamples:
111f935a752SKathiravan T  - |
112f935a752SKathiravan T    #include <dt-bindings/interrupt-controller/arm-gic.h>
113f935a752SKathiravan T    #include <dt-bindings/interrupt-controller/irq.h>
114f935a752SKathiravan T
1159a2c674eSStephan Gerhold    remoteproc {
1169a2c674eSStephan Gerhold        compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
117f935a752SKathiravan T
1189a2c674eSStephan Gerhold        smd-edge {
119f935a752SKathiravan T            interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
120f935a752SKathiravan T            qcom,ipc = <&apcs 8 0>;
121f935a752SKathiravan T            qcom,smd-edge = <15>;
122f935a752SKathiravan T
123375eed5fSKrzysztof Kozlowski            rpm-requests {
124*9d5f3cc5SDmitry Baryshkov                compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
125f935a752SKathiravan T                qcom,smd-channels = "rpm_requests";
126f935a752SKathiravan T
12756e07c0cSKrzysztof Kozlowski                clock-controller {
12856e07c0cSKrzysztof Kozlowski                    compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
12956e07c0cSKrzysztof Kozlowski                    #clock-cells = <1>;
13056e07c0cSKrzysztof Kozlowski                    clocks = <&xo_board>;
13156e07c0cSKrzysztof Kozlowski                    clock-names = "xo";
13256e07c0cSKrzysztof Kozlowski                };
13356e07c0cSKrzysztof Kozlowski
13456e07c0cSKrzysztof Kozlowski                power-controller {
13556e07c0cSKrzysztof Kozlowski                    compatible = "qcom,msm8916-rpmpd";
13656e07c0cSKrzysztof Kozlowski                    #power-domain-cells = <1>;
13756e07c0cSKrzysztof Kozlowski                    operating-points-v2 = <&rpmpd_opp_table>;
13856e07c0cSKrzysztof Kozlowski
13956e07c0cSKrzysztof Kozlowski                    rpmpd_opp_table: opp-table {
14056e07c0cSKrzysztof Kozlowski                        compatible = "operating-points-v2";
14156e07c0cSKrzysztof Kozlowski
14256e07c0cSKrzysztof Kozlowski                        opp-1 {
14356e07c0cSKrzysztof Kozlowski                            opp-level = <1>;
14456e07c0cSKrzysztof Kozlowski                        };
14556e07c0cSKrzysztof Kozlowski                        opp-2 {
14656e07c0cSKrzysztof Kozlowski                            opp-level = <2>;
147f935a752SKathiravan T                        };
148f935a752SKathiravan T                    };
149f935a752SKathiravan T                };
15056e07c0cSKrzysztof Kozlowski            };
15156e07c0cSKrzysztof Kozlowski        };
15256e07c0cSKrzysztof Kozlowski    };
153