OSDN Git Service

Linux 6.6-rc1
[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,ipq5018-apcs-apps-global
22               - qcom,ipq5332-apcs-apps-global
23               - qcom,ipq8074-apcs-apps-global
24               - qcom,ipq9574-apcs-apps-global
25           - const: qcom,ipq6018-apcs-apps-global
26       - items:
27           - enum:
28               - qcom,sc7180-apss-shared
29               - qcom,sc8180x-apss-shared
30               - qcom,sm8150-apss-shared
31           - const: qcom,sdm845-apss-shared
32       - items:
33           - enum:
34               - qcom,msm8916-apcs-kpss-global
35               - qcom,msm8939-apcs-kpss-global
36               - qcom,msm8953-apcs-kpss-global
37               - qcom,msm8976-apcs-kpss-global
38               - qcom,msm8994-apcs-kpss-global
39               - qcom,qcs404-apcs-apps-global
40               - qcom,sdx55-apcs-gcc
41           - const: syscon
42       - enum:
43           - qcom,ipq6018-apcs-apps-global
44           - qcom,ipq8074-apcs-apps-global
45           - qcom,msm8996-apcs-hmss-global
46           - qcom,msm8998-apcs-hmss-global
47           - qcom,qcm2290-apcs-hmss-global
48           - qcom,sdm660-apcs-hmss-global
49           - qcom,sdm845-apss-shared
50           - qcom,sm4250-apcs-hmss-global
51           - qcom,sm6115-apcs-hmss-global
52           - qcom,sm6125-apcs-hmss-global
53
54   reg:
55     maxItems: 1
56
57   clocks:
58     description: phandles to the parent clocks of the clock driver
59     minItems: 2
60     maxItems: 3
61
62   '#mbox-cells':
63     const: 1
64
65   '#clock-cells':
66     enum: [0, 1]
67
68   clock-names:
69     minItems: 2
70     maxItems: 3
71
72 required:
73   - compatible
74   - reg
75   - '#mbox-cells'
76
77 additionalProperties: false
78
79 allOf:
80   - if:
81       properties:
82         compatible:
83           enum:
84             - qcom,msm8916-apcs-kpss-global
85             - qcom,msm8939-apcs-kpss-global
86             - qcom,qcs404-apcs-apps-global
87     then:
88       properties:
89         clocks:
90           items:
91             - description: primary pll parent of the clock driver
92             - description: auxiliary parent
93         clock-names:
94           items:
95             - const: pll
96             - const: aux
97
98   - if:
99       properties:
100         compatible:
101           contains:
102             enum:
103               - qcom,sdx55-apcs-gcc
104     then:
105       properties:
106         clocks:
107           items:
108             - description: reference clock
109             - description: primary pll parent of the clock driver
110             - description: auxiliary parent
111         clock-names:
112           items:
113             - const: ref
114             - const: pll
115             - const: aux
116   - if:
117       properties:
118         compatible:
119           contains:
120             enum:
121               - qcom,ipq6018-apcs-apps-global
122     then:
123       properties:
124         clocks:
125           items:
126             - description: primary pll parent of the clock driver
127             - description: XO clock
128         clock-names:
129           items:
130             - const: pll
131             - const: xo
132
133   - if:
134       properties:
135         compatible:
136           enum:
137             - qcom,msm8953-apcs-kpss-global
138             - qcom,msm8976-apcs-kpss-global
139             - qcom,msm8994-apcs-kpss-global
140             - qcom,msm8996-apcs-hmss-global
141             - qcom,msm8998-apcs-hmss-global
142             - qcom,qcm2290-apcs-hmss-global
143             - qcom,sdm660-apcs-hmss-global
144             - qcom,sdm845-apss-shared
145             - qcom,sm4250-apcs-hmss-global
146             - qcom,sm6115-apcs-hmss-global
147             - qcom,sm6125-apcs-hmss-global
148     then:
149       properties:
150         clocks: false
151         clock-names: false
152
153   - if:
154       properties:
155         compatible:
156           contains:
157             enum:
158               - qcom,ipq6018-apcs-apps-global
159     then:
160       properties:
161         '#clock-cells':
162           const: 1
163     else:
164       properties:
165         '#clock-cells':
166           const: 0
167
168 examples:
169
170   # Example apcs with msm8996
171   - |
172     #include <dt-bindings/interrupt-controller/arm-gic.h>
173     apcs_glb: mailbox@9820000 {
174         compatible = "qcom,msm8996-apcs-hmss-global";
175         reg = <0x9820000 0x1000>;
176
177         #mbox-cells = <1>;
178         #clock-cells = <0>;
179     };
180
181     rpm-glink {
182         compatible = "qcom,glink-rpm";
183         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
184         qcom,rpm-msg-ram = <&rpm_msg_ram>;
185         mboxes = <&apcs_glb 0>;
186     };
187
188   # Example apcs with qcs404
189   - |
190     #define GCC_APSS_AHB_CLK_SRC  1
191     #define GCC_GPLL0_AO_OUT_MAIN 123
192     apcs: mailbox@b011000 {
193         compatible = "qcom,qcs404-apcs-apps-global", "syscon";
194         reg = <0x0b011000 0x1000>;
195         #mbox-cells = <1>;
196         clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
197         clock-names = "pll", "aux";
198         #clock-cells = <0>;
199     };