Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
51978 views
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#
6
7
title: QCOM Secure Channel Manager (SCM)
8
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.
14
15
maintainers:
16
- Bjorn Andersson <bjorn.andersson@linaro.org>
17
- Robert Marko <robimarko@gmail.com>
18
- Guru Das Srinagesh <quic_gurus@quicinc.com>
19
20
properties:
21
compatible:
22
items:
23
- enum:
24
- qcom,scm-apq8064
25
- qcom,scm-apq8084
26
- qcom,scm-glymur
27
- qcom,scm-ipq4019
28
- qcom,scm-ipq5018
29
- qcom,scm-ipq5332
30
- qcom,scm-ipq5424
31
- qcom,scm-ipq6018
32
- qcom,scm-ipq806x
33
- qcom,scm-ipq8074
34
- qcom,scm-ipq9574
35
- qcom,scm-kaanapali
36
- qcom,scm-mdm9607
37
- qcom,scm-milos
38
- qcom,scm-msm8226
39
- qcom,scm-msm8660
40
- qcom,scm-msm8916
41
- qcom,scm-msm8937
42
- qcom,scm-msm8953
43
- qcom,scm-msm8960
44
- qcom,scm-msm8974
45
- qcom,scm-msm8976
46
- qcom,scm-msm8994
47
- qcom,scm-msm8996
48
- qcom,scm-msm8998
49
- qcom,scm-qcm2290
50
- qcom,scm-qcs615
51
- qcom,scm-qcs8300
52
- qcom,scm-qdu1000
53
- qcom,scm-sa8255p
54
- qcom,scm-sa8775p
55
- qcom,scm-sar2130p
56
- qcom,scm-sc7180
57
- qcom,scm-sc7280
58
- qcom,scm-sc8180x
59
- qcom,scm-sc8280xp
60
- qcom,scm-sdm670
61
- qcom,scm-sdm845
62
- qcom,scm-sdx55
63
- qcom,scm-sdx65
64
- qcom,scm-sdx75
65
- qcom,scm-sm6115
66
- qcom,scm-sm6125
67
- qcom,scm-sm6350
68
- qcom,scm-sm6375
69
- qcom,scm-sm7150
70
- qcom,scm-sm8150
71
- qcom,scm-sm8250
72
- qcom,scm-sm8350
73
- qcom,scm-sm8450
74
- qcom,scm-sm8550
75
- qcom,scm-sm8650
76
- qcom,scm-sm8750
77
- qcom,scm-qcs404
78
- qcom,scm-x1e80100
79
- const: qcom,scm
80
81
clocks:
82
minItems: 1
83
maxItems: 3
84
85
clock-names:
86
minItems: 1
87
maxItems: 3
88
89
dma-coherent: true
90
91
interconnects:
92
maxItems: 1
93
94
interconnect-names:
95
maxItems: 1
96
97
'#reset-cells':
98
const: 1
99
100
interrupts:
101
description:
102
The wait-queue interrupt that firmware raises as part of handshake
103
protocol to handle sleeping SCM calls.
104
maxItems: 1
105
106
memory-region:
107
description:
108
Phandle to the memory region reserved for the shared memory bridge to TZ.
109
maxItems: 1
110
111
qcom,sdi-enabled:
112
description:
113
Indicates that the SDI (Secure Debug Image) has been enabled by TZ
114
by default and it needs to be disabled.
115
If not disabled WDT assertion or reboot will cause the board to hang
116
in the debug mode.
117
type: boolean
118
119
qcom,dload-mode:
120
$ref: /schemas/types.yaml#/definitions/phandle-array
121
items:
122
- items:
123
- description: phandle to TCSR hardware block
124
- description: offset of the download mode control register
125
description: TCSR hardware block
126
127
allOf:
128
# Clocks
129
- if:
130
properties:
131
compatible:
132
contains:
133
enum:
134
- qcom,scm-apq8064
135
- qcom,scm-apq8084
136
- qcom,scm-mdm9607
137
- qcom,scm-msm8226
138
- qcom,scm-msm8660
139
- qcom,scm-msm8916
140
- qcom,scm-msm8937
141
- qcom,scm-msm8953
142
- qcom,scm-msm8960
143
- qcom,scm-msm8974
144
- qcom,scm-msm8976
145
- qcom,scm-qcm2290
146
- qcom,scm-sm6375
147
then:
148
required:
149
- clocks
150
- clock-names
151
else:
152
properties:
153
clock-names: false
154
clocks: false
155
156
- if:
157
properties:
158
compatible:
159
contains:
160
enum:
161
- qcom,scm-apq8064
162
- qcom,scm-msm8660
163
- qcom,scm-msm8960
164
- qcom,scm-qcm2290
165
- qcom,scm-sm6375
166
then:
167
properties:
168
clock-names:
169
items:
170
- const: core
171
172
clocks:
173
maxItems: 1
174
175
- if:
176
properties:
177
compatible:
178
contains:
179
enum:
180
- qcom,scm-apq8084
181
- qcom,scm-mdm9607
182
- qcom,scm-msm8226
183
- qcom,scm-msm8916
184
- qcom,scm-msm8937
185
- qcom,scm-msm8953
186
- qcom,scm-msm8974
187
- qcom,scm-msm8976
188
then:
189
properties:
190
clock-names:
191
items:
192
- const: core
193
- const: bus
194
- const: iface
195
196
clocks:
197
minItems: 3
198
maxItems: 3
199
200
# Interrupts
201
- if:
202
not:
203
properties:
204
compatible:
205
contains:
206
enum:
207
- qcom,scm-kaanapali
208
- qcom,scm-milos
209
- qcom,scm-sm8450
210
- qcom,scm-sm8550
211
- qcom,scm-sm8650
212
- qcom,scm-sm8750
213
then:
214
properties:
215
interrupts: false
216
- if:
217
not:
218
properties:
219
compatible:
220
contains:
221
enum:
222
- qcom,scm-sa8255p
223
- qcom,scm-sa8775p
224
then:
225
properties:
226
memory-region: false
227
228
required:
229
- compatible
230
231
additionalProperties: false
232
233
examples:
234
- |
235
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
236
237
firmware {
238
scm {
239
compatible = "qcom,scm-msm8916", "qcom,scm";
240
clocks = <&gcc GCC_CRYPTO_CLK>,
241
<&gcc GCC_CRYPTO_AXI_CLK>,
242
<&gcc GCC_CRYPTO_AHB_CLK>;
243
clock-names = "core", "bus", "iface";
244
};
245
};
246
247