OSDN Git Service

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
[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           - const: qcom,ipq6018-apcs-apps-global
23       - items:
24           - enum:
25               - qcom,ipq6018-apcs-apps-global
26               - qcom,ipq8074-apcs-apps-global
27               - qcom,msm8996-apcs-hmss-global
28               - qcom,msm8998-apcs-hmss-global
29               - qcom,qcm2290-apcs-hmss-global
30               - qcom,sc7180-apss-shared
31               - qcom,sc8180x-apss-shared
32               - qcom,sdm660-apcs-hmss-global
33               - qcom,sdm845-apss-shared
34               - qcom,sm4250-apcs-hmss-global
35               - qcom,sm6125-apcs-hmss-global
36               - qcom,sm6115-apcs-hmss-global
37               - qcom,sm8150-apss-shared
38       - items:
39           - enum:
40               - qcom,msm8916-apcs-kpss-global
41               - qcom,msm8939-apcs-kpss-global
42               - qcom,msm8953-apcs-kpss-global
43               - qcom,msm8976-apcs-kpss-global
44               - qcom,msm8994-apcs-kpss-global
45               - qcom,qcs404-apcs-apps-global
46               - qcom,sdx55-apcs-gcc
47           - const: syscon
48   reg:
49     maxItems: 1
50
51   clocks:
52     description: phandles to the parent clocks of the clock driver
53     minItems: 2
54     maxItems: 3
55
56   '#mbox-cells':
57     const: 1
58
59   '#clock-cells':
60     enum: [0, 1]
61
62   clock-names:
63     minItems: 2
64     maxItems: 3
65
66 required:
67   - compatible
68   - reg
69   - '#mbox-cells'
70
71 additionalProperties: false
72
73 allOf:
74   - if:
75       properties:
76         compatible:
77           enum:
78             - qcom,msm8916-apcs-kpss-global
79             - qcom,msm8939-apcs-kpss-global
80             - qcom,qcs404-apcs-apps-global
81     then:
82       properties:
83         clocks:
84           items:
85             - description: primary pll parent of the clock driver
86             - description: auxiliary parent
87         clock-names:
88           items:
89             - const: pll
90             - const: aux
91   - if:
92       properties:
93         compatible:
94           contains:
95             enum:
96               - qcom,sdx55-apcs-gcc
97     then:
98       properties:
99         clocks:
100           items:
101             - description: reference clock
102             - description: primary pll parent of the clock driver
103             - description: auxiliary parent
104         clock-names:
105           items:
106             - const: ref
107             - const: pll
108             - const: aux
109   - if:
110       properties:
111         compatible:
112           contains:
113             enum:
114               - qcom,ipq6018-apcs-apps-global
115               - qcom,ipq8074-apcs-apps-global
116     then:
117       properties:
118         clocks:
119           items:
120             - description: primary pll parent of the clock driver
121             - description: XO clock
122         clock-names:
123           items:
124             - const: pll
125             - const: xo
126
127   - if:
128       properties:
129         compatible:
130           enum:
131             - qcom,msm8953-apcs-kpss-global
132             - qcom,msm8976-apcs-kpss-global
133             - qcom,msm8994-apcs-kpss-global
134             - qcom,msm8996-apcs-hmss-global
135             - qcom,msm8998-apcs-hmss-global
136             - qcom,qcm2290-apcs-hmss-global
137             - qcom,sc7180-apss-shared
138             - qcom,sc8180x-apss-shared
139             - qcom,sdm660-apcs-hmss-global
140             - qcom,sdm845-apss-shared
141             - qcom,sm4250-apcs-hmss-global
142             - qcom,sm6115-apcs-hmss-global
143             - qcom,sm6125-apcs-hmss-global
144             - qcom,sm8150-apss-shared
145     then:
146       properties:
147         clocks: false
148         clock-names: false
149
150   - if:
151       properties:
152         compatible:
153           contains:
154             enum:
155               - qcom,ipq6018-apcs-apps-global
156               - qcom,ipq8074-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     };