dt-bindings: soc: bcm: use absolute path to other schema
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / soc / qcom / qcom,smd-rpm.yaml
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
7 title: Qualcomm Resource Power Manager (RPM) over SMD
8
9 description: |
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
27 maintainers:
28   - Andy Gross <agross@kernel.org>
29   - Bjorn Andersson <bjorn.andersson@linaro.org>
30
31 properties:
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
60 if:
61   properties:
62     compatible:
63       contains:
64         enum:
65           - qcom,rpm-apq8084
66           - qcom,rpm-msm8916
67           - qcom,rpm-msm8974
68           - qcom,rpm-msm8953
69 then:
70   required:
71     - qcom,smd-channels
72
73 required:
74   - compatible
75
76 additionalProperties: false
77
78 examples:
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 ...