xref: /linux/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml (revision 151ebcf0797b1a3ba53c8843dc21748c80e098c7)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/rng/st,stm32-rng.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 RNG
8
9description: |
10  The STM32 hardware random number generator is a simple fixed purpose
11  IP and is fully separated from other crypto functions.
12
13maintainers:
14  - Lionel Debieve <lionel.debieve@foss.st.com>
15
16properties:
17  compatible:
18    enum:
19      - st,stm32-rng
20      - st,stm32mp13-rng
21
22  reg:
23    maxItems: 1
24
25  clocks:
26    maxItems: 1
27
28  resets:
29    maxItems: 1
30
31  clock-error-detect:
32    type: boolean
33    description: If set enable the clock detection management
34
35  st,rng-lock-conf:
36    type: boolean
37    description: If set, the RNG configuration in RNG_CR, RNG_HTCR and
38                  RNG_NSCR will be locked.
39
40  access-controllers:
41    minItems: 1
42    maxItems: 2
43
44required:
45  - compatible
46  - reg
47  - clocks
48
49allOf:
50  - if:
51      properties:
52        compatible:
53          contains:
54            enum:
55              - st,stm32-rng
56    then:
57      properties:
58        st,rng-lock-conf: false
59
60additionalProperties: false
61
62examples:
63  - |
64    #include <dt-bindings/clock/stm32mp1-clks.h>
65    rng@54003000 {
66      compatible = "st,stm32-rng";
67      reg = <0x54003000 0x400>;
68      clocks = <&rcc RNG1_K>;
69    };
70
71...
72