162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Hardware Random Number Generator (RNG) configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig HW_RANDOM 762306a36Sopenharmony_ci tristate "Hardware Random Number Generator Core support" 862306a36Sopenharmony_ci default m 962306a36Sopenharmony_ci help 1062306a36Sopenharmony_ci Hardware Random Number Generator Core infrastructure. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 1362306a36Sopenharmony_ci module will be called rng-core. This provides a device 1462306a36Sopenharmony_ci that's usually called /dev/hwrng, and which exposes one 1562306a36Sopenharmony_ci of possibly several hardware random number generators. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci These hardware random number generators do feed into the 1862306a36Sopenharmony_ci kernel's random number generator entropy pool. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci If unsure, say Y. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciif HW_RANDOM 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciconfig HW_RANDOM_TIMERIOMEM 2562306a36Sopenharmony_ci tristate "Timer IOMEM HW Random Number Generator support" 2662306a36Sopenharmony_ci depends on HAS_IOMEM 2762306a36Sopenharmony_ci help 2862306a36Sopenharmony_ci This driver provides kernel-side support for a generic Random 2962306a36Sopenharmony_ci Number Generator used by reading a 'dumb' iomem address that 3062306a36Sopenharmony_ci is to be read no faster than, for example, once a second; 3162306a36Sopenharmony_ci the default FPGA bitstream on the TS-7800 has such functionality. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 3462306a36Sopenharmony_ci module will be called timeriomem-rng. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci If unsure, say Y. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig HW_RANDOM_INTEL 3962306a36Sopenharmony_ci tristate "Intel HW Random Number Generator support" 4062306a36Sopenharmony_ci depends on (X86 || IA64 || COMPILE_TEST) && PCI 4162306a36Sopenharmony_ci default HW_RANDOM 4262306a36Sopenharmony_ci help 4362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 4462306a36Sopenharmony_ci Generator hardware found on Intel i8xx-based motherboards. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 4762306a36Sopenharmony_ci module will be called intel-rng. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci If unsure, say Y. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig HW_RANDOM_AMD 5262306a36Sopenharmony_ci tristate "AMD HW Random Number Generator support" 5362306a36Sopenharmony_ci depends on (X86 || PPC_MAPLE || COMPILE_TEST) 5462306a36Sopenharmony_ci depends on PCI && HAS_IOPORT_MAP 5562306a36Sopenharmony_ci default HW_RANDOM 5662306a36Sopenharmony_ci help 5762306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 5862306a36Sopenharmony_ci Generator hardware found on AMD 76x-based motherboards. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 6162306a36Sopenharmony_ci module will be called amd-rng. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci If unsure, say Y. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig HW_RANDOM_ATMEL 6662306a36Sopenharmony_ci tristate "Atmel Random Number Generator support" 6762306a36Sopenharmony_ci depends on (ARCH_AT91 || COMPILE_TEST) 6862306a36Sopenharmony_ci default HW_RANDOM 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 7162306a36Sopenharmony_ci Generator hardware found on Atmel AT91 devices. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 7462306a36Sopenharmony_ci module will be called atmel-rng. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci If unsure, say Y. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconfig HW_RANDOM_BA431 7962306a36Sopenharmony_ci tristate "Silex Insight BA431 Random Number Generator support" 8062306a36Sopenharmony_ci depends on HAS_IOMEM 8162306a36Sopenharmony_ci help 8262306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 8362306a36Sopenharmony_ci Generator hardware based on Silex Insight BA431 IP. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 8662306a36Sopenharmony_ci module will be called ba431-rng. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig HW_RANDOM_BCM2835 8962306a36Sopenharmony_ci tristate "Broadcom BCM2835/BCM63xx Random Number Generator support" 9062306a36Sopenharmony_ci depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \ 9162306a36Sopenharmony_ci ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST 9262306a36Sopenharmony_ci default HW_RANDOM 9362306a36Sopenharmony_ci help 9462306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 9562306a36Sopenharmony_ci Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 9862306a36Sopenharmony_ci module will be called bcm2835-rng 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci If unsure, say Y. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciconfig HW_RANDOM_IPROC_RNG200 10362306a36Sopenharmony_ci tristate "Broadcom iProc/STB RNG200 support" 10462306a36Sopenharmony_ci depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 10562306a36Sopenharmony_ci default HW_RANDOM 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci This driver provides kernel-side support for the RNG200 10862306a36Sopenharmony_ci hardware found on the Broadcom iProc and STB SoCs. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 11162306a36Sopenharmony_ci module will be called iproc-rng200 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci If unsure, say Y. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciconfig HW_RANDOM_GEODE 11662306a36Sopenharmony_ci tristate "AMD Geode HW Random Number Generator support" 11762306a36Sopenharmony_ci depends on (X86_32 || COMPILE_TEST) 11862306a36Sopenharmony_ci depends on PCI 11962306a36Sopenharmony_ci default HW_RANDOM 12062306a36Sopenharmony_ci help 12162306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 12262306a36Sopenharmony_ci Generator hardware found on the AMD Geode LX. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 12562306a36Sopenharmony_ci module will be called geode-rng. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci If unsure, say Y. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciconfig HW_RANDOM_N2RNG 13062306a36Sopenharmony_ci tristate "Niagara2 Random Number Generator support" 13162306a36Sopenharmony_ci depends on SPARC64 13262306a36Sopenharmony_ci default HW_RANDOM 13362306a36Sopenharmony_ci help 13462306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 13562306a36Sopenharmony_ci Generator hardware found on Niagara2 cpus. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 13862306a36Sopenharmony_ci module will be called n2-rng. 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci If unsure, say Y. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciconfig HW_RANDOM_VIA 14362306a36Sopenharmony_ci tristate "VIA HW Random Number Generator support" 14462306a36Sopenharmony_ci depends on X86 14562306a36Sopenharmony_ci default HW_RANDOM 14662306a36Sopenharmony_ci help 14762306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 14862306a36Sopenharmony_ci Generator hardware found on VIA based motherboards. 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 15162306a36Sopenharmony_ci module will be called via-rng. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci If unsure, say Y. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciconfig HW_RANDOM_IXP4XX 15662306a36Sopenharmony_ci tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" 15762306a36Sopenharmony_ci depends on ARCH_IXP4XX || COMPILE_TEST 15862306a36Sopenharmony_ci default HW_RANDOM 15962306a36Sopenharmony_ci help 16062306a36Sopenharmony_ci This driver provides kernel-side support for the Pseudo-Random 16162306a36Sopenharmony_ci Number Generator hardware found on the Intel IXP45x/46x NPU. 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 16462306a36Sopenharmony_ci module will be called ixp4xx-rng. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci If unsure, say Y. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ciconfig HW_RANDOM_OMAP 16962306a36Sopenharmony_ci tristate "OMAP Random Number Generator support" 17062306a36Sopenharmony_ci depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU || ARCH_K3 || COMPILE_TEST 17162306a36Sopenharmony_ci default HW_RANDOM 17262306a36Sopenharmony_ci help 17362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 17462306a36Sopenharmony_ci Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx 17562306a36Sopenharmony_ci multimedia processors, and Marvell Armada 7k/8k SoCs. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 17862306a36Sopenharmony_ci module will be called omap-rng. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci If unsure, say Y. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciconfig HW_RANDOM_OMAP3_ROM 18362306a36Sopenharmony_ci tristate "OMAP3 ROM Random Number Generator support" 18462306a36Sopenharmony_ci depends on ARCH_OMAP3 || COMPILE_TEST 18562306a36Sopenharmony_ci default HW_RANDOM 18662306a36Sopenharmony_ci help 18762306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 18862306a36Sopenharmony_ci Generator hardware found on OMAP34xx processors. 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 19162306a36Sopenharmony_ci module will be called omap3-rom-rng. 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci If unsure, say Y. 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ciconfig HW_RANDOM_OCTEON 19662306a36Sopenharmony_ci tristate "Octeon Random Number Generator support" 19762306a36Sopenharmony_ci depends on CAVIUM_OCTEON_SOC 19862306a36Sopenharmony_ci default HW_RANDOM 19962306a36Sopenharmony_ci help 20062306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 20162306a36Sopenharmony_ci Generator hardware found on Octeon processors. 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 20462306a36Sopenharmony_ci module will be called octeon-rng. 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci If unsure, say Y. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciconfig HW_RANDOM_PASEMI 20962306a36Sopenharmony_ci tristate "PA Semi HW Random Number Generator support" 21062306a36Sopenharmony_ci depends on PPC_PASEMI || (PPC && COMPILE_TEST) 21162306a36Sopenharmony_ci default HW_RANDOM 21262306a36Sopenharmony_ci help 21362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 21462306a36Sopenharmony_ci Generator hardware found on PA Semi PWRficient SoCs. 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 21762306a36Sopenharmony_ci module will be called pasemi-rng. 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci If unsure, say Y. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ciconfig HW_RANDOM_VIRTIO 22262306a36Sopenharmony_ci tristate "VirtIO Random Number Generator support" 22362306a36Sopenharmony_ci depends on VIRTIO 22462306a36Sopenharmony_ci help 22562306a36Sopenharmony_ci This driver provides kernel-side support for the virtual Random Number 22662306a36Sopenharmony_ci Generator hardware. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 22962306a36Sopenharmony_ci module will be called virtio-rng. If unsure, say N. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig HW_RANDOM_MXC_RNGA 23262306a36Sopenharmony_ci tristate "Freescale i.MX RNGA Random Number Generator" 23362306a36Sopenharmony_ci depends on SOC_IMX31 || COMPILE_TEST 23462306a36Sopenharmony_ci default HW_RANDOM 23562306a36Sopenharmony_ci help 23662306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 23762306a36Sopenharmony_ci Generator hardware found on Freescale i.MX processors. 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 24062306a36Sopenharmony_ci module will be called mxc-rnga. 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci If unsure, say Y. 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciconfig HW_RANDOM_IMX_RNGC 24562306a36Sopenharmony_ci tristate "Freescale i.MX RNGC Random Number Generator" 24662306a36Sopenharmony_ci depends on HAS_IOMEM 24762306a36Sopenharmony_ci depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST 24862306a36Sopenharmony_ci default HW_RANDOM 24962306a36Sopenharmony_ci help 25062306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 25162306a36Sopenharmony_ci Generator Version C hardware found on some Freescale i.MX 25262306a36Sopenharmony_ci processors. Version B is also supported by this driver. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 25562306a36Sopenharmony_ci module will be called imx-rngc. 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci If unsure, say Y. 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ciconfig HW_RANDOM_INGENIC_RNG 26062306a36Sopenharmony_ci tristate "Ingenic Random Number Generator support" 26162306a36Sopenharmony_ci depends on MACH_JZ4780 || MACH_X1000 || COMPILE_TEST 26262306a36Sopenharmony_ci default HW_RANDOM 26362306a36Sopenharmony_ci help 26462306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number Generator 26562306a36Sopenharmony_ci hardware found in ingenic JZ4780 and X1000 SoC. MIPS Creator CI20 uses 26662306a36Sopenharmony_ci JZ4780 SoC, YSH & ATIL CU1000-Neo uses X1000 SoC. 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 26962306a36Sopenharmony_ci module will be called ingenic-rng. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci If unsure, say Y. 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ciconfig HW_RANDOM_INGENIC_TRNG 27462306a36Sopenharmony_ci tristate "Ingenic True Random Number Generator support" 27562306a36Sopenharmony_ci depends on MACH_X1830 || COMPILE_TEST 27662306a36Sopenharmony_ci default HW_RANDOM 27762306a36Sopenharmony_ci help 27862306a36Sopenharmony_ci This driver provides kernel-side support for the True Random Number Generator 27962306a36Sopenharmony_ci hardware found in ingenic X1830 SoC. YSH & ATIL CU1830-Neo uses X1830 SoC. 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 28262306a36Sopenharmony_ci module will be called ingenic-trng. 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci If unsure, say Y. 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ciconfig HW_RANDOM_NOMADIK 28762306a36Sopenharmony_ci tristate "ST-Ericsson Nomadik Random Number Generator support" 28862306a36Sopenharmony_ci depends on ARCH_NOMADIK || COMPILE_TEST 28962306a36Sopenharmony_ci default HW_RANDOM 29062306a36Sopenharmony_ci help 29162306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 29262306a36Sopenharmony_ci Generator hardware found on ST-Ericsson SoCs (8815 and 8500). 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 29562306a36Sopenharmony_ci module will be called nomadik-rng. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci If unsure, say Y. 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ciconfig HW_RANDOM_PSERIES 30062306a36Sopenharmony_ci tristate "pSeries HW Random Number Generator support" 30162306a36Sopenharmony_ci depends on PPC64 && IBMVIO 30262306a36Sopenharmony_ci default HW_RANDOM 30362306a36Sopenharmony_ci help 30462306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 30562306a36Sopenharmony_ci Generator hardware found on POWER7+ machines and above 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 30862306a36Sopenharmony_ci module will be called pseries-rng. 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci If unsure, say Y. 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ciconfig HW_RANDOM_POWERNV 31362306a36Sopenharmony_ci tristate "PowerNV Random Number Generator support" 31462306a36Sopenharmony_ci depends on PPC_POWERNV 31562306a36Sopenharmony_ci default HW_RANDOM 31662306a36Sopenharmony_ci help 31762306a36Sopenharmony_ci This is the driver for Random Number Generator hardware found 31862306a36Sopenharmony_ci in POWER7+ and above machines for PowerNV platform. 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 32162306a36Sopenharmony_ci module will be called powernv-rng. 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci If unsure, say Y. 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ciconfig HW_RANDOM_HISI 32662306a36Sopenharmony_ci tristate "Hisilicon Random Number Generator support" 32762306a36Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 32862306a36Sopenharmony_ci default HW_RANDOM 32962306a36Sopenharmony_ci help 33062306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 33162306a36Sopenharmony_ci Generator hardware found on Hisilicon Hip04 and Hip05 SoC. 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 33462306a36Sopenharmony_ci module will be called hisi-rng. 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci If unsure, say Y. 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ciconfig HW_RANDOM_HISTB 33962306a36Sopenharmony_ci tristate "Hisilicon STB Random Number Generator support" 34062306a36Sopenharmony_ci depends on ARCH_HISI || COMPILE_TEST 34162306a36Sopenharmony_ci default ARCH_HISI 34262306a36Sopenharmony_ci help 34362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 34462306a36Sopenharmony_ci Generator hardware found on Hisilicon Hi37xx SoC. 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 34762306a36Sopenharmony_ci module will be called histb-rng. 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ciconfig HW_RANDOM_ST 35062306a36Sopenharmony_ci tristate "ST Microelectronics HW Random Number Generator support" 35162306a36Sopenharmony_ci depends on ARCH_STI || COMPILE_TEST 35262306a36Sopenharmony_ci help 35362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 35462306a36Sopenharmony_ci Generator hardware found on STi series of SoCs. 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 35762306a36Sopenharmony_ci module will be called st-rng. 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ciconfig HW_RANDOM_XGENE 36062306a36Sopenharmony_ci tristate "APM X-Gene True Random Number Generator (TRNG) support" 36162306a36Sopenharmony_ci depends on ARCH_XGENE || COMPILE_TEST 36262306a36Sopenharmony_ci default HW_RANDOM 36362306a36Sopenharmony_ci help 36462306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 36562306a36Sopenharmony_ci Generator hardware found on APM X-Gene SoC. 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 36862306a36Sopenharmony_ci module will be called xgene_rng. 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci If unsure, say Y. 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ciconfig HW_RANDOM_STM32 37362306a36Sopenharmony_ci tristate "STMicroelectronics STM32 random number generator" 37462306a36Sopenharmony_ci depends on ARCH_STM32 || COMPILE_TEST 37562306a36Sopenharmony_ci depends on HAS_IOMEM 37662306a36Sopenharmony_ci default HW_RANDOM 37762306a36Sopenharmony_ci help 37862306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 37962306a36Sopenharmony_ci Generator hardware found on STM32 microcontrollers. 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 38262306a36Sopenharmony_ci module will be called stm32-rng. 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ci If unsure, say N. 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ciconfig HW_RANDOM_PIC32 38762306a36Sopenharmony_ci tristate "Microchip PIC32 Random Number Generator support" 38862306a36Sopenharmony_ci depends on MACH_PIC32 || COMPILE_TEST 38962306a36Sopenharmony_ci default HW_RANDOM if MACH_PIC32 39062306a36Sopenharmony_ci help 39162306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 39262306a36Sopenharmony_ci Generator hardware found on a PIC32. 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci To compile this driver as a module, choose M here. the 39562306a36Sopenharmony_ci module will be called pic32-rng. 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci If unsure, say Y. 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ciconfig HW_RANDOM_POLARFIRE_SOC 40062306a36Sopenharmony_ci tristate "Microchip PolarFire SoC Random Number Generator support" 40162306a36Sopenharmony_ci depends on HW_RANDOM && POLARFIRE_SOC_SYS_CTRL 40262306a36Sopenharmony_ci help 40362306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 40462306a36Sopenharmony_ci Generator hardware found on PolarFire SoC (MPFS). 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci To compile this driver as a module, choose M here. The 40762306a36Sopenharmony_ci module will be called mfps_rng. 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci If unsure, say N. 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ciconfig HW_RANDOM_MESON 41362306a36Sopenharmony_ci tristate "Amlogic Meson Random Number Generator support" 41462306a36Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 41562306a36Sopenharmony_ci depends on HAS_IOMEM && OF 41662306a36Sopenharmony_ci default HW_RANDOM if ARCH_MESON 41762306a36Sopenharmony_ci help 41862306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 41962306a36Sopenharmony_ci Generator hardware found on Amlogic Meson SoCs. 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci To compile this driver as a module, choose M here. the 42262306a36Sopenharmony_ci module will be called meson-rng. 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci If unsure, say Y. 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ciconfig HW_RANDOM_CAVIUM 42762306a36Sopenharmony_ci tristate "Cavium ThunderX Random Number Generator support" 42862306a36Sopenharmony_ci depends on PCI 42962306a36Sopenharmony_ci depends on ARCH_THUNDER || (ARM64 && COMPILE_TEST) 43062306a36Sopenharmony_ci default HW_RANDOM 43162306a36Sopenharmony_ci help 43262306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 43362306a36Sopenharmony_ci Generator hardware found on Cavium SoCs. 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 43662306a36Sopenharmony_ci module will be called cavium_rng. 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci If unsure, say Y. 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ciconfig HW_RANDOM_MTK 44162306a36Sopenharmony_ci tristate "Mediatek Random Number Generator support" 44262306a36Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 44362306a36Sopenharmony_ci depends on HAS_IOMEM && OF 44462306a36Sopenharmony_ci default HW_RANDOM if ARCH_MEDIATEK 44562306a36Sopenharmony_ci help 44662306a36Sopenharmony_ci This driver provides kernel-side support for the Random Number 44762306a36Sopenharmony_ci Generator hardware found on Mediatek SoCs. 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci To compile this driver as a module, choose M here. the 45062306a36Sopenharmony_ci module will be called mtk-rng. 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci If unsure, say Y. 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ciconfig HW_RANDOM_S390 45562306a36Sopenharmony_ci tristate "S390 True Random Number Generator support" 45662306a36Sopenharmony_ci depends on S390 45762306a36Sopenharmony_ci default HW_RANDOM 45862306a36Sopenharmony_ci help 45962306a36Sopenharmony_ci This driver provides kernel-side support for the True 46062306a36Sopenharmony_ci Random Number Generator available as CPACF extension 46162306a36Sopenharmony_ci on modern s390 hardware platforms. 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 46462306a36Sopenharmony_ci module will be called s390-trng. 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci If unsure, say Y. 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ciconfig HW_RANDOM_EXYNOS 46962306a36Sopenharmony_ci tristate "Samsung Exynos True Random Number Generator support" 47062306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 47162306a36Sopenharmony_ci depends on HAS_IOMEM 47262306a36Sopenharmony_ci default HW_RANDOM if ARCH_EXYNOS 47362306a36Sopenharmony_ci help 47462306a36Sopenharmony_ci This driver provides support for the True Random Number 47562306a36Sopenharmony_ci Generator available in Exynos SoCs. 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 47862306a36Sopenharmony_ci will be called exynos-trng. 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci If unsure, say Y. 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ciconfig HW_RANDOM_OPTEE 48362306a36Sopenharmony_ci tristate "OP-TEE based Random Number Generator support" 48462306a36Sopenharmony_ci depends on OPTEE 48562306a36Sopenharmony_ci default HW_RANDOM 48662306a36Sopenharmony_ci help 48762306a36Sopenharmony_ci This driver provides support for OP-TEE based Random Number 48862306a36Sopenharmony_ci Generator on ARM SoCs where hardware entropy sources are not 48962306a36Sopenharmony_ci accessible to normal world (Linux). 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 49262306a36Sopenharmony_ci will be called optee-rng. 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ci If unsure, say Y. 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_ciconfig HW_RANDOM_NPCM 49762306a36Sopenharmony_ci tristate "NPCM Random Number Generator support" 49862306a36Sopenharmony_ci depends on ARCH_NPCM || COMPILE_TEST 49962306a36Sopenharmony_ci depends on HAS_IOMEM 50062306a36Sopenharmony_ci default HW_RANDOM if ARCH_NPCM 50162306a36Sopenharmony_ci help 50262306a36Sopenharmony_ci This driver provides support for the Random Number 50362306a36Sopenharmony_ci Generator hardware available in Nuvoton NPCM SoCs. 50462306a36Sopenharmony_ci 50562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 50662306a36Sopenharmony_ci module will be called npcm-rng. 50762306a36Sopenharmony_ci 50862306a36Sopenharmony_ci If unsure, say Y. 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ciconfig HW_RANDOM_KEYSTONE 51162306a36Sopenharmony_ci depends on ARCH_KEYSTONE || COMPILE_TEST 51262306a36Sopenharmony_ci depends on HAS_IOMEM && OF 51362306a36Sopenharmony_ci default HW_RANDOM 51462306a36Sopenharmony_ci tristate "TI Keystone NETCP SA Hardware random number generator" 51562306a36Sopenharmony_ci help 51662306a36Sopenharmony_ci This option enables Keystone's hardware random generator. 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ciconfig HW_RANDOM_CCTRNG 51962306a36Sopenharmony_ci tristate "Arm CryptoCell True Random Number Generator support" 52062306a36Sopenharmony_ci depends on HAS_IOMEM && OF 52162306a36Sopenharmony_ci help 52262306a36Sopenharmony_ci Say 'Y' to enable the True Random Number Generator driver for the 52362306a36Sopenharmony_ci Arm TrustZone CryptoCell family of processors. 52462306a36Sopenharmony_ci Currently the CryptoCell 713 and 703 are supported. 52562306a36Sopenharmony_ci The driver is supported only in SoC where Trusted Execution 52662306a36Sopenharmony_ci Environment is not used. 52762306a36Sopenharmony_ci Choose 'M' to compile this driver as a module. The module 52862306a36Sopenharmony_ci will be called cctrng. 52962306a36Sopenharmony_ci If unsure, say 'N'. 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ciconfig HW_RANDOM_XIPHERA 53262306a36Sopenharmony_ci tristate "Xiphera FPGA based True Random Number Generator support" 53362306a36Sopenharmony_ci depends on HAS_IOMEM 53462306a36Sopenharmony_ci help 53562306a36Sopenharmony_ci This driver provides kernel-side support for Xiphera True Random 53662306a36Sopenharmony_ci Number Generator Intellectual Property Core. 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 53962306a36Sopenharmony_ci module will be called xiphera-trng. 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ciconfig HW_RANDOM_ARM_SMCCC_TRNG 54262306a36Sopenharmony_ci tristate "Arm SMCCC TRNG firmware interface support" 54362306a36Sopenharmony_ci depends on HAVE_ARM_SMCCC_DISCOVERY 54462306a36Sopenharmony_ci default HW_RANDOM 54562306a36Sopenharmony_ci help 54662306a36Sopenharmony_ci Say 'Y' to enable the True Random Number Generator driver using 54762306a36Sopenharmony_ci the Arm SMCCC TRNG firmware interface. This reads entropy from 54862306a36Sopenharmony_ci higher exception levels (firmware, hypervisor). Uses SMCCC for 54962306a36Sopenharmony_ci communicating with the firmware: 55062306a36Sopenharmony_ci https://developer.arm.com/documentation/den0098/latest/ 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 55362306a36Sopenharmony_ci module will be called arm_smccc_trng. 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ciconfig HW_RANDOM_CN10K 55662306a36Sopenharmony_ci tristate "Marvell CN10K Random Number Generator support" 55762306a36Sopenharmony_ci depends on HW_RANDOM && PCI && (ARM64 || (64BIT && COMPILE_TEST)) 55862306a36Sopenharmony_ci default HW_RANDOM 55962306a36Sopenharmony_ci help 56062306a36Sopenharmony_ci This driver provides support for the True Random Number 56162306a36Sopenharmony_ci generator available in Marvell CN10K SoCs. 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci To compile this driver as a module, choose M here. 56462306a36Sopenharmony_ci The module will be called cn10k_rng. If unsure, say Y. 56562306a36Sopenharmony_ci 56662306a36Sopenharmony_ciconfig HW_RANDOM_JH7110 56762306a36Sopenharmony_ci tristate "StarFive JH7110 Random Number Generator support" 56862306a36Sopenharmony_ci depends on SOC_STARFIVE || COMPILE_TEST 56962306a36Sopenharmony_ci help 57062306a36Sopenharmony_ci This driver provides support for the True Random Number 57162306a36Sopenharmony_ci Generator in StarFive JH7110 SoCs. 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_ci To compile this driver as a module, choose M here. 57462306a36Sopenharmony_ci The module will be called jh7110-trng. 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ciendif # HW_RANDOM 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ciconfig UML_RANDOM 57962306a36Sopenharmony_ci depends on UML 58062306a36Sopenharmony_ci select HW_RANDOM 58162306a36Sopenharmony_ci tristate "UML Random Number Generator support" 58262306a36Sopenharmony_ci help 58362306a36Sopenharmony_ci This option enables UML's "hardware" random number generator. It 58462306a36Sopenharmony_ci attaches itself to the host's /dev/random, supplying as much entropy 58562306a36Sopenharmony_ci as the host has, rather than the small amount the UML gets from its 58662306a36Sopenharmony_ci own drivers. It registers itself as a rng-core driver thus providing 58762306a36Sopenharmony_ci a device which is usually called /dev/hwrng. This hardware random 58862306a36Sopenharmony_ci number generator does feed into the kernel's random number generator 58962306a36Sopenharmony_ci entropy pool. 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci If unsure, say Y. 592