OSDN Git Service

dt-bindings: mailbox: qcom: add compatible for IPQ9574 SoC
[tomoyo/tomoyo-test1.git] / Documentation / devicetree / bindings / mailbox / qcom,apcs-kpss-global.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Qualcomm APCS global block
8
9 description:
10   This binding describes the APCS "global" block found in various Qualcomm
11   platforms.
12
13 maintainers:
14   - Jassi Brar <jassisinghbrar@gmail.com>
15
16 properties:
17   compatible:
18     oneOf:
19       - items:
20           - enum:
21               - qcom,ipq5332-apcs-apps-global
22               - qcom,ipq8074-apcs-apps-global
23               - qcom,ipq9574-apcs-apps-global
24           - const: qcom,ipq6018-apcs-apps-global
25       - items:
26           - enum:
27               - qcom,sc7180-apss-shared
28               - qcom,sc8180x-apss-shared
29               - qcom,sm8150-apss-shared
30           - const: qcom,sdm845-apss-shared
31       - items:
32           - enum:
33               - qcom,msm8916-apcs-kpss-global
34               - qcom,msm8939-apcs-kpss-global
35               - qcom,msm8953-apcs-kpss-global
36               - qcom,msm8976-apcs-kpss-global
37               - qcom,msm8994-apcs-kpss-global
38               - qcom,qcs404-apcs-apps-global
39               - qcom,sdx55-apcs-gcc
40           - const: syscon
41       - enum:
42           - qcom,ipq6018-apcs-apps-global
43           - qcom,ipq8074-apcs-apps-global
44           - qcom,msm8996-apcs-hmss-global
45           - qcom,msm8998-apcs-hmss-global
46           - qcom,qcm2290-apcs-hmss-global
47           - qcom,sdm660-apcs-hmss-global
48           - qcom,sdm845-apss-shared
49           - qcom,sm4250-apcs-hmss-global
50           - qcom,sm6115-apcs-hmss-global
51           - qcom,sm6125-apcs-hmss-global
52
53   reg:
54     maxItems: 1
55
56   clocks:
57     description: phandles to the parent clocks of the clock driver
58     minItems: 2
59     maxItems: 3
60
61   '#mbox-cells':
62     const: 1
63
64   '#clock-cells':
65     enum: [0, 1]
66
67   clock-names:
68     minItems: 2
69     maxItems: 3
70
71 required:
72   - compatible
73   - reg
74   - '#mbox-cells'
75
76 additionalProperties: false
77
78 allOf:
79   - if:
80       properties:
81         compatible:
82           enum:
83             - qcom,msm8916-apcs-kpss-global
84             - qcom,msm8939-apcs-kpss-global
85             - qcom,qcs404-apcs-apps-global
86     then:
87       properties:
88         clocks:
89           items:
90             - description: primary pll parent of the clock driver
91             - description: auxiliary parent
92         clock-names:
93           items:
94             - const: pll
95             - const: aux
96
97   - if:
98       properties:
99         compatible:
100           enum:
101             - qcom,sdx55-apcs-gcc
102     then:
103       properties:
104         clocks:
105           items:
106             - description: primary pll parent of the clock driver
107             - description: auxiliary parent
108             - description: reference clock
109         clock-names:
110           items:
111             - const: pll
112             - const: aux
113             - const: ref
114   - if:
115       properties:
116         compatible:
117           contains:
118             enum:
119               - qcom,ipq6018-apcs-apps-global
120     then:
121       properties:
122         clocks:
123           items:
124             - description: primary pll parent of the clock driver
125             - description: XO clock
126         clock-names:
127           items:
128             - const: pll
129             - const: xo
130
131   - if:
132       properties:
133         compatible:
134           enum:
135             - qcom,msm8953-apcs-kpss-global
136             - qcom,msm8976-apcs-kpss-global
137             - qcom,msm8994-apcs-kpss-global
138             - qcom,msm8996-apcs-hmss-global
139             - qcom,msm8998-apcs-hmss-global
140             - qcom,qcm2290-apcs-hmss-global
141             - qcom,sdm660-apcs-hmss-global
142             - qcom,sdm845-apss-shared
143             - qcom,sm4250-apcs-hmss-global
144             - qcom,sm6115-apcs-hmss-global
145             - qcom,sm6125-apcs-hmss-global
146     then:
147       properties:
148         clocks: false
149         clock-names: false
150
151   - if:
152       properties:
153         compatible:
154           contains:
155             enum:
156               - qcom,ipq6018-apcs-apps-global
157     then:
158       properties:
159         '#clock-cells':
160           const: 1
161     else:
162       properties:
163         '#clock-cells':
164           const: 0
165
166 examples:
167
168   # Example apcs with msm8996
169   - |
170     #include <dt-bindings/interrupt-controller/arm-gic.h>
171     apcs_glb: mailbox@9820000 {
172         compatible = "qcom,msm8996-apcs-hmss-global";
173         reg = <0x9820000 0x1000>;
174
175         #mbox-cells = <1>;
176         #clock-cells = <0>;
177     };
178
179     rpm-glink {
180         compatible = "qcom,glink-rpm";
181         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
182         qcom,rpm-msg-ram = <&rpm_msg_ram>;
183         mboxes = <&apcs_glb 0>;
184     };
185
186   # Example apcs with qcs404
187   - |
188     #define GCC_APSS_AHB_CLK_SRC  1
189     #define GCC_GPLL0_AO_OUT_MAIN 123
190     apcs: mailbox@b011000 {
191         compatible = "qcom,qcs404-apcs-apps-global", "syscon";
192         reg = <0x0b011000 0x1000>;
193         #mbox-cells = <1>;
194         clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
195         clock-names = "pll", "aux";
196         #clock-cells = <0>;
197     };