1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/crypto/allwinner,sun8i-ce.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner Crypto Engine driver
8
9maintainers:
10  - Corentin Labbe <clabbe.montjoie@gmail.com>
11
12properties:
13  compatible:
14    enum:
15      - allwinner,sun8i-h3-crypto
16      - allwinner,sun8i-r40-crypto
17      - allwinner,sun50i-a64-crypto
18      - allwinner,sun50i-h5-crypto
19      - allwinner,sun50i-h6-crypto
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  clocks:
28    items:
29      - description: Bus clock
30      - description: Module clock
31      - description: MBus clock
32    minItems: 2
33
34  clock-names:
35    items:
36      - const: bus
37      - const: mod
38      - const: ram
39    minItems: 2
40
41  resets:
42    maxItems: 1
43
44if:
45  properties:
46    compatible:
47      const: allwinner,sun50i-h6-crypto
48then:
49  properties:
50    clocks:
51      minItems: 3
52    clock-names:
53      minItems: 3
54else:
55  properties:
56    clocks:
57      maxItems: 2
58    clock-names:
59      maxItems: 2
60
61required:
62  - compatible
63  - reg
64  - interrupts
65  - clocks
66  - clock-names
67  - resets
68
69additionalProperties: false
70
71examples:
72  - |
73    #include <dt-bindings/interrupt-controller/arm-gic.h>
74    #include <dt-bindings/clock/sun50i-a64-ccu.h>
75    #include <dt-bindings/reset/sun50i-a64-ccu.h>
76
77    crypto: crypto@1c15000 {
78      compatible = "allwinner,sun8i-h3-crypto";
79      reg = <0x01c15000 0x1000>;
80      interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
81      clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
82      clock-names = "bus", "mod";
83      resets = <&ccu RST_BUS_CE>;
84    };
85