# Smartbond TRNG configuration

# Copyright (c) 2023 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0


config ENTROPY_SMARTBOND_TRNG
	bool "Renesas Smartbond MCU Family True Random Number Generator (TRNG) Driver"
	default y
	depends on DT_HAS_RENESAS_SMARTBOND_TRNG_ENABLED
	select ENTROPY_HAS_DRIVER
	help
	  Enable True Random Number Generator (TRNG) driver for Renesas Smartbond MCUs.

if ENTROPY_SMARTBOND_TRNG

config ENTROPY_SMARTBOND_THR_POOL_SIZE
	int "Thread-mode random number pool size"
	range ENTROPY_SMARTBOND_THR_THRESHOLD 256
	default 8
	help
	  Buffer length in bytes used to store entropy bytes generated by the
	  hardware to make them ready for thread mode consumers.
	  Please note, that size of the pool must be a power of 2.

config ENTROPY_SMARTBOND_THR_THRESHOLD
	int "Thread-mode random number pool low-water threshold"
	range 4 255
	help
	  Low water-mark threshold in bytes to trigger entropy generation for
	  thread mode consumers. As soon as the number of available bytes in the
	  buffer goes below this number hardware entropy generation will be
	  started.

config ENTROPY_SMARTBOND_ISR_POOL_SIZE
	int "ISR-mode random number pool size"
	range ENTROPY_SMARTBOND_ISR_THRESHOLD 256
	default 16
	help
	  Buffer length in bytes used to store entropy bytes generated by the
	  hardware to make them ready for ISR consumers.
	  Please note, that size of the pool must be a power of 2.

config ENTROPY_SMARTBOND_ISR_THRESHOLD
	int "ISR-mode random number pool low-water threshold"
	range 12 255
	help
	  Low water-mark threshold in bytes to trigger entropy generation for
	  ISR consumers. As soon as the number of available bytes in the
	  buffer goes below this number hardware entropy generation will be
	  started.

endif # ENTROPY_SMARTBOND_TRNG
