xref: /linux/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml (revision 4b660dbd9ee2059850fd30e0df420ca7a38a1856)
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
40required:
41  - compatible
42  - reg
43  - clocks
44
45allOf:
46  - if:
47      properties:
48        compatible:
49          contains:
50            enum:
51              - st,stm32-rng
52    then:
53      properties:
54        st,rng-lock-conf: false
55
56additionalProperties: false
57
58examples:
59  - |
60    #include <dt-bindings/clock/stm32mp1-clks.h>
61    rng@54003000 {
62      compatible = "st,stm32-rng";
63      reg = <0x54003000 0x400>;
64      clocks = <&rcc RNG1_K>;
65    };
66
67...
68