| # | 
 | # Hardware Random Number Generator (RNG) configuration | 
 | # | 
 |  | 
 | menuconfig HW_RANDOM | 
 | 	tristate "Hardware Random Number Generator Core support" | 
 | 	default m | 
 | 	---help--- | 
 | 	  Hardware Random Number Generator Core infrastructure. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called rng-core.  This provides a device | 
 | 	  that's usually called /dev/hwrng, and which exposes one | 
 | 	  of possibly several hardware random number generators. | 
 |  | 
 | 	  These hardware random number generators do feed into the | 
 | 	  kernel's random number generator entropy pool. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | if HW_RANDOM | 
 |  | 
 | config HW_RANDOM_TIMERIOMEM | 
 | 	tristate "Timer IOMEM HW Random Number Generator support" | 
 | 	depends on HAS_IOMEM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side 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; | 
 | 	  the default FPGA bitstream on the TS-7800 has such functionality. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called timeriomem-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_INTEL | 
 | 	tristate "Intel HW Random Number Generator support" | 
 | 	depends on (X86 || IA64) && PCI | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Intel i8xx-based motherboards. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called intel-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_AMD | 
 | 	tristate "AMD HW Random Number Generator support" | 
 | 	depends on (X86 || PPC_MAPLE) && PCI | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on AMD 76x-based motherboards. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called amd-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_ATMEL | 
 | 	tristate "Atmel Random Number Generator support" | 
 | 	depends on ARCH_AT91 && HAVE_CLK && OF | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Atmel AT91 devices. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called atmel-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_BCM2835 | 
 | 	tristate "Broadcom BCM2835/BCM63xx Random Number Generator support" | 
 | 	depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \ | 
 | 		   ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called bcm2835-rng | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_IPROC_RNG200 | 
 | 	tristate "Broadcom iProc/STB RNG200 support" | 
 | 	depends on ARCH_BCM_IPROC || ARCH_BRCMSTB | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the RNG200 | 
 | 	  hardware found on the Broadcom iProc and STB SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called iproc-rng200 | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_GEODE | 
 | 	tristate "AMD Geode HW Random Number Generator support" | 
 | 	depends on X86_32 && PCI | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on the AMD Geode LX. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called geode-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_N2RNG | 
 | 	tristate "Niagara2 Random Number Generator support" | 
 | 	depends on SPARC64 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Niagara2 cpus. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called n2-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_VIA | 
 | 	tristate "VIA HW Random Number Generator support" | 
 | 	depends on X86 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on VIA based motherboards. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called via-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_IXP4XX | 
 | 	tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" | 
 | 	depends on ARCH_IXP4XX | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Pseudo-Random | 
 | 	  Number Generator hardware found on the Intel IXP45x/46x NPU. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called ixp4xx-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_OMAP | 
 | 	tristate "OMAP Random Number Generator support" | 
 | 	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU | 
 | 	default HW_RANDOM | 
 |  	---help--- | 
 |  	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx | 
 | 	  multimedia processors, and Marvell Armada 7k/8k SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called omap-rng. | 
 |  | 
 |  	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_OMAP3_ROM | 
 | 	tristate "OMAP3 ROM Random Number Generator support" | 
 | 	depends on ARCH_OMAP3 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on OMAP34xx processors. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called omap3-rom-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_OCTEON | 
 | 	tristate "Octeon Random Number Generator support" | 
 | 	depends on CAVIUM_OCTEON_SOC | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Octeon processors. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called octeon-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_PASEMI | 
 | 	tristate "PA Semi HW Random Number Generator support" | 
 | 	depends on PPC_PASEMI | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on PA Semi PWRficient SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called pasemi-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_VIRTIO | 
 | 	tristate "VirtIO Random Number Generator support" | 
 | 	depends on VIRTIO | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the virtual Random Number | 
 | 	  Generator hardware. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called virtio-rng.  If unsure, say N. | 
 |  | 
 | config HW_RANDOM_TX4939 | 
 | 	tristate "TX4939 Random Number Generator support" | 
 | 	depends on SOC_TX4939 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on TX4939 SoC. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called tx4939-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_MXC_RNGA | 
 | 	tristate "Freescale i.MX RNGA Random Number Generator" | 
 | 	depends on SOC_IMX31 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Freescale i.MX processors. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called mxc-rnga. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_IMX_RNGC | 
 | 	tristate "Freescale i.MX RNGC Random Number Generator" | 
 | 	depends on ARCH_MXC | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator Version C hardware found on some Freescale i.MX | 
 | 	  processors. Version B is also supported by this driver. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called imx-rngc. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_NOMADIK | 
 | 	tristate "ST-Ericsson Nomadik Random Number Generator support" | 
 | 	depends on ARCH_NOMADIK | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500). | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called nomadik-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_PSERIES | 
 | 	tristate "pSeries HW Random Number Generator support" | 
 | 	depends on PPC64 && IBMVIO | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on POWER7+ machines and above | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called pseries-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_POWERNV | 
 | 	tristate "PowerNV Random Number Generator support" | 
 | 	depends on PPC_POWERNV | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This is the driver for Random Number Generator hardware found | 
 | 	  in POWER7+ and above machines for PowerNV platform. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called powernv-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_HISI | 
 | 	tristate "Hisilicon Random Number Generator support" | 
 | 	depends on HW_RANDOM && ARCH_HISI | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Hisilicon Hip04 and Hip05 SoC. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called hisi-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_ST | 
 | 	tristate "ST Microelectronics HW Random Number Generator support" | 
 | 	depends on HW_RANDOM && ARCH_STI | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on STi series of SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called st-rng. | 
 |  | 
 | config HW_RANDOM_XGENE | 
 | 	tristate "APM X-Gene True Random Number Generator (TRNG) support" | 
 | 	depends on HW_RANDOM && ARCH_XGENE | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on APM X-Gene SoC. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called xgene_rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_STM32 | 
 | 	tristate "STMicroelectronics STM32 random number generator" | 
 | 	depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST) | 
 | 	depends on HAS_IOMEM | 
 | 	default HW_RANDOM | 
 | 	help | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on STM32 microcontrollers. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called stm32-rng. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config HW_RANDOM_PIC32 | 
 | 	tristate "Microchip PIC32 Random Number Generator support" | 
 | 	depends on HW_RANDOM && MACH_PIC32 | 
 | 	default y | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on a PIC32. | 
 |  | 
 | 	  To compile this driver as a module, choose M here. the | 
 | 	  module will be called pic32-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_MESON | 
 | 	tristate "Amlogic Meson Random Number Generator support" | 
 | 	depends on HW_RANDOM | 
 | 	depends on ARCH_MESON || COMPILE_TEST | 
 | 	default y | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Amlogic Meson SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here. the | 
 | 	  module will be called meson-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_CAVIUM | 
 |        tristate "Cavium ThunderX Random Number Generator support" | 
 |        depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT)) | 
 |        default HW_RANDOM | 
 |        ---help--- | 
 |          This driver provides kernel-side support for the Random Number | 
 |          Generator hardware found on Cavium SoCs. | 
 |  | 
 |          To compile this driver as a module, choose M here: the | 
 |          module will be called cavium_rng. | 
 |  | 
 |          If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_MTK | 
 | 	tristate "Mediatek Random Number Generator support" | 
 | 	depends on HW_RANDOM | 
 | 	depends on ARCH_MEDIATEK || COMPILE_TEST | 
 | 	default y | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the Random Number | 
 | 	  Generator hardware found on Mediatek SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here. the | 
 | 	  module will be called mtk-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_S390 | 
 | 	tristate "S390 True Random Number Generator support" | 
 | 	depends on S390 | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides kernel-side support for the True | 
 | 	  Random Number Generator available as CPACF extension | 
 | 	  on modern s390 hardware platforms. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the | 
 | 	  module will be called s390-trng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_EXYNOS | 
 | 	tristate "Samsung Exynos True Random Number Generator support" | 
 | 	depends on ARCH_EXYNOS || COMPILE_TEST | 
 | 	default HW_RANDOM | 
 | 	---help--- | 
 | 	  This driver provides support for the True Random Number | 
 | 	  Generator available in Exynos SoCs. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the module | 
 | 	  will be called exynos-trng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | config HW_RANDOM_OPTEE | 
 | 	tristate "OP-TEE based Random Number Generator support" | 
 | 	depends on OPTEE | 
 | 	default HW_RANDOM | 
 | 	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 (Linux). | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the module | 
 | 	  will be called optee-rng. | 
 |  | 
 | 	  If unsure, say Y. | 
 |  | 
 | endif # HW_RANDOM | 
 |  | 
 | config UML_RANDOM | 
 | 	depends on UML | 
 | 	tristate "Hardware random number generator" | 
 | 	help | 
 | 	  This option enables UML's "hardware" random number generator.  It | 
 | 	  attaches itself to the host's /dev/random, supplying as much entropy | 
 | 	  as the host has, rather than the small amount the UML gets from its | 
 | 	  own drivers.  It registers itself as a standard hardware random number | 
 | 	  generator, major 10, minor 183, and the canonical device name is | 
 | 	  /dev/hwrng. | 
 | 	  The way to make use of this is to install the rng-tools package | 
 | 	  (check your distro, or download from | 
 | 	  http://sourceforge.net/projects/gkernel/).  rngd periodically reads | 
 | 	  /dev/hwrng and injects the entropy into /dev/random. | 
 |  | 
 | config HW_RANDOM_KEYSTONE | 
 | 	depends on ARCH_KEYSTONE | 
 | 	default HW_RANDOM | 
 | 	tristate "TI Keystone NETCP SA Hardware random number generator" | 
 | 	help | 
 | 	  This option enables Keystone's hardware random generator. |