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