# STM32 entropy generator driver configuration

# Copyright (c) 2017 Erwin Rol <erwin@erwinrol.com>
# SPDX-License-Identifier: Apache-2.0

DT_COMPAT_ST_STM32_RNG := st,stm32-rng

config ENTROPY_STM32_RNG
	bool "STM32 RNG driver"
	depends on SOC_FAMILY_STM32
	select ENTROPY_HAS_DRIVER
	select USE_STM32_LL_RNG
	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_RNG))
	help
	  This option enables the RNG processor, which is a entropy number
	  generator, based on a continuous analog noise, that provides
	  a entropy 32-bit value to the host when read. It is available for
	  F4 (except STM32F401 & STM32F411), L4, F7 and G4 series.
