blob: f1a9da8bff7a7506c97b26fb902e47efb8f487cf [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/crypto/rockchip,rk3288-crypto.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip Electronics Security Accelerator
8
9maintainers:
10 - Heiko Stuebner <heiko@sntech.de>
11
12properties:
13 compatible:
14 enum:
15 - rockchip,rk3288-crypto
16 - rockchip,rk3328-crypto
17 - rockchip,rk3399-crypto
18
19 reg:
20 maxItems: 1
21
22 interrupts:
23 maxItems: 1
24
25 clocks:
26 minItems: 3
27 maxItems: 4
28
29 clock-names:
30 minItems: 3
31 maxItems: 4
32
33 resets:
34 minItems: 1
35 maxItems: 3
36
37 reset-names:
38 minItems: 1
39 maxItems: 3
40
41allOf:
42 - if:
43 properties:
44 compatible:
45 contains:
46 const: rockchip,rk3288-crypto
47 then:
48 properties:
49 clocks:
50 minItems: 4
51 clock-names:
52 items:
53 - const: aclk
54 - const: hclk
55 - const: sclk
56 - const: apb_pclk
57 resets:
58 maxItems: 1
59 reset-names:
60 items:
61 - const: crypto-rst
62 - if:
63 properties:
64 compatible:
65 contains:
66 const: rockchip,rk3328-crypto
67 then:
68 properties:
69 clocks:
70 maxItems: 3
71 clock-names:
72 items:
73 - const: hclk_master
74 - const: hclk_slave
75 - const: sclk
76 resets:
77 maxItems: 1
78 reset-names:
79 items:
80 - const: crypto-rst
81 - if:
82 properties:
83 compatible:
84 contains:
85 const: rockchip,rk3399-crypto
86 then:
87 properties:
88 clocks:
89 maxItems: 3
90 clock-names:
91 items:
92 - const: hclk_master
93 - const: hclk_slave
94 - const: sclk
95 resets:
96 minItems: 3
97 reset-names:
98 items:
99 - const: master
100 - const: slave
101 - const: crypto-rst
102
103required:
104 - compatible
105 - reg
106 - interrupts
107 - clocks
108 - clock-names
109 - resets
110 - reset-names
111
112additionalProperties: false
113
114examples:
115 - |
116 #include <dt-bindings/interrupt-controller/arm-gic.h>
117 #include <dt-bindings/clock/rk3288-cru.h>
118 crypto@ff8a0000 {
119 compatible = "rockchip,rk3288-crypto";
120 reg = <0xff8a0000 0x4000>;
121 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
122 clocks = <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>,
123 <&cru SCLK_CRYPTO>, <&cru ACLK_DMAC1>;
124 clock-names = "aclk", "hclk", "sclk", "apb_pclk";
125 resets = <&cru SRST_CRYPTO>;
126 reset-names = "crypto-rst";
127 };