xref: /openbmc/linux/Documentation/devicetree/bindings/crypto/qcom-qce.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1ac25b471SBhupesh Sharma# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ac25b471SBhupesh Sharma%YAML 1.2
3ac25b471SBhupesh Sharma---
4ac25b471SBhupesh Sharma$id: http://devicetree.org/schemas/crypto/qcom-qce.yaml#
5ac25b471SBhupesh Sharma$schema: http://devicetree.org/meta-schemas/core.yaml#
6ac25b471SBhupesh Sharma
7ac25b471SBhupesh Sharmatitle: Qualcomm crypto engine driver
8ac25b471SBhupesh Sharma
9ac25b471SBhupesh Sharmamaintainers:
10ac25b471SBhupesh Sharma  - Bhupesh Sharma <bhupesh.sharma@linaro.org>
11ac25b471SBhupesh Sharma
12ac25b471SBhupesh Sharmadescription:
13ac25b471SBhupesh Sharma  This document defines the binding for the QCE crypto
14ac25b471SBhupesh Sharma  controller found on Qualcomm parts.
15ac25b471SBhupesh Sharma
16ac25b471SBhupesh Sharmaproperties:
17ac25b471SBhupesh Sharma  compatible:
1800f3bc2dSVladimir Zapolskiy    oneOf:
1900f3bc2dSVladimir Zapolskiy      - const: qcom,crypto-v5.1
2000f3bc2dSVladimir Zapolskiy        deprecated: true
2100f3bc2dSVladimir Zapolskiy        description: Kept only for ABI backward compatibility
2200f3bc2dSVladimir Zapolskiy
2300f3bc2dSVladimir Zapolskiy      - const: qcom,crypto-v5.4
2400f3bc2dSVladimir Zapolskiy        deprecated: true
2500f3bc2dSVladimir Zapolskiy        description: Kept only for ABI backward compatibility
2600f3bc2dSVladimir Zapolskiy
2700f3bc2dSVladimir Zapolskiy      - items:
2800f3bc2dSVladimir Zapolskiy          - enum:
29b3b266faSBhupesh Sharma              - qcom,ipq4019-qce
30b3b266faSBhupesh Sharma              - qcom,sm8150-qce
31b3b266faSBhupesh Sharma          - const: qcom,qce
32b3b266faSBhupesh Sharma
33b3b266faSBhupesh Sharma      - items:
34b3b266faSBhupesh Sharma          - enum:
3500f3bc2dSVladimir Zapolskiy              - qcom,ipq6018-qce
3600f3bc2dSVladimir Zapolskiy              - qcom,ipq8074-qce
37*1f5ce01dSAnusha Rao              - qcom,ipq9574-qce
3800f3bc2dSVladimir Zapolskiy              - qcom,msm8996-qce
391d217fa2SBhupesh Sharma              - qcom,qcm2290-qce
4000f3bc2dSVladimir Zapolskiy              - qcom,sdm845-qce
411d217fa2SBhupesh Sharma              - qcom,sm6115-qce
4200f3bc2dSVladimir Zapolskiy          - const: qcom,ipq4019-qce
4300f3bc2dSVladimir Zapolskiy          - const: qcom,qce
4400f3bc2dSVladimir Zapolskiy
4500f3bc2dSVladimir Zapolskiy      - items:
4600f3bc2dSVladimir Zapolskiy          - enum:
4700f3bc2dSVladimir Zapolskiy              - qcom,sm8250-qce
4800f3bc2dSVladimir Zapolskiy              - qcom,sm8350-qce
4900f3bc2dSVladimir Zapolskiy              - qcom,sm8450-qce
5000f3bc2dSVladimir Zapolskiy              - qcom,sm8550-qce
5100f3bc2dSVladimir Zapolskiy          - const: qcom,sm8150-qce
5200f3bc2dSVladimir Zapolskiy          - const: qcom,qce
53ac25b471SBhupesh Sharma
54ac25b471SBhupesh Sharma  reg:
55ac25b471SBhupesh Sharma    maxItems: 1
56ac25b471SBhupesh Sharma
57ac25b471SBhupesh Sharma  clocks:
581d217fa2SBhupesh Sharma    minItems: 1
591d217fa2SBhupesh Sharma    maxItems: 3
60ac25b471SBhupesh Sharma
61ac25b471SBhupesh Sharma  clock-names:
621d217fa2SBhupesh Sharma    minItems: 1
631d217fa2SBhupesh Sharma    maxItems: 3
64ac25b471SBhupesh Sharma
65c168dc4bSBhupesh Sharma  iommus:
66c168dc4bSBhupesh Sharma    minItems: 1
67c168dc4bSBhupesh Sharma    maxItems: 8
68c168dc4bSBhupesh Sharma    description:
69c168dc4bSBhupesh Sharma      phandle to apps_smmu node with sid mask.
70c168dc4bSBhupesh Sharma
711727c0edSBhupesh Sharma  interconnects:
721727c0edSBhupesh Sharma    maxItems: 1
731727c0edSBhupesh Sharma    description:
741727c0edSBhupesh Sharma      Interconnect path between qce crypto and main memory.
751727c0edSBhupesh Sharma
761727c0edSBhupesh Sharma  interconnect-names:
771727c0edSBhupesh Sharma    const: memory
781727c0edSBhupesh Sharma
79ac25b471SBhupesh Sharma  dmas:
80ac25b471SBhupesh Sharma    items:
81ac25b471SBhupesh Sharma      - description: DMA specifiers for rx dma channel.
82ac25b471SBhupesh Sharma      - description: DMA specifiers for tx dma channel.
83ac25b471SBhupesh Sharma
84ac25b471SBhupesh Sharma  dma-names:
85ac25b471SBhupesh Sharma    items:
86ac25b471SBhupesh Sharma      - const: rx
87ac25b471SBhupesh Sharma      - const: tx
88ac25b471SBhupesh Sharma
89faf8ccedSVladimir ZapolskiyallOf:
90faf8ccedSVladimir Zapolskiy  - if:
91faf8ccedSVladimir Zapolskiy      properties:
92faf8ccedSVladimir Zapolskiy        compatible:
93faf8ccedSVladimir Zapolskiy          contains:
94faf8ccedSVladimir Zapolskiy            enum:
95faf8ccedSVladimir Zapolskiy              - qcom,crypto-v5.1
96faf8ccedSVladimir Zapolskiy              - qcom,crypto-v5.4
971d217fa2SBhupesh Sharma              - qcom,ipq6018-qce
981d217fa2SBhupesh Sharma              - qcom,ipq8074-qce
991d217fa2SBhupesh Sharma              - qcom,msm8996-qce
1001d217fa2SBhupesh Sharma              - qcom,sdm845-qce
101faf8ccedSVladimir Zapolskiy    then:
1021d217fa2SBhupesh Sharma      properties:
1031d217fa2SBhupesh Sharma        clocks:
1041d217fa2SBhupesh Sharma          maxItems: 3
1051d217fa2SBhupesh Sharma        clock-names:
1061d217fa2SBhupesh Sharma          items:
1071d217fa2SBhupesh Sharma            - const: iface
1081d217fa2SBhupesh Sharma            - const: bus
1091d217fa2SBhupesh Sharma            - const: core
1101d217fa2SBhupesh Sharma      required:
1111d217fa2SBhupesh Sharma        - clocks
1121d217fa2SBhupesh Sharma        - clock-names
1131d217fa2SBhupesh Sharma
1141d217fa2SBhupesh Sharma  - if:
1151d217fa2SBhupesh Sharma      properties:
1161d217fa2SBhupesh Sharma        compatible:
1171d217fa2SBhupesh Sharma          contains:
1181d217fa2SBhupesh Sharma            enum:
1191d217fa2SBhupesh Sharma              - qcom,qcm2290-qce
1201d217fa2SBhupesh Sharma              - qcom,sm6115-qce
1211d217fa2SBhupesh Sharma    then:
1221d217fa2SBhupesh Sharma      properties:
1231d217fa2SBhupesh Sharma        clocks:
1241d217fa2SBhupesh Sharma          maxItems: 1
1251d217fa2SBhupesh Sharma        clock-names:
1261d217fa2SBhupesh Sharma          items:
1271d217fa2SBhupesh Sharma            - const: core
128faf8ccedSVladimir Zapolskiy      required:
129faf8ccedSVladimir Zapolskiy        - clocks
130faf8ccedSVladimir Zapolskiy        - clock-names
131faf8ccedSVladimir Zapolskiy
132ac25b471SBhupesh Sharmarequired:
133ac25b471SBhupesh Sharma  - compatible
134ac25b471SBhupesh Sharma  - reg
135ac25b471SBhupesh Sharma  - dmas
136ac25b471SBhupesh Sharma  - dma-names
137ac25b471SBhupesh Sharma
138ac25b471SBhupesh SharmaadditionalProperties: false
139ac25b471SBhupesh Sharma
140ac25b471SBhupesh Sharmaexamples:
141ac25b471SBhupesh Sharma  - |
142ac25b471SBhupesh Sharma    #include <dt-bindings/clock/qcom,gcc-apq8084.h>
143ac25b471SBhupesh Sharma    crypto-engine@fd45a000 {
14400f3bc2dSVladimir Zapolskiy        compatible = "qcom,ipq6018-qce", "qcom,ipq4019-qce", "qcom,qce";
145ac25b471SBhupesh Sharma        reg = <0xfd45a000 0x6000>;
146ac25b471SBhupesh Sharma        clocks = <&gcc GCC_CE2_AHB_CLK>,
147ac25b471SBhupesh Sharma                 <&gcc GCC_CE2_AXI_CLK>,
148ac25b471SBhupesh Sharma                 <&gcc GCC_CE2_CLK>;
149ac25b471SBhupesh Sharma        clock-names = "iface", "bus", "core";
150ac25b471SBhupesh Sharma        dmas = <&cryptobam 2>, <&cryptobam 3>;
151ac25b471SBhupesh Sharma        dma-names = "rx", "tx";
152c168dc4bSBhupesh Sharma        iommus = <&apps_smmu 0x584 0x0011>,
153c168dc4bSBhupesh Sharma                 <&apps_smmu 0x586 0x0011>,
154c168dc4bSBhupesh Sharma                 <&apps_smmu 0x594 0x0011>,
155c168dc4bSBhupesh Sharma                 <&apps_smmu 0x596 0x0011>;
156ac25b471SBhupesh Sharma    };
157