xref: /freebsd-src/sys/contrib/device-tree/Bindings/crypto/qcom-qce.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2fac71e4eSEmmanuel Vadot%YAML 1.2
3fac71e4eSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/crypto/qcom-qce.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6fac71e4eSEmmanuel Vadot
7fac71e4eSEmmanuel Vadottitle: Qualcomm crypto engine driver
8fac71e4eSEmmanuel Vadot
9fac71e4eSEmmanuel Vadotmaintainers:
10fac71e4eSEmmanuel Vadot  - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11fac71e4eSEmmanuel Vadot
12fac71e4eSEmmanuel Vadotdescription:
13fac71e4eSEmmanuel Vadot  This document defines the binding for the QCE crypto
14fac71e4eSEmmanuel Vadot  controller found on Qualcomm parts.
15fac71e4eSEmmanuel Vadot
16fac71e4eSEmmanuel Vadotproperties:
17fac71e4eSEmmanuel Vadot  compatible:
18fac71e4eSEmmanuel Vadot    oneOf:
19fac71e4eSEmmanuel Vadot      - const: qcom,crypto-v5.1
20fac71e4eSEmmanuel Vadot        deprecated: true
21fac71e4eSEmmanuel Vadot        description: Kept only for ABI backward compatibility
22fac71e4eSEmmanuel Vadot
23fac71e4eSEmmanuel Vadot      - const: qcom,crypto-v5.4
24fac71e4eSEmmanuel Vadot        deprecated: true
25fac71e4eSEmmanuel Vadot        description: Kept only for ABI backward compatibility
26fac71e4eSEmmanuel Vadot
27fac71e4eSEmmanuel Vadot      - items:
28fac71e4eSEmmanuel Vadot          - enum:
29f126890aSEmmanuel Vadot              - qcom,ipq4019-qce
30f126890aSEmmanuel Vadot              - qcom,sm8150-qce
31f126890aSEmmanuel Vadot          - const: qcom,qce
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadot      - items:
34f126890aSEmmanuel Vadot          - enum:
35fac71e4eSEmmanuel Vadot              - qcom,ipq6018-qce
36fac71e4eSEmmanuel Vadot              - qcom,ipq8074-qce
37aa1a8ff2SEmmanuel Vadot              - qcom,ipq9574-qce
38fac71e4eSEmmanuel Vadot              - qcom,msm8996-qce
39f126890aSEmmanuel Vadot              - qcom,qcm2290-qce
40fac71e4eSEmmanuel Vadot              - qcom,sdm845-qce
41f126890aSEmmanuel Vadot              - qcom,sm6115-qce
42fac71e4eSEmmanuel Vadot          - const: qcom,ipq4019-qce
43fac71e4eSEmmanuel Vadot          - const: qcom,qce
44fac71e4eSEmmanuel Vadot
45fac71e4eSEmmanuel Vadot      - items:
46fac71e4eSEmmanuel Vadot          - enum:
478d13bc63SEmmanuel Vadot              - qcom,sc7280-qce
48*01950c46SEmmanuel Vadot              - qcom,sm6350-qce
49fac71e4eSEmmanuel Vadot              - qcom,sm8250-qce
50fac71e4eSEmmanuel Vadot              - qcom,sm8350-qce
51fac71e4eSEmmanuel Vadot              - qcom,sm8450-qce
52fac71e4eSEmmanuel Vadot              - qcom,sm8550-qce
538d13bc63SEmmanuel Vadot              - qcom,sm8650-qce
54fac71e4eSEmmanuel Vadot          - const: qcom,sm8150-qce
55fac71e4eSEmmanuel Vadot          - const: qcom,qce
56fac71e4eSEmmanuel Vadot
57fac71e4eSEmmanuel Vadot  reg:
58fac71e4eSEmmanuel Vadot    maxItems: 1
59fac71e4eSEmmanuel Vadot
60fac71e4eSEmmanuel Vadot  clocks:
61f126890aSEmmanuel Vadot    minItems: 1
62f126890aSEmmanuel Vadot    maxItems: 3
63fac71e4eSEmmanuel Vadot
64fac71e4eSEmmanuel Vadot  clock-names:
65f126890aSEmmanuel Vadot    minItems: 1
66f126890aSEmmanuel Vadot    maxItems: 3
67fac71e4eSEmmanuel Vadot
68fac71e4eSEmmanuel Vadot  iommus:
69fac71e4eSEmmanuel Vadot    minItems: 1
70fac71e4eSEmmanuel Vadot    maxItems: 8
71fac71e4eSEmmanuel Vadot    description:
72fac71e4eSEmmanuel Vadot      phandle to apps_smmu node with sid mask.
73fac71e4eSEmmanuel Vadot
74fac71e4eSEmmanuel Vadot  interconnects:
75fac71e4eSEmmanuel Vadot    maxItems: 1
76fac71e4eSEmmanuel Vadot    description:
77fac71e4eSEmmanuel Vadot      Interconnect path between qce crypto and main memory.
78fac71e4eSEmmanuel Vadot
79fac71e4eSEmmanuel Vadot  interconnect-names:
80fac71e4eSEmmanuel Vadot    const: memory
81fac71e4eSEmmanuel Vadot
82fac71e4eSEmmanuel Vadot  dmas:
83fac71e4eSEmmanuel Vadot    items:
84fac71e4eSEmmanuel Vadot      - description: DMA specifiers for rx dma channel.
85fac71e4eSEmmanuel Vadot      - description: DMA specifiers for tx dma channel.
86fac71e4eSEmmanuel Vadot
87fac71e4eSEmmanuel Vadot  dma-names:
88fac71e4eSEmmanuel Vadot    items:
89fac71e4eSEmmanuel Vadot      - const: rx
90fac71e4eSEmmanuel Vadot      - const: tx
91fac71e4eSEmmanuel Vadot
92fac71e4eSEmmanuel VadotallOf:
93fac71e4eSEmmanuel Vadot  - if:
94fac71e4eSEmmanuel Vadot      properties:
95fac71e4eSEmmanuel Vadot        compatible:
96fac71e4eSEmmanuel Vadot          contains:
97fac71e4eSEmmanuel Vadot            enum:
98fac71e4eSEmmanuel Vadot              - qcom,crypto-v5.1
99fac71e4eSEmmanuel Vadot              - qcom,crypto-v5.4
100f126890aSEmmanuel Vadot              - qcom,ipq6018-qce
101f126890aSEmmanuel Vadot              - qcom,ipq8074-qce
1028d13bc63SEmmanuel Vadot              - qcom,ipq9574-qce
103f126890aSEmmanuel Vadot              - qcom,msm8996-qce
104f126890aSEmmanuel Vadot              - qcom,sdm845-qce
105fac71e4eSEmmanuel Vadot    then:
106f126890aSEmmanuel Vadot      properties:
107f126890aSEmmanuel Vadot        clocks:
108f126890aSEmmanuel Vadot          maxItems: 3
109f126890aSEmmanuel Vadot        clock-names:
110f126890aSEmmanuel Vadot          items:
111f126890aSEmmanuel Vadot            - const: iface
112f126890aSEmmanuel Vadot            - const: bus
113f126890aSEmmanuel Vadot            - const: core
114f126890aSEmmanuel Vadot      required:
115f126890aSEmmanuel Vadot        - clocks
116f126890aSEmmanuel Vadot        - clock-names
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot  - if:
119f126890aSEmmanuel Vadot      properties:
120f126890aSEmmanuel Vadot        compatible:
121f126890aSEmmanuel Vadot          contains:
122f126890aSEmmanuel Vadot            enum:
123f126890aSEmmanuel Vadot              - qcom,qcm2290-qce
124f126890aSEmmanuel Vadot              - qcom,sm6115-qce
125f126890aSEmmanuel Vadot    then:
126f126890aSEmmanuel Vadot      properties:
127f126890aSEmmanuel Vadot        clocks:
128f126890aSEmmanuel Vadot          maxItems: 1
129f126890aSEmmanuel Vadot        clock-names:
130f126890aSEmmanuel Vadot          items:
131f126890aSEmmanuel Vadot            - const: core
132fac71e4eSEmmanuel Vadot      required:
133fac71e4eSEmmanuel Vadot        - clocks
134fac71e4eSEmmanuel Vadot        - clock-names
135fac71e4eSEmmanuel Vadot
1368d13bc63SEmmanuel Vadot  - if:
1378d13bc63SEmmanuel Vadot      properties:
1388d13bc63SEmmanuel Vadot        compatible:
1398d13bc63SEmmanuel Vadot          contains:
1408d13bc63SEmmanuel Vadot            enum:
1418d13bc63SEmmanuel Vadot              - qcom,sm8150-qce
1428d13bc63SEmmanuel Vadot    then:
1438d13bc63SEmmanuel Vadot      properties:
1448d13bc63SEmmanuel Vadot        clocks: false
1458d13bc63SEmmanuel Vadot        clock-names: false
1468d13bc63SEmmanuel Vadot
147fac71e4eSEmmanuel Vadotrequired:
148fac71e4eSEmmanuel Vadot  - compatible
149fac71e4eSEmmanuel Vadot  - reg
150fac71e4eSEmmanuel Vadot  - dmas
151fac71e4eSEmmanuel Vadot  - dma-names
152fac71e4eSEmmanuel Vadot
153fac71e4eSEmmanuel VadotadditionalProperties: false
154fac71e4eSEmmanuel Vadot
155fac71e4eSEmmanuel Vadotexamples:
156fac71e4eSEmmanuel Vadot  - |
157fac71e4eSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-apq8084.h>
158fac71e4eSEmmanuel Vadot    crypto-engine@fd45a000 {
159fac71e4eSEmmanuel Vadot        compatible = "qcom,ipq6018-qce", "qcom,ipq4019-qce", "qcom,qce";
160fac71e4eSEmmanuel Vadot        reg = <0xfd45a000 0x6000>;
161fac71e4eSEmmanuel Vadot        clocks = <&gcc GCC_CE2_AHB_CLK>,
162fac71e4eSEmmanuel Vadot                 <&gcc GCC_CE2_AXI_CLK>,
163fac71e4eSEmmanuel Vadot                 <&gcc GCC_CE2_CLK>;
164fac71e4eSEmmanuel Vadot        clock-names = "iface", "bus", "core";
165fac71e4eSEmmanuel Vadot        dmas = <&cryptobam 2>, <&cryptobam 3>;
166fac71e4eSEmmanuel Vadot        dma-names = "rx", "tx";
167fac71e4eSEmmanuel Vadot        iommus = <&apps_smmu 0x584 0x0011>,
168fac71e4eSEmmanuel Vadot                 <&apps_smmu 0x586 0x0011>,
169fac71e4eSEmmanuel Vadot                 <&apps_smmu 0x594 0x0011>,
170fac71e4eSEmmanuel Vadot                 <&apps_smmu 0x596 0x0011>;
171fac71e4eSEmmanuel Vadot    };
172