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