# Copyright (c) 2022, Commonwealth Scientific and Industrial Research
# Organisation (CSIRO) ABN 41 687 119 230.
# SPDX-License-Identifier: Apache-2.0

config ENTROPY_BT_HCI
	bool "Bluetooth HCI RNG driver"
	depends on BT_HCI
	select ENTROPY_HAS_DRIVER
	help
	  Enable Random Number Generator from a Bluetooth HCI device.

# Don't use use Bluetooth HCI as a random source since it will be slow.
# Instead, use the software implemented xoshiro RNG.
choice RNG_GENERATOR_CHOICE
	default XOSHIRO_RANDOM_GENERATOR if ENTROPY_BT_HCI
endchoice
