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