# RV32M1 entropy generator driver configuration

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

menuconfig ENTROPY_RV32M1_TRNG
	bool "RV32M1 TRNG driver"
	depends on ENTROPY_GENERATOR && SOC_OPENISA_RV32M1_RISCV32
	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 xoroshiro RNG.
choice RNG_GENERATOR_CHOICE
	default XOROSHIRO_RANDOM_GENERATOR if ENTROPY_RV32M1_TRNG
endchoice
