18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Hardware Random Number Generator (RNG) configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig HW_RANDOM
78c2ecf20Sopenharmony_ci	tristate "Hardware Random Number Generator Core support"
88c2ecf20Sopenharmony_ci	default m
98c2ecf20Sopenharmony_ci	help
108c2ecf20Sopenharmony_ci	  Hardware Random Number Generator Core infrastructure.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
138c2ecf20Sopenharmony_ci	  module will be called rng-core.  This provides a device
148c2ecf20Sopenharmony_ci	  that's usually called /dev/hwrng, and which exposes one
158c2ecf20Sopenharmony_ci	  of possibly several hardware random number generators.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	  These hardware random number generators do feed into the
188c2ecf20Sopenharmony_ci	  kernel's random number generator entropy pool.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  If unsure, say Y.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciif HW_RANDOM
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig HW_RANDOM_TIMERIOMEM
258c2ecf20Sopenharmony_ci	tristate "Timer IOMEM HW Random Number Generator support"
268c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
278c2ecf20Sopenharmony_ci	help
288c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for a generic Random
298c2ecf20Sopenharmony_ci	  Number Generator used by reading a 'dumb' iomem address that
308c2ecf20Sopenharmony_ci	  is to be read no faster than, for example, once a second;
318c2ecf20Sopenharmony_ci	  the default FPGA bitstream on the TS-7800 has such functionality.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
348c2ecf20Sopenharmony_ci	  module will be called timeriomem-rng.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	  If unsure, say Y.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig HW_RANDOM_INTEL
398c2ecf20Sopenharmony_ci	tristate "Intel HW Random Number Generator support"
408c2ecf20Sopenharmony_ci	depends on (X86 || IA64) && PCI
418c2ecf20Sopenharmony_ci	default HW_RANDOM
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
448c2ecf20Sopenharmony_ci	  Generator hardware found on Intel i8xx-based motherboards.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
478c2ecf20Sopenharmony_ci	  module will be called intel-rng.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	  If unsure, say Y.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciconfig HW_RANDOM_AMD
528c2ecf20Sopenharmony_ci	tristate "AMD HW Random Number Generator support"
538c2ecf20Sopenharmony_ci	depends on (X86 || PPC_MAPLE) && PCI
548c2ecf20Sopenharmony_ci	default HW_RANDOM
558c2ecf20Sopenharmony_ci	help
568c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
578c2ecf20Sopenharmony_ci	  Generator hardware found on AMD 76x-based motherboards.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
608c2ecf20Sopenharmony_ci	  module will be called amd-rng.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  If unsure, say Y.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig HW_RANDOM_ATMEL
658c2ecf20Sopenharmony_ci	tristate "Atmel Random Number Generator support"
668c2ecf20Sopenharmony_ci	depends on ARCH_AT91 && HAVE_CLK && OF
678c2ecf20Sopenharmony_ci	default HW_RANDOM
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
708c2ecf20Sopenharmony_ci	  Generator hardware found on Atmel AT91 devices.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
738c2ecf20Sopenharmony_ci	  module will be called atmel-rng.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci	  If unsure, say Y.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig HW_RANDOM_BA431
788c2ecf20Sopenharmony_ci	tristate "Silex Insight BA431 Random Number Generator support"
798c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
808c2ecf20Sopenharmony_ci	help
818c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
828c2ecf20Sopenharmony_ci	  Generator hardware based on Silex Insight BA431 IP.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
858c2ecf20Sopenharmony_ci	  module will be called ba431-rng.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciconfig HW_RANDOM_BCM2835
888c2ecf20Sopenharmony_ci	tristate "Broadcom BCM2835/BCM63xx Random Number Generator support"
898c2ecf20Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \
908c2ecf20Sopenharmony_ci		   ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC
918c2ecf20Sopenharmony_ci	default HW_RANDOM
928c2ecf20Sopenharmony_ci	help
938c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
948c2ecf20Sopenharmony_ci	  Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
978c2ecf20Sopenharmony_ci	  module will be called bcm2835-rng
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci	  If unsure, say Y.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig HW_RANDOM_IPROC_RNG200
1028c2ecf20Sopenharmony_ci	tristate "Broadcom iProc/STB RNG200 support"
1038c2ecf20Sopenharmony_ci	depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB
1048c2ecf20Sopenharmony_ci	default HW_RANDOM
1058c2ecf20Sopenharmony_ci	help
1068c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the RNG200
1078c2ecf20Sopenharmony_ci	  hardware found on the Broadcom iProc and STB SoCs.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1108c2ecf20Sopenharmony_ci	  module will be called iproc-rng200
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci	  If unsure, say Y.
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig HW_RANDOM_GEODE
1158c2ecf20Sopenharmony_ci	tristate "AMD Geode HW Random Number Generator support"
1168c2ecf20Sopenharmony_ci	depends on X86_32 && PCI
1178c2ecf20Sopenharmony_ci	default HW_RANDOM
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
1208c2ecf20Sopenharmony_ci	  Generator hardware found on the AMD Geode LX.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1238c2ecf20Sopenharmony_ci	  module will be called geode-rng.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci	  If unsure, say Y.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciconfig HW_RANDOM_N2RNG
1288c2ecf20Sopenharmony_ci	tristate "Niagara2 Random Number Generator support"
1298c2ecf20Sopenharmony_ci	depends on SPARC64
1308c2ecf20Sopenharmony_ci	default HW_RANDOM
1318c2ecf20Sopenharmony_ci	help
1328c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
1338c2ecf20Sopenharmony_ci	  Generator hardware found on Niagara2 cpus.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1368c2ecf20Sopenharmony_ci	  module will be called n2-rng.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	  If unsure, say Y.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig HW_RANDOM_VIA
1418c2ecf20Sopenharmony_ci	tristate "VIA HW Random Number Generator support"
1428c2ecf20Sopenharmony_ci	depends on X86
1438c2ecf20Sopenharmony_ci	default HW_RANDOM
1448c2ecf20Sopenharmony_ci	help
1458c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
1468c2ecf20Sopenharmony_ci	  Generator hardware found on VIA based motherboards.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1498c2ecf20Sopenharmony_ci	  module will be called via-rng.
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	  If unsure, say Y.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig HW_RANDOM_IXP4XX
1548c2ecf20Sopenharmony_ci	tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
1558c2ecf20Sopenharmony_ci	depends on ARCH_IXP4XX
1568c2ecf20Sopenharmony_ci	default HW_RANDOM
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Pseudo-Random
1598c2ecf20Sopenharmony_ci	  Number Generator hardware found on the Intel IXP45x/46x NPU.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1628c2ecf20Sopenharmony_ci	  module will be called ixp4xx-rng.
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci	  If unsure, say Y.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciconfig HW_RANDOM_OMAP
1678c2ecf20Sopenharmony_ci	tristate "OMAP Random Number Generator support"
1688c2ecf20Sopenharmony_ci	depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
1698c2ecf20Sopenharmony_ci	default HW_RANDOM
1708c2ecf20Sopenharmony_ci	help
1718c2ecf20Sopenharmony_ci 	  This driver provides kernel-side support for the Random Number
1728c2ecf20Sopenharmony_ci	  Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
1738c2ecf20Sopenharmony_ci	  multimedia processors, and Marvell Armada 7k/8k SoCs.
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1768c2ecf20Sopenharmony_ci	  module will be called omap-rng.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci 	  If unsure, say Y.
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciconfig HW_RANDOM_OMAP3_ROM
1818c2ecf20Sopenharmony_ci	tristate "OMAP3 ROM Random Number Generator support"
1828c2ecf20Sopenharmony_ci	depends on ARCH_OMAP3
1838c2ecf20Sopenharmony_ci	default HW_RANDOM
1848c2ecf20Sopenharmony_ci	help
1858c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
1868c2ecf20Sopenharmony_ci	  Generator hardware found on OMAP34xx processors.
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1898c2ecf20Sopenharmony_ci	  module will be called omap3-rom-rng.
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci	  If unsure, say Y.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ciconfig HW_RANDOM_OCTEON
1948c2ecf20Sopenharmony_ci	tristate "Octeon Random Number Generator support"
1958c2ecf20Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
1968c2ecf20Sopenharmony_ci	default HW_RANDOM
1978c2ecf20Sopenharmony_ci	help
1988c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
1998c2ecf20Sopenharmony_ci	  Generator hardware found on Octeon processors.
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2028c2ecf20Sopenharmony_ci	  module will be called octeon-rng.
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci	  If unsure, say Y.
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciconfig HW_RANDOM_PASEMI
2078c2ecf20Sopenharmony_ci	tristate "PA Semi HW Random Number Generator support"
2088c2ecf20Sopenharmony_ci	depends on PPC_PASEMI
2098c2ecf20Sopenharmony_ci	default HW_RANDOM
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
2128c2ecf20Sopenharmony_ci	  Generator hardware found on PA Semi PWRficient SoCs.
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2158c2ecf20Sopenharmony_ci	  module will be called pasemi-rng.
2168c2ecf20Sopenharmony_ci
2178c2ecf20Sopenharmony_ci	  If unsure, say Y.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ciconfig HW_RANDOM_VIRTIO
2208c2ecf20Sopenharmony_ci	tristate "VirtIO Random Number Generator support"
2218c2ecf20Sopenharmony_ci	depends on VIRTIO
2228c2ecf20Sopenharmony_ci	help
2238c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the virtual Random Number
2248c2ecf20Sopenharmony_ci	  Generator hardware.
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2278c2ecf20Sopenharmony_ci	  module will be called virtio-rng.  If unsure, say N.
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ciconfig HW_RANDOM_TX4939
2308c2ecf20Sopenharmony_ci	tristate "TX4939 Random Number Generator support"
2318c2ecf20Sopenharmony_ci	depends on SOC_TX4939
2328c2ecf20Sopenharmony_ci	default HW_RANDOM
2338c2ecf20Sopenharmony_ci	help
2348c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
2358c2ecf20Sopenharmony_ci	  Generator hardware found on TX4939 SoC.
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2388c2ecf20Sopenharmony_ci	  module will be called tx4939-rng.
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ci	  If unsure, say Y.
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ciconfig HW_RANDOM_MXC_RNGA
2438c2ecf20Sopenharmony_ci	tristate "Freescale i.MX RNGA Random Number Generator"
2448c2ecf20Sopenharmony_ci	depends on SOC_IMX31
2458c2ecf20Sopenharmony_ci	default HW_RANDOM
2468c2ecf20Sopenharmony_ci	help
2478c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
2488c2ecf20Sopenharmony_ci	  Generator hardware found on Freescale i.MX processors.
2498c2ecf20Sopenharmony_ci
2508c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2518c2ecf20Sopenharmony_ci	  module will be called mxc-rnga.
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ci	  If unsure, say Y.
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ciconfig HW_RANDOM_IMX_RNGC
2568c2ecf20Sopenharmony_ci	tristate "Freescale i.MX RNGC Random Number Generator"
2578c2ecf20Sopenharmony_ci	depends on HAS_IOMEM && HAVE_CLK
2588c2ecf20Sopenharmony_ci	depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST
2598c2ecf20Sopenharmony_ci	default HW_RANDOM
2608c2ecf20Sopenharmony_ci	help
2618c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
2628c2ecf20Sopenharmony_ci	  Generator Version C hardware found on some Freescale i.MX
2638c2ecf20Sopenharmony_ci	  processors. Version B is also supported by this driver.
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2668c2ecf20Sopenharmony_ci	  module will be called imx-rngc.
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ci	  If unsure, say Y.
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciconfig HW_RANDOM_INGENIC_RNG
2718c2ecf20Sopenharmony_ci	tristate "Ingenic Random Number Generator support"
2728c2ecf20Sopenharmony_ci	depends on HW_RANDOM
2738c2ecf20Sopenharmony_ci	depends on MACH_JZ4780 || MACH_X1000
2748c2ecf20Sopenharmony_ci	default HW_RANDOM
2758c2ecf20Sopenharmony_ci	help
2768c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number Generator
2778c2ecf20Sopenharmony_ci	  hardware found in ingenic JZ4780 and X1000 SoC. MIPS Creator CI20 uses
2788c2ecf20Sopenharmony_ci	  JZ4780 SoC, YSH & ATIL CU1000-Neo uses X1000 SoC.
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2818c2ecf20Sopenharmony_ci	  module will be called ingenic-rng.
2828c2ecf20Sopenharmony_ci
2838c2ecf20Sopenharmony_ci	  If unsure, say Y.
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ciconfig HW_RANDOM_INGENIC_TRNG
2868c2ecf20Sopenharmony_ci	tristate "Ingenic True Random Number Generator support"
2878c2ecf20Sopenharmony_ci	depends on HW_RANDOM
2888c2ecf20Sopenharmony_ci	depends on MACH_X1830
2898c2ecf20Sopenharmony_ci	default HW_RANDOM
2908c2ecf20Sopenharmony_ci	help
2918c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the True Random Number Generator
2928c2ecf20Sopenharmony_ci	  hardware found in ingenic X1830 SoC. YSH & ATIL CU1830-Neo uses X1830 SoC.
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2958c2ecf20Sopenharmony_ci	  module will be called ingenic-trng.
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ci	  If unsure, say Y.
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ciconfig HW_RANDOM_NOMADIK
3008c2ecf20Sopenharmony_ci	tristate "ST-Ericsson Nomadik Random Number Generator support"
3018c2ecf20Sopenharmony_ci	depends on ARCH_NOMADIK
3028c2ecf20Sopenharmony_ci	default HW_RANDOM
3038c2ecf20Sopenharmony_ci	help
3048c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3058c2ecf20Sopenharmony_ci	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
3068c2ecf20Sopenharmony_ci
3078c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3088c2ecf20Sopenharmony_ci	  module will be called nomadik-rng.
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ci	  If unsure, say Y.
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ciconfig HW_RANDOM_PSERIES
3138c2ecf20Sopenharmony_ci	tristate "pSeries HW Random Number Generator support"
3148c2ecf20Sopenharmony_ci	depends on PPC64 && IBMVIO
3158c2ecf20Sopenharmony_ci	default HW_RANDOM
3168c2ecf20Sopenharmony_ci	help
3178c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3188c2ecf20Sopenharmony_ci	  Generator hardware found on POWER7+ machines and above
3198c2ecf20Sopenharmony_ci
3208c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3218c2ecf20Sopenharmony_ci	  module will be called pseries-rng.
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci	  If unsure, say Y.
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ciconfig HW_RANDOM_POWERNV
3268c2ecf20Sopenharmony_ci	tristate "PowerNV Random Number Generator support"
3278c2ecf20Sopenharmony_ci	depends on PPC_POWERNV
3288c2ecf20Sopenharmony_ci	default HW_RANDOM
3298c2ecf20Sopenharmony_ci	help
3308c2ecf20Sopenharmony_ci	  This is the driver for Random Number Generator hardware found
3318c2ecf20Sopenharmony_ci	  in POWER7+ and above machines for PowerNV platform.
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3348c2ecf20Sopenharmony_ci	  module will be called powernv-rng.
3358c2ecf20Sopenharmony_ci
3368c2ecf20Sopenharmony_ci	  If unsure, say Y.
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ciconfig HW_RANDOM_HISI
3398c2ecf20Sopenharmony_ci	tristate "Hisilicon Random Number Generator support"
3408c2ecf20Sopenharmony_ci	depends on HW_RANDOM && ARCH_HISI
3418c2ecf20Sopenharmony_ci	default HW_RANDOM
3428c2ecf20Sopenharmony_ci	help
3438c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3448c2ecf20Sopenharmony_ci	  Generator hardware found on Hisilicon Hip04 and Hip05 SoC.
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3478c2ecf20Sopenharmony_ci	  module will be called hisi-rng.
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ci	  If unsure, say Y.
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ciconfig HW_RANDOM_HISI_V2
3528c2ecf20Sopenharmony_ci	tristate "HiSilicon True Random Number Generator V2 support"
3538c2ecf20Sopenharmony_ci	depends on HW_RANDOM && ARM64 && ACPI
3548c2ecf20Sopenharmony_ci	default HW_RANDOM
3558c2ecf20Sopenharmony_ci	help
3568c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the True Random Number
3578c2ecf20Sopenharmony_ci	  Generator V2 hardware found on HiSilicon Hi1620 SoC.
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3608c2ecf20Sopenharmony_ci	  module will be called hisi-trng-v2.
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci	  If unsure, say Y.
3638c2ecf20Sopenharmony_ci
3648c2ecf20Sopenharmony_ciconfig HW_RANDOM_ST
3658c2ecf20Sopenharmony_ci	tristate "ST Microelectronics HW Random Number Generator support"
3668c2ecf20Sopenharmony_ci	depends on HW_RANDOM && ARCH_STI
3678c2ecf20Sopenharmony_ci	help
3688c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3698c2ecf20Sopenharmony_ci	  Generator hardware found on STi series of SoCs.
3708c2ecf20Sopenharmony_ci
3718c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3728c2ecf20Sopenharmony_ci	  module will be called st-rng.
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ciconfig HW_RANDOM_XGENE
3758c2ecf20Sopenharmony_ci	tristate "APM X-Gene True Random Number Generator (TRNG) support"
3768c2ecf20Sopenharmony_ci	depends on HW_RANDOM && ARCH_XGENE
3778c2ecf20Sopenharmony_ci	default HW_RANDOM
3788c2ecf20Sopenharmony_ci	help
3798c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3808c2ecf20Sopenharmony_ci	  Generator hardware found on APM X-Gene SoC.
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3838c2ecf20Sopenharmony_ci	  module will be called xgene_rng.
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ci	  If unsure, say Y.
3868c2ecf20Sopenharmony_ci
3878c2ecf20Sopenharmony_ciconfig HW_RANDOM_STM32
3888c2ecf20Sopenharmony_ci	tristate "STMicroelectronics STM32 random number generator"
3898c2ecf20Sopenharmony_ci	depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
3908c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
3918c2ecf20Sopenharmony_ci	default HW_RANDOM
3928c2ecf20Sopenharmony_ci	help
3938c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
3948c2ecf20Sopenharmony_ci	  Generator hardware found on STM32 microcontrollers.
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3978c2ecf20Sopenharmony_ci	  module will be called stm32-rng.
3988c2ecf20Sopenharmony_ci
3998c2ecf20Sopenharmony_ci	  If unsure, say N.
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ciconfig HW_RANDOM_PIC32
4028c2ecf20Sopenharmony_ci	tristate "Microchip PIC32 Random Number Generator support"
4038c2ecf20Sopenharmony_ci	depends on HW_RANDOM && MACH_PIC32
4048c2ecf20Sopenharmony_ci	default y
4058c2ecf20Sopenharmony_ci	help
4068c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
4078c2ecf20Sopenharmony_ci	  Generator hardware found on a PIC32.
4088c2ecf20Sopenharmony_ci
4098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. the
4108c2ecf20Sopenharmony_ci	  module will be called pic32-rng.
4118c2ecf20Sopenharmony_ci
4128c2ecf20Sopenharmony_ci	  If unsure, say Y.
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ciconfig HW_RANDOM_MESON
4158c2ecf20Sopenharmony_ci	tristate "Amlogic Meson Random Number Generator support"
4168c2ecf20Sopenharmony_ci	depends on HW_RANDOM
4178c2ecf20Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
4188c2ecf20Sopenharmony_ci	default y
4198c2ecf20Sopenharmony_ci	help
4208c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
4218c2ecf20Sopenharmony_ci	  Generator hardware found on Amlogic Meson SoCs.
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. the
4248c2ecf20Sopenharmony_ci	  module will be called meson-rng.
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_ci	  If unsure, say Y.
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ciconfig HW_RANDOM_CAVIUM
4298c2ecf20Sopenharmony_ci	tristate "Cavium ThunderX Random Number Generator support"
4308c2ecf20Sopenharmony_ci	depends on HW_RANDOM && PCI && ARCH_THUNDER
4318c2ecf20Sopenharmony_ci	default HW_RANDOM
4328c2ecf20Sopenharmony_ci	help
4338c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
4348c2ecf20Sopenharmony_ci	  Generator hardware found on Cavium SoCs.
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4378c2ecf20Sopenharmony_ci	  module will be called cavium_rng.
4388c2ecf20Sopenharmony_ci
4398c2ecf20Sopenharmony_ci	  If unsure, say Y.
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ciconfig HW_RANDOM_MTK
4428c2ecf20Sopenharmony_ci	tristate "Mediatek Random Number Generator support"
4438c2ecf20Sopenharmony_ci	depends on HW_RANDOM
4448c2ecf20Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
4458c2ecf20Sopenharmony_ci	default y
4468c2ecf20Sopenharmony_ci	help
4478c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the Random Number
4488c2ecf20Sopenharmony_ci	  Generator hardware found on Mediatek SoCs.
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. the
4518c2ecf20Sopenharmony_ci	  module will be called mtk-rng.
4528c2ecf20Sopenharmony_ci
4538c2ecf20Sopenharmony_ci	  If unsure, say Y.
4548c2ecf20Sopenharmony_ci
4558c2ecf20Sopenharmony_ciconfig HW_RANDOM_S390
4568c2ecf20Sopenharmony_ci	tristate "S390 True Random Number Generator support"
4578c2ecf20Sopenharmony_ci	depends on S390
4588c2ecf20Sopenharmony_ci	default HW_RANDOM
4598c2ecf20Sopenharmony_ci	help
4608c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for the True
4618c2ecf20Sopenharmony_ci	  Random Number Generator available as CPACF extension
4628c2ecf20Sopenharmony_ci	  on modern s390 hardware platforms.
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4658c2ecf20Sopenharmony_ci	  module will be called s390-trng.
4668c2ecf20Sopenharmony_ci
4678c2ecf20Sopenharmony_ci	  If unsure, say Y.
4688c2ecf20Sopenharmony_ci
4698c2ecf20Sopenharmony_ciconfig HW_RANDOM_EXYNOS
4708c2ecf20Sopenharmony_ci	tristate "Samsung Exynos True Random Number Generator support"
4718c2ecf20Sopenharmony_ci	depends on ARCH_EXYNOS || COMPILE_TEST
4728c2ecf20Sopenharmony_ci	default HW_RANDOM
4738c2ecf20Sopenharmony_ci	help
4748c2ecf20Sopenharmony_ci	  This driver provides support for the True Random Number
4758c2ecf20Sopenharmony_ci	  Generator available in Exynos SoCs.
4768c2ecf20Sopenharmony_ci
4778c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4788c2ecf20Sopenharmony_ci	  will be called exynos-trng.
4798c2ecf20Sopenharmony_ci
4808c2ecf20Sopenharmony_ci	  If unsure, say Y.
4818c2ecf20Sopenharmony_ci
4828c2ecf20Sopenharmony_ciconfig HW_RANDOM_OPTEE
4838c2ecf20Sopenharmony_ci	tristate "OP-TEE based Random Number Generator support"
4848c2ecf20Sopenharmony_ci	depends on OPTEE
4858c2ecf20Sopenharmony_ci	default HW_RANDOM
4868c2ecf20Sopenharmony_ci	help
4878c2ecf20Sopenharmony_ci	  This  driver provides support for OP-TEE based Random Number
4888c2ecf20Sopenharmony_ci	  Generator on ARM SoCs where hardware entropy sources are not
4898c2ecf20Sopenharmony_ci	  accessible to normal world (Linux).
4908c2ecf20Sopenharmony_ci
4918c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
4928c2ecf20Sopenharmony_ci	  will be called optee-rng.
4938c2ecf20Sopenharmony_ci
4948c2ecf20Sopenharmony_ci	  If unsure, say Y.
4958c2ecf20Sopenharmony_ci
4968c2ecf20Sopenharmony_ciconfig HW_RANDOM_NPCM
4978c2ecf20Sopenharmony_ci	tristate "NPCM Random Number Generator support"
4988c2ecf20Sopenharmony_ci	depends on ARCH_NPCM || COMPILE_TEST
4998c2ecf20Sopenharmony_ci	default HW_RANDOM
5008c2ecf20Sopenharmony_ci	help
5018c2ecf20Sopenharmony_ci 	  This driver provides support for the Random Number
5028c2ecf20Sopenharmony_ci	  Generator hardware available in Nuvoton NPCM SoCs.
5038c2ecf20Sopenharmony_ci
5048c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
5058c2ecf20Sopenharmony_ci	  module will be called npcm-rng.
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ci 	  If unsure, say Y.
5088c2ecf20Sopenharmony_ci
5098c2ecf20Sopenharmony_ciconfig HW_RANDOM_KEYSTONE
5108c2ecf20Sopenharmony_ci	depends on ARCH_KEYSTONE || COMPILE_TEST
5118c2ecf20Sopenharmony_ci	default HW_RANDOM
5128c2ecf20Sopenharmony_ci	tristate "TI Keystone NETCP SA Hardware random number generator"
5138c2ecf20Sopenharmony_ci	help
5148c2ecf20Sopenharmony_ci	  This option enables Keystone's hardware random generator.
5158c2ecf20Sopenharmony_ci
5168c2ecf20Sopenharmony_ciconfig HW_RANDOM_CCTRNG
5178c2ecf20Sopenharmony_ci	tristate "Arm CryptoCell True Random Number Generator support"
5188c2ecf20Sopenharmony_ci	depends on HAS_IOMEM && OF
5198c2ecf20Sopenharmony_ci	help
5208c2ecf20Sopenharmony_ci	  Say 'Y' to enable the True Random Number Generator driver for the
5218c2ecf20Sopenharmony_ci	  Arm TrustZone CryptoCell family of processors.
5228c2ecf20Sopenharmony_ci	  Currently the CryptoCell 713 and 703 are supported.
5238c2ecf20Sopenharmony_ci	  The driver is supported only in SoC where Trusted Execution
5248c2ecf20Sopenharmony_ci	  Environment is not used.
5258c2ecf20Sopenharmony_ci	  Choose 'M' to compile this driver as a module. The module
5268c2ecf20Sopenharmony_ci	  will be called cctrng.
5278c2ecf20Sopenharmony_ci	  If unsure, say 'N'.
5288c2ecf20Sopenharmony_ci
5298c2ecf20Sopenharmony_ciconfig HW_RANDOM_XIPHERA
5308c2ecf20Sopenharmony_ci	tristate "Xiphera FPGA based True Random Number Generator support"
5318c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
5328c2ecf20Sopenharmony_ci	help
5338c2ecf20Sopenharmony_ci	  This driver provides kernel-side support for Xiphera True Random
5348c2ecf20Sopenharmony_ci	  Number Generator Intellectual Property Core.
5358c2ecf20Sopenharmony_ci
5368c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
5378c2ecf20Sopenharmony_ci	  module will be called xiphera-trng.
5388c2ecf20Sopenharmony_ci
5398c2ecf20Sopenharmony_ciendif # HW_RANDOM
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ciconfig UML_RANDOM
5428c2ecf20Sopenharmony_ci	depends on UML
5438c2ecf20Sopenharmony_ci	select HW_RANDOM
5448c2ecf20Sopenharmony_ci	tristate "UML Random Number Generator support"
5458c2ecf20Sopenharmony_ci	help
5468c2ecf20Sopenharmony_ci	  This option enables UML's "hardware" random number generator.  It
5478c2ecf20Sopenharmony_ci	  attaches itself to the host's /dev/random, supplying as much entropy
5488c2ecf20Sopenharmony_ci	  as the host has, rather than the small amount the UML gets from its
5498c2ecf20Sopenharmony_ci	  own drivers. It registers itself as a rng-core driver thus providing
5508c2ecf20Sopenharmony_ci	  a device which is usually called /dev/hwrng. This hardware random
5518c2ecf20Sopenharmony_ci	  number generator does feed into the kernel's random number generator
5528c2ecf20Sopenharmony_ci	  entropy pool.
5538c2ecf20Sopenharmony_ci
5548c2ecf20Sopenharmony_ci	  If unsure, say Y.
555