# 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
	depends on DT_HAS_ZEPHYR_PSA_CRYPTO_RNG_ENABLED
	select ENTROPY_HAS_DRIVER
	default y
	help
	  Enable the PSA Crypto source Entropy driver.
