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