# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

# PSA Crypto Random source configuration options

config ENTROPY_PSA_CRYPTO_RNG
	bool "PSA Crypto Random source Entropy driver"
	depends on BUILD_WITH_TFM
	select ENTROPY_HAS_DRIVER
	help
	  Enable the PSA Crypto source Entropy driver.
