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