drm/bridge: Fix assignment of the of_node of the parent to aux bridge
[drm/drm-misc.git] / Documentation / devicetree / bindings / firmware / qcom,scm.yaml
blob2cc83771d8e708c8e45bf977ab4a94b1cc846eb4
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/firmware/qcom,scm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: QCOM Secure Channel Manager (SCM)
9 description: |
10   Qualcomm processors include an interface to communicate to the secure firmware.
11   This interface allows for clients to request different types of actions.
12   These can include CPU power up/down, HDCP requests, loading of firmware,
13   and other assorted actions.
15 maintainers:
16   - Bjorn Andersson <bjorn.andersson@linaro.org>
17   - Robert Marko <robimarko@gmail.com>
18   - Guru Das Srinagesh <quic_gurus@quicinc.com>
20 properties:
21   compatible:
22     items:
23       - enum:
24           - qcom,scm-apq8064
25           - qcom,scm-apq8084
26           - qcom,scm-ipq4019
27           - qcom,scm-ipq5018
28           - qcom,scm-ipq5332
29           - qcom,scm-ipq6018
30           - qcom,scm-ipq806x
31           - qcom,scm-ipq8074
32           - qcom,scm-ipq9574
33           - qcom,scm-mdm9607
34           - qcom,scm-msm8226
35           - qcom,scm-msm8660
36           - qcom,scm-msm8916
37           - qcom,scm-msm8953
38           - qcom,scm-msm8960
39           - qcom,scm-msm8974
40           - qcom,scm-msm8976
41           - qcom,scm-msm8994
42           - qcom,scm-msm8996
43           - qcom,scm-msm8998
44           - qcom,scm-qcm2290
45           - qcom,scm-qdu1000
46           - qcom,scm-sa8775p
47           - qcom,scm-sc7180
48           - qcom,scm-sc7280
49           - qcom,scm-sc8180x
50           - qcom,scm-sc8280xp
51           - qcom,scm-sdm670
52           - qcom,scm-sdm845
53           - qcom,scm-sdx55
54           - qcom,scm-sdx65
55           - qcom,scm-sdx75
56           - qcom,scm-sm6115
57           - qcom,scm-sm6125
58           - qcom,scm-sm6350
59           - qcom,scm-sm6375
60           - qcom,scm-sm7150
61           - qcom,scm-sm8150
62           - qcom,scm-sm8250
63           - qcom,scm-sm8350
64           - qcom,scm-sm8450
65           - qcom,scm-sm8550
66           - qcom,scm-sm8650
67           - qcom,scm-qcs404
68           - qcom,scm-x1e80100
69       - const: qcom,scm
71   clocks:
72     minItems: 1
73     maxItems: 3
75   clock-names:
76     minItems: 1
77     maxItems: 3
79   dma-coherent: true
81   interconnects:
82     maxItems: 1
84   interconnect-names:
85     maxItems: 1
87   '#reset-cells':
88     const: 1
90   interrupts:
91     description:
92       The wait-queue interrupt that firmware raises as part of handshake
93       protocol to handle sleeping SCM calls.
94     maxItems: 1
96   memory-region:
97     description:
98       Phandle to the memory region reserved for the shared memory bridge to TZ.
99     maxItems: 1
101   qcom,sdi-enabled:
102     description:
103       Indicates that the SDI (Secure Debug Image) has been enabled by TZ
104       by default and it needs to be disabled.
105       If not disabled WDT assertion or reboot will cause the board to hang
106       in the debug mode.
107     type: boolean
109   qcom,dload-mode:
110     $ref: /schemas/types.yaml#/definitions/phandle-array
111     items:
112       - items:
113           - description: phandle to TCSR hardware block
114           - description: offset of the download mode control register
115     description: TCSR hardware block
117 allOf:
118   # Clocks
119   - if:
120       properties:
121         compatible:
122           contains:
123             enum:
124               - qcom,scm-apq8064
125               - qcom,scm-apq8084
126               - qcom,scm-mdm9607
127               - qcom,scm-msm8226
128               - qcom,scm-msm8660
129               - qcom,scm-msm8916
130               - qcom,scm-msm8953
131               - qcom,scm-msm8960
132               - qcom,scm-msm8974
133               - qcom,scm-msm8976
134               - qcom,scm-qcm2290
135               - qcom,scm-sm6375
136     then:
137       required:
138         - clocks
139         - clock-names
140     else:
141       properties:
142         clock-names: false
143         clocks: false
145   - if:
146       properties:
147         compatible:
148           contains:
149             enum:
150               - qcom,scm-apq8064
151               - qcom,scm-msm8660
152               - qcom,scm-msm8960
153               - qcom,scm-qcm2290
154               - qcom,scm-sm6375
155     then:
156       properties:
157         clock-names:
158           items:
159             - const: core
161         clocks:
162           maxItems: 1
164   - if:
165       properties:
166         compatible:
167           contains:
168             enum:
169               - qcom,scm-apq8084
170               - qcom,scm-mdm9607
171               - qcom,scm-msm8226
172               - qcom,scm-msm8916
173               - qcom,scm-msm8953
174               - qcom,scm-msm8974
175               - qcom,scm-msm8976
176     then:
177       properties:
178         clock-names:
179           items:
180             - const: core
181             - const: bus
182             - const: iface
184         clocks:
185           minItems: 3
186           maxItems: 3
188   # Interrupts
189   - if:
190       not:
191         properties:
192           compatible:
193             contains:
194               enum:
195                 - qcom,scm-sm8450
196                 - qcom,scm-sm8550
197                 - qcom,scm-sm8650
198     then:
199       properties:
200         interrupts: false
201   - if:
202       not:
203         properties:
204           compatible:
205             contains:
206               enum:
207                 - qcom,scm-sa8775p
208     then:
209       properties:
210         memory-region: false
212 required:
213   - compatible
215 additionalProperties: false
217 examples:
218   - |
219     #include <dt-bindings/clock/qcom,gcc-msm8916.h>
221     firmware {
222         scm {
223             compatible = "qcom,scm-msm8916", "qcom,scm";
224             clocks = <&gcc GCC_CRYPTO_CLK>,
225                      <&gcc GCC_CRYPTO_AXI_CLK>,
226                      <&gcc GCC_CRYPTO_AHB_CLK>;
227             clock-names = "core", "bus", "iface";
228         };
229     };