xref: /linux/Documentation/devicetree/bindings/crypto/allwinner,sun8i-ce.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1a2460703SCorentin Labbe# SPDX-License-Identifier: GPL-2.0
2a2460703SCorentin Labbe%YAML 1.2
3a2460703SCorentin Labbe---
4a2460703SCorentin Labbe$id: http://devicetree.org/schemas/crypto/allwinner,sun8i-ce.yaml#
5a2460703SCorentin Labbe$schema: http://devicetree.org/meta-schemas/core.yaml#
6a2460703SCorentin Labbe
7a2460703SCorentin Labbetitle: Allwinner Crypto Engine driver
8a2460703SCorentin Labbe
9a2460703SCorentin Labbemaintainers:
10a2460703SCorentin Labbe  - Corentin Labbe <clabbe.montjoie@gmail.com>
11a2460703SCorentin Labbe
12a2460703SCorentin Labbeproperties:
13a2460703SCorentin Labbe  compatible:
14a2460703SCorentin Labbe    enum:
15a2460703SCorentin Labbe      - allwinner,sun8i-h3-crypto
16a2460703SCorentin Labbe      - allwinner,sun8i-r40-crypto
17197286f8SSamuel Holland      - allwinner,sun20i-d1-crypto
18a2460703SCorentin Labbe      - allwinner,sun50i-a64-crypto
19a2460703SCorentin Labbe      - allwinner,sun50i-h5-crypto
20a2460703SCorentin Labbe      - allwinner,sun50i-h6-crypto
21*996f8a96SAndre Przywara      - allwinner,sun50i-h616-crypto
22a2460703SCorentin Labbe
23a2460703SCorentin Labbe  reg:
24a2460703SCorentin Labbe    maxItems: 1
25a2460703SCorentin Labbe
26a2460703SCorentin Labbe  interrupts:
27a2460703SCorentin Labbe    maxItems: 1
28a2460703SCorentin Labbe
29a2460703SCorentin Labbe  clocks:
30a2460703SCorentin Labbe    items:
31a2460703SCorentin Labbe      - description: Bus clock
32a2460703SCorentin Labbe      - description: Module clock
33a2460703SCorentin Labbe      - description: MBus clock
34197286f8SSamuel Holland      - description: TRNG clock (RC oscillator)
35a2460703SCorentin Labbe    minItems: 2
36a2460703SCorentin Labbe
37a2460703SCorentin Labbe  clock-names:
38a2460703SCorentin Labbe    items:
39a2460703SCorentin Labbe      - const: bus
40a2460703SCorentin Labbe      - const: mod
41a2460703SCorentin Labbe      - const: ram
42197286f8SSamuel Holland      - const: trng
43a2460703SCorentin Labbe    minItems: 2
44a2460703SCorentin Labbe
45a2460703SCorentin Labbe  resets:
46a2460703SCorentin Labbe    maxItems: 1
47a2460703SCorentin Labbe
48a2460703SCorentin Labbeif:
49a2460703SCorentin Labbe  properties:
50a2460703SCorentin Labbe    compatible:
51197286f8SSamuel Holland      enum:
52197286f8SSamuel Holland        - allwinner,sun20i-d1-crypto
53*996f8a96SAndre Przywara        - allwinner,sun50i-h616-crypto
54197286f8SSamuel Hollandthen:
55197286f8SSamuel Holland  properties:
56197286f8SSamuel Holland    clocks:
57197286f8SSamuel Holland      minItems: 4
58197286f8SSamuel Holland    clock-names:
59197286f8SSamuel Holland      minItems: 4
60197286f8SSamuel Hollandelse:
61197286f8SSamuel Holland  if:
62197286f8SSamuel Holland    properties:
63197286f8SSamuel Holland      compatible:
64a2460703SCorentin Labbe        const: allwinner,sun50i-h6-crypto
65a2460703SCorentin Labbe  then:
66a2460703SCorentin Labbe    properties:
67a2460703SCorentin Labbe      clocks:
68a2460703SCorentin Labbe        minItems: 3
69197286f8SSamuel Holland        maxItems: 3
70a2460703SCorentin Labbe      clock-names:
71a2460703SCorentin Labbe        minItems: 3
72197286f8SSamuel Holland        maxItems: 3
73a2460703SCorentin Labbe  else:
74a2460703SCorentin Labbe    properties:
75a2460703SCorentin Labbe      clocks:
76a2460703SCorentin Labbe        maxItems: 2
77a2460703SCorentin Labbe      clock-names:
78a2460703SCorentin Labbe        maxItems: 2
79a2460703SCorentin Labbe
80a2460703SCorentin Labberequired:
81a2460703SCorentin Labbe  - compatible
82a2460703SCorentin Labbe  - reg
83a2460703SCorentin Labbe  - interrupts
84a2460703SCorentin Labbe  - clocks
85a2460703SCorentin Labbe  - clock-names
86a2460703SCorentin Labbe  - resets
87a2460703SCorentin Labbe
88a2460703SCorentin LabbeadditionalProperties: false
89a2460703SCorentin Labbe
90a2460703SCorentin Labbeexamples:
91a2460703SCorentin Labbe  - |
92a2460703SCorentin Labbe    #include <dt-bindings/interrupt-controller/arm-gic.h>
93a2460703SCorentin Labbe    #include <dt-bindings/clock/sun50i-a64-ccu.h>
94a2460703SCorentin Labbe    #include <dt-bindings/reset/sun50i-a64-ccu.h>
95a2460703SCorentin Labbe
96a2460703SCorentin Labbe    crypto: crypto@1c15000 {
97a2460703SCorentin Labbe      compatible = "allwinner,sun8i-h3-crypto";
98a2460703SCorentin Labbe      reg = <0x01c15000 0x1000>;
99a2460703SCorentin Labbe      interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
100a2460703SCorentin Labbe      clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
101a2460703SCorentin Labbe      clock-names = "bus", "mod";
102a2460703SCorentin Labbe      resets = <&ccu RST_BUS_CE>;
103a2460703SCorentin Labbe    };
104