# RV32M1 entropy generator driver configuration

# Copyright 2019 NXP
# SPDX-License-Identifier: Apache-2.0

config ENTROPY_RV32M1_TRNG
	bool "RV32M1 TRNG driver"
	default y
	depends on DT_HAS_OPENISA_RV32M1_TRNG_ENABLED
	select ENTROPY_HAS_DRIVER
	help
	  This option enables the true random number generator (TRNG)
	  driver based on the RV32M1 TRNG driver.

# Don't use use the RV32M1 TRNG as a random source since it can be quite slow.
# Instead, use the software implemented xoshiro RNG.
choice RNG_GENERATOR_CHOICE
	default XOSHIRO_RANDOM_GENERATOR if ENTROPY_RV32M1_TRNG
endchoice
