1# Copyright (c) 2020, Linaro Limited
2# SPDX-License-Identifier: Apache-2.0
3
4description: STM32 Random Number Generator
5
6compatible: "st,stm32-rng"
7
8include: base.yaml
9
10properties:
11  reg:
12    required: true
13
14  clocks:
15    required: true
16    description: |
17         Specifies the clock line to be enabled in clock controller as well as
18         the clock domain used, for instance:
19                   <&rcc STM32_SRC_MSI CLK48_SEL(3)> /* RNG clock domain set to MSI */
20         A correctly configured domain clock is required to allow the integrated low
21         sampling clock detection mechanism to behave properly.
22         In the provided example, MSI should be configured to provide 48Mhz clock.
23
24  nist-config:
25    type: int
26    description: |
27         This property is used to configure the RNG_CR for the NIST certification
28         The validation conditions are following the refMan
29         to certify NIST SP800-90B. RNG clock source must be 48MHz.
30         This config is valid with some STM32 families
31         and when Conditioning Soft Reset (RNG_CR_CONDRST bit) exists.
32         The value is directly mapped from the RNG configuration (A) table.
33         The Health Register (health-test-config property) must correspond
34         to this table configuration.
35         On the stm32U5, the ARDIS bit7 is also written.
36
37  health-test-magic:
38    type: int
39    description: |
40         Magic Number to be written to Health Test Configuration Register (HTCR)
41         prior to real configuration, if any.
42
43  health-test-config:
44    type: int
45    description: |
46         Heath Test Configuration, necessary to have proper RNG behavior,
47         when available.
48