xref: /freebsd/sys/contrib/device-tree/Bindings/rng/st,stm32-rng.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
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:
1884943d6fSEmmanuel Vadot    enum:
1984943d6fSEmmanuel Vadot      - st,stm32-rng
2084943d6fSEmmanuel 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
3584943d6fSEmmanuel Vadot  st,rng-lock-conf:
3684943d6fSEmmanuel Vadot    type: boolean
3784943d6fSEmmanuel Vadot    description: If set, the RNG configuration in RNG_CR, RNG_HTCR and
3884943d6fSEmmanuel Vadot                  RNG_NSCR will be locked.
3984943d6fSEmmanuel Vadot
40*7d0873ebSEmmanuel Vadot  access-controllers:
41*7d0873ebSEmmanuel Vadot    minItems: 1
42*7d0873ebSEmmanuel Vadot    maxItems: 2
43*7d0873ebSEmmanuel Vadot
44c66ec88fSEmmanuel Vadotrequired:
45c66ec88fSEmmanuel Vadot  - compatible
46c66ec88fSEmmanuel Vadot  - reg
47c66ec88fSEmmanuel Vadot  - clocks
48c66ec88fSEmmanuel Vadot
4984943d6fSEmmanuel VadotallOf:
5084943d6fSEmmanuel Vadot  - if:
5184943d6fSEmmanuel Vadot      properties:
5284943d6fSEmmanuel Vadot        compatible:
5384943d6fSEmmanuel Vadot          contains:
5484943d6fSEmmanuel Vadot            enum:
5584943d6fSEmmanuel Vadot              - st,stm32-rng
5684943d6fSEmmanuel Vadot    then:
5784943d6fSEmmanuel Vadot      properties:
5884943d6fSEmmanuel Vadot        st,rng-lock-conf: false
5984943d6fSEmmanuel Vadot
60c66ec88fSEmmanuel VadotadditionalProperties: false
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadotexamples:
63c66ec88fSEmmanuel Vadot  - |
64c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/stm32mp1-clks.h>
65c66ec88fSEmmanuel Vadot    rng@54003000 {
66c66ec88fSEmmanuel Vadot      compatible = "st,stm32-rng";
67c66ec88fSEmmanuel Vadot      reg = <0x54003000 0x400>;
68c66ec88fSEmmanuel Vadot      clocks = <&rcc RNG1_K>;
69c66ec88fSEmmanuel Vadot    };
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot...
72