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