# Kconfig.mcux - mcux random generator driver configuration
#
# Copyright (c) 2016 ARM Ltd.
#
# SPDX-License-Identifier: Apache-2.0

menuconfig RANDOM_MCUX_RNGA
	bool "MCUX RNGA driver"
	depends on RANDOM_GENERATOR && HAS_MCUX_RNGA
	default n
	select RANDOM_HAS_DRIVER
	help
	  This option enables the random number generator accelerator (RNGA)
	  driver based on the MCUX RNGA driver.

menuconfig RANDOM_MCUX_TRNG
	bool "MCUX TRNG driver"
	depends on RANDOM_GENERATOR && HAS_MCUX_TRNG
	default n
	select RANDOM_HAS_DRIVER
	help
	  This option enables the true random number generator (TRNG)
	  driver based on the MCUX TRNG driver.
