1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/crypto/starfive,jh7110-crypto.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: StarFive Cryptographic Module
8
9maintainers:
10  - Jia Jie Ho <jiajie.ho@starfivetech.com>
11  - William Qiu <william.qiu@starfivetech.com>
12
13properties:
14  compatible:
15    enum:
16      - starfive,jh7110-crypto
17      - starfive,jh8100-crypto
18
19  reg:
20    maxItems: 1
21
22  clocks:
23    items:
24      - description: Hardware reference clock
25      - description: AHB reference clock
26
27  clock-names:
28    items:
29      - const: hclk
30      - const: ahb
31
32  interrupts:
33    minItems: 1
34    items:
35      - description: SHA2 module irq
36      - description: SM3 module irq
37
38  resets:
39    maxItems: 1
40
41  dmas:
42    items:
43      - description: TX DMA channel
44      - description: RX DMA channel
45
46  dma-names:
47    items:
48      - const: tx
49      - const: rx
50
51required:
52  - compatible
53  - reg
54  - clocks
55  - clock-names
56  - resets
57  - dmas
58  - dma-names
59
60additionalProperties: false
61
62allOf:
63  - if:
64      properties:
65        compatible:
66          const: starfive,jh7110-crypto
67
68    then:
69      properties:
70        interrupts:
71          maxItems: 1
72
73  - if:
74      properties:
75        compatible:
76          const: starfive,jh8100-crypto
77
78    then:
79      properties:
80        interrupts:
81          minItems: 2
82
83examples:
84  - |
85    crypto: crypto@16000000 {
86        compatible = "starfive,jh7110-crypto";
87        reg = <0x16000000 0x4000>;
88        clocks = <&clk 15>, <&clk 16>;
89        clock-names = "hclk", "ahb";
90        interrupts = <28>;
91        resets = <&reset 3>;
92        dmas = <&dma 1 2>,
93               <&dma 0 2>;
94        dma-names = "tx", "rx";
95    };
96...
97