arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / crypto / rockchip,rk3288-crypto.yaml
1 # 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
7 title: Rockchip Electronics Security Accelerator
8
9 maintainers:
10   - Heiko Stuebner <heiko@sntech.de>
11
12 properties:
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
41 allOf:
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
103 required:
104   - compatible
105   - reg
106   - interrupts
107   - clocks
108   - clock-names
109   - resets
110   - reset-names
111
112 additionalProperties: false
113
114 examples:
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     };