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
17*197286f8SSamuel Holland      - allwinner,sun20i-d1-crypto
18a2460703SCorentin Labbe      - allwinner,sun50i-a64-crypto
19a2460703SCorentin Labbe      - allwinner,sun50i-h5-crypto
20a2460703SCorentin Labbe      - allwinner,sun50i-h6-crypto
21a2460703SCorentin Labbe
22a2460703SCorentin Labbe  reg:
23a2460703SCorentin Labbe    maxItems: 1
24a2460703SCorentin Labbe
25a2460703SCorentin Labbe  interrupts:
26a2460703SCorentin Labbe    maxItems: 1
27a2460703SCorentin Labbe
28a2460703SCorentin Labbe  clocks:
29a2460703SCorentin Labbe    items:
30a2460703SCorentin Labbe      - description: Bus clock
31a2460703SCorentin Labbe      - description: Module clock
32a2460703SCorentin Labbe      - description: MBus clock
33*197286f8SSamuel Holland      - description: TRNG clock (RC oscillator)
34a2460703SCorentin Labbe    minItems: 2
35a2460703SCorentin Labbe
36a2460703SCorentin Labbe  clock-names:
37a2460703SCorentin Labbe    items:
38a2460703SCorentin Labbe      - const: bus
39a2460703SCorentin Labbe      - const: mod
40a2460703SCorentin Labbe      - const: ram
41*197286f8SSamuel Holland      - const: trng
42a2460703SCorentin Labbe    minItems: 2
43a2460703SCorentin Labbe
44a2460703SCorentin Labbe  resets:
45a2460703SCorentin Labbe    maxItems: 1
46a2460703SCorentin Labbe
47a2460703SCorentin Labbeif:
48a2460703SCorentin Labbe  properties:
49a2460703SCorentin Labbe    compatible:
50*197286f8SSamuel Holland      enum:
51*197286f8SSamuel Holland        - allwinner,sun20i-d1-crypto
52*197286f8SSamuel Hollandthen:
53*197286f8SSamuel Holland  properties:
54*197286f8SSamuel Holland    clocks:
55*197286f8SSamuel Holland      minItems: 4
56*197286f8SSamuel Holland    clock-names:
57*197286f8SSamuel Holland      minItems: 4
58*197286f8SSamuel Hollandelse:
59*197286f8SSamuel Holland  if:
60*197286f8SSamuel Holland    properties:
61*197286f8SSamuel Holland      compatible:
62a2460703SCorentin Labbe        const: allwinner,sun50i-h6-crypto
63a2460703SCorentin Labbe  then:
64a2460703SCorentin Labbe    properties:
65a2460703SCorentin Labbe      clocks:
66a2460703SCorentin Labbe        minItems: 3
67*197286f8SSamuel Holland        maxItems: 3
68a2460703SCorentin Labbe      clock-names:
69a2460703SCorentin Labbe        minItems: 3
70*197286f8SSamuel Holland        maxItems: 3
71a2460703SCorentin Labbe  else:
72a2460703SCorentin Labbe    properties:
73a2460703SCorentin Labbe      clocks:
74a2460703SCorentin Labbe        maxItems: 2
75a2460703SCorentin Labbe      clock-names:
76a2460703SCorentin Labbe        maxItems: 2
77a2460703SCorentin Labbe
78a2460703SCorentin Labberequired:
79a2460703SCorentin Labbe  - compatible
80a2460703SCorentin Labbe  - reg
81a2460703SCorentin Labbe  - interrupts
82a2460703SCorentin Labbe  - clocks
83a2460703SCorentin Labbe  - clock-names
84a2460703SCorentin Labbe  - resets
85a2460703SCorentin Labbe
86a2460703SCorentin LabbeadditionalProperties: false
87a2460703SCorentin Labbe
88a2460703SCorentin Labbeexamples:
89a2460703SCorentin Labbe  - |
90a2460703SCorentin Labbe    #include <dt-bindings/interrupt-controller/arm-gic.h>
91a2460703SCorentin Labbe    #include <dt-bindings/clock/sun50i-a64-ccu.h>
92a2460703SCorentin Labbe    #include <dt-bindings/reset/sun50i-a64-ccu.h>
93a2460703SCorentin Labbe
94a2460703SCorentin Labbe    crypto: crypto@1c15000 {
95a2460703SCorentin Labbe      compatible = "allwinner,sun8i-h3-crypto";
96a2460703SCorentin Labbe      reg = <0x01c15000 0x1000>;
97a2460703SCorentin Labbe      interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
98a2460703SCorentin Labbe      clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
99a2460703SCorentin Labbe      clock-names = "bus", "mod";
100a2460703SCorentin Labbe      resets = <&ccu RST_BUS_CE>;
101a2460703SCorentin Labbe    };
102