# Kconfig - entropy generator driver configuration options

#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig ENTROPY_GENERATOR
	bool "Entropy Drivers"
	help
	  Include entropy drivers in system config.

if ENTROPY_GENERATOR

source "drivers/entropy/Kconfig.cc13xx_cc26xx"
source "drivers/entropy/Kconfig.mcux"
source "drivers/entropy/Kconfig.stm32"
source "drivers/entropy/Kconfig.esp32"
source "drivers/entropy/Kconfig.nrf5"
source "drivers/entropy/Kconfig.sam"
source "drivers/entropy/Kconfig.native_posix"

config ENTROPY_HAS_DRIVER
	bool
	help
	  This is an option to be enabled by individual entropy driver
	  to signal that there is a true entropy driver.

if !HAS_DTS_ENTROPY

config ENTROPY_NAME
	string "Entropy Device Name"
	default "ENTROPY_0"
	help
	  Specify the device name to be used for the ENTROPY driver.
endif

endif
