Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
51128 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/crypto/qcom-qce.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Qualcomm crypto engine driver
8
9
maintainers:
10
- Bjorn Andersson <andersson@kernel.org>
11
- Konrad Dybcio <konradybcio@kernel.org>
12
13
description:
14
This document defines the binding for the QCE crypto
15
controller found on Qualcomm parts.
16
17
properties:
18
compatible:
19
oneOf:
20
- const: qcom,crypto-v5.1
21
deprecated: true
22
description: Kept only for ABI backward compatibility
23
24
- const: qcom,crypto-v5.4
25
deprecated: true
26
description: Kept only for ABI backward compatibility
27
28
- items:
29
- enum:
30
- qcom,ipq4019-qce
31
- qcom,sm8150-qce
32
- const: qcom,qce
33
34
- items:
35
- enum:
36
- qcom,ipq6018-qce
37
- qcom,ipq8074-qce
38
- qcom,ipq9574-qce
39
- qcom,msm8996-qce
40
- qcom,qcm2290-qce
41
- qcom,sdm845-qce
42
- qcom,sm6115-qce
43
- const: qcom,ipq4019-qce
44
- const: qcom,qce
45
46
- items:
47
- enum:
48
- qcom,kaanapali-qce
49
- qcom,qcs615-qce
50
- qcom,qcs8300-qce
51
- qcom,sa8775p-qce
52
- qcom,sc7280-qce
53
- qcom,sm6350-qce
54
- qcom,sm8250-qce
55
- qcom,sm8350-qce
56
- qcom,sm8450-qce
57
- qcom,sm8550-qce
58
- qcom,sm8650-qce
59
- qcom,sm8750-qce
60
- qcom,x1e80100-qce
61
- const: qcom,sm8150-qce
62
- const: qcom,qce
63
64
reg:
65
maxItems: 1
66
67
clocks:
68
minItems: 1
69
maxItems: 3
70
71
clock-names:
72
minItems: 1
73
maxItems: 3
74
75
iommus:
76
minItems: 1
77
maxItems: 8
78
description:
79
phandle to apps_smmu node with sid mask.
80
81
interconnects:
82
maxItems: 1
83
description:
84
Interconnect path between qce crypto and main memory.
85
86
interconnect-names:
87
const: memory
88
89
dmas:
90
items:
91
- description: DMA specifiers for rx dma channel.
92
- description: DMA specifiers for tx dma channel.
93
94
dma-names:
95
items:
96
- const: rx
97
- const: tx
98
99
allOf:
100
- if:
101
properties:
102
compatible:
103
contains:
104
enum:
105
- qcom,crypto-v5.1
106
- qcom,crypto-v5.4
107
- qcom,ipq6018-qce
108
- qcom,ipq8074-qce
109
- qcom,ipq9574-qce
110
- qcom,msm8996-qce
111
- qcom,sdm845-qce
112
then:
113
properties:
114
clocks:
115
maxItems: 3
116
clock-names:
117
items:
118
- const: iface
119
- const: bus
120
- const: core
121
required:
122
- clocks
123
- clock-names
124
125
- if:
126
properties:
127
compatible:
128
contains:
129
enum:
130
- qcom,qcm2290-qce
131
- qcom,sm6115-qce
132
then:
133
properties:
134
clocks:
135
maxItems: 1
136
clock-names:
137
items:
138
- const: core
139
required:
140
- clocks
141
- clock-names
142
143
- if:
144
properties:
145
compatible:
146
contains:
147
enum:
148
- qcom,sm8150-qce
149
then:
150
properties:
151
clocks: false
152
clock-names: false
153
154
required:
155
- compatible
156
- reg
157
- dmas
158
- dma-names
159
160
additionalProperties: false
161
162
examples:
163
- |
164
#include <dt-bindings/clock/qcom,gcc-apq8084.h>
165
crypto-engine@fd45a000 {
166
compatible = "qcom,ipq6018-qce", "qcom,ipq4019-qce", "qcom,qce";
167
reg = <0xfd45a000 0x6000>;
168
clocks = <&gcc GCC_CE2_AHB_CLK>,
169
<&gcc GCC_CE2_AXI_CLK>,
170
<&gcc GCC_CE2_CLK>;
171
clock-names = "iface", "bus", "core";
172
dmas = <&cryptobam 2>, <&cryptobam 3>;
173
dma-names = "rx", "tx";
174
iommus = <&apps_smmu 0x584 0x0011>,
175
<&apps_smmu 0x586 0x0011>,
176
<&apps_smmu 0x594 0x0011>,
177
<&apps_smmu 0x596 0x0011>;
178
};
179
180