| # Kconfig.nrf5 - nRF5 entropy generator driver configuration |
| # |
| # Copyright (c) 2018 Nordic Semiconductor ASA |
| # Copyright (c) 2017 Exati Tecnologia Ltda. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config ENTROPY_NRF_FORCE_ALT |
| bool |
| depends on SOC_COMPATIBLE_NRF |
| help |
| This option can be enabled to force an alternative implementation |
| of the entropy driver. |
| |
| if !ENTROPY_NRF_FORCE_ALT |
| |
| menuconfig ENTROPY_NRF5_RNG |
| bool "nRF5 RNG driver" |
| depends on HAS_HW_NRF_RNG |
| select ENTROPY_HAS_DRIVER |
| default y |
| help |
| This option enables the RNG peripheral, which is a random number |
| generator, based on internal thermal noise, that provides a |
| random 8-bit value to the host when read. |
| |
| if ENTROPY_NRF5_RNG |
| |
| config ENTROPY_NRF5_BIAS_CORRECTION |
| bool "Enable bias correction (uniform distribution)" |
| help |
| This option enables the RNG bias correction, which guarantees a |
| uniform distribution of 0 and 1. When this option is enabled, the time |
| to generate a byte cannot be guaranteed. |
| |
| config ENTROPY_NRF5_THR_POOL_SIZE |
| int "Thread-mode random number pool size" |
| range ENTROPY_NRF5_THR_THRESHOLD 256 |
| default 8 |
| help |
| Buffer length in bytes used to store entropy bytes generated by the |
| hardware to make them ready for thread mode consumers. |
| Please note, that size of the pool must be a power of 2. |
| |
| config ENTROPY_NRF5_THR_THRESHOLD |
| int "Thread-mode random number pool low-water threshold" |
| range 4 255 |
| help |
| Low water-mark threshold in bytes to trigger entropy generation for |
| thread mode consumers. As soon as the number of available bytes in the |
| buffer goes below this number hardware entropy generation will be |
| started. |
| |
| config ENTROPY_NRF5_ISR_POOL_SIZE |
| int "ISR-mode random number pool size" |
| range ENTROPY_NRF5_ISR_THRESHOLD 256 |
| default 16 |
| help |
| Buffer length in bytes used to store entropy bytes generated by the |
| hardware to make them ready for ISR consumers. |
| Please note, that size of the pool must be a power of 2. |
| |
| config ENTROPY_NRF5_ISR_THRESHOLD |
| int "ISR-mode random number pool low-water threshold" |
| range 12 255 |
| help |
| Low water-mark threshold in bytes to trigger entropy generation for |
| ISR consumers. As soon as the number of available bytes in the |
| buffer goes below this number hardware entropy generation will be |
| started. |
| |
| config ENTROPY_NRF5_PRI |
| int "RNG interrupt priority" |
| range 0 2 if SOC_SERIES_NRF51X |
| range 0 5 if SOC_COMPATIBLE_NRF52X |
| default 2 if SOC_SERIES_NRF51X |
| default 5 if SOC_COMPATIBLE_NRF52X |
| help |
| nRF5X RNG IRQ priority. |
| |
| endif # ENTROPY_NRF5_RNG |
| |
| endif # !ENTROPY_NRF_FORCE_ALT |