# SPDX-License-Identifier: GPL-2.0-only
menuconfig HWRNG
	bool "HWRNG Support"
	help
	  Support for HWRNG(Hardware Random Number Generator) devices.

	  If unsure, say no.

if HWRNG

config HW_RANDOM_TIMERIOMEM
	tristate "Timer IOMEM HW Random Number Generator support"
	help
	  This driver provides barebox support for a generic Random
	  Number Generator used by reading a 'dumb' iomem address that
	  is to be read no faster than, for example, once a second.

config HWRNG_MXC_RNGC
	tristate "Freescale i.MX RNGC Random Number Generator"
	depends on ARCH_IMX25 || ARCH_IMX35 || ARCH_IMX53 || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on some Freescale i.MX processors.

config HWRNG_STM32
	tristate "STM32 Random Number Generator"
	depends on ARCH_STM32 || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on the STM32 family of MPUs and MCUs.

config HWRNG_DEV_RANDOM
	tristate "Linux /dev/urandom RNG"
	depends on SANDBOX
	default y
	help
	  This driver allows use of the host provided /dev/urandom
	  as barebox HWRNGs.

config HW_RANDOM_VIRTIO
	tristate "VirtIO Random Number Generator support"
	depends on VIRTIO
	help
	  This driver provides guest-side support for the virtual Random Number
	  Generator hardware.

config HW_RANDOM_STARFIVE
	tristate "StarFive Random Number Generator"
	depends on SOC_STARFIVE || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on the StarFive family of SoCs.

config HW_RANDOM_EFI
	tristate "EFI Random Number Generator"
	depends on EFI
	help
	  This driver provides barebox support for the Random Number
	  Generator Protocol offered by EFI firmware

config HW_RANDOM_OPTEE
	tristate "OP-TEE based Random Number Generator support"
	depends on OPTEE
	help
	  This driver provides support for OP-TEE based Random Number
	  Generator on ARM SoCs where hardware entropy sources are not
	  accessible to normal world (barebox and e.g. Linux after it).

config HW_RANDOM_ATMEL
	tristate "Atmel Random Number Generator support"
	depends on ARCH_AT91 || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on Atmel AT91 devices.

config HW_RANDOM_BCM2835
	tristate "Broadcom BCM2835/BCM63xx Random Number Generator support"
	depends on ARCH_BCM283X || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on the Broadcom BCM2835 SoCs.

config HW_RANDOM_IPROC_RNG200
	tristate "Broadcom iProc/STB RNG200 support"
	depends on ARCH_BCM283X || COMPILE_TEST
	help
	  This driver provides barebox support for the RNG200
	  hardware found on the BCM2711.

config HW_RANDOM_ROCKCHIP
	tristate "Rockchip Random Number Generator support"
	depends on ARCH_ROCKCHIP || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on Rockchip cpus.

config HW_RANDOM_OMAP
	tristate "OMAP Random Number Generator support"
	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
	help
	  This driver provides barebox support for the Random Number
	  Generator hardware found on OMAP2/3/4/5, AM33xx/AM43xx
	  multimedia processors, and Marvell Armada 7k/8k SoCs.

endif
