xref: /linux/Documentation/devicetree/bindings/rng/mtk-rng.yaml (revision 26b8eb8a98c18b2ee4ea76d99fa2b2a5ccbc1b6c)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/rng/mtk-rng.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek Random number generator
8
9maintainers:
10  - Sean Wang <sean.wang@mediatek.com>
11
12properties:
13  $nodename:
14    pattern: "^rng(@[0-9a-f]+)?$"
15
16  compatible:
17    oneOf:
18      - enum:
19          - mediatek,mt7623-rng
20          - mediatek,mt7981-rng
21      - items:
22          - enum:
23              - mediatek,mt7622-rng
24              - mediatek,mt7629-rng
25              - mediatek,mt7986-rng
26              - mediatek,mt8365-rng
27              - mediatek,mt8516-rng
28          - const: mediatek,mt7623-rng
29      - items:
30          - enum:
31              - mediatek,mt7987-rng
32              - mediatek,mt7988-rng
33          - const: mediatek,mt7981-rng
34
35  reg:
36    maxItems: 1
37
38  clocks:
39    maxItems: 1
40
41  clock-names:
42    items:
43      - const: rng
44
45required:
46  - compatible
47
48allOf:
49  - if:
50      properties:
51        compatible:
52          contains:
53            const: mediatek,mt7981-rng
54    then:
55      properties:
56        reg: false
57        clocks: false
58        clock-names: false
59    else:
60      required:
61        - reg
62        - clocks
63        - clock-names
64
65additionalProperties: false
66
67examples:
68  - |
69    #include <dt-bindings/clock/mt2701-clk.h>
70
71    rng@1020f000 {
72        compatible = "mediatek,mt7623-rng";
73        reg = <0x1020f000 0x1000>;
74        clocks = <&infracfg CLK_INFRA_TRNG>;
75        clock-names = "rng";
76    };
77  - |
78    rng {
79        compatible = "mediatek,mt7981-rng";
80    };
81