# gecko entropy generator driver configuration

# Copyright (c) 2020 Lemonbeat GmbH
# Copyright (c) 2021 Safran Passenger Innovations Germany GmbH
# SPDX-License-Identifier: Apache-2.0

config ENTROPY_GECKO_TRNG
	bool "GECKO TRNG driver"
	default y
	depends on DT_HAS_SILABS_GECKO_TRNG_ENABLED
	select ENTROPY_HAS_DRIVER
	help
	  This option enables the true random number generator
	  driver based on the TRNG.

config ENTROPY_GECKO_SE
	bool "GECKO SE driver"
	default y
	depends on DT_HAS_SILABS_GECKO_SEMAILBOX_ENABLED
	select ENTROPY_HAS_DRIVER
	default y
	help
	  This option enables the true random number generator
	  driver based on the Secure Element (SE) module.
