2 # Hardware Random Number Generator (RNG) configuration
6 tristate "Hardware Random Number Generator Core support"
9 Hardware Random Number Generator Core infrastructure.
11 To compile this driver as a module, choose M here: the
12 module will be called rng-core. This provides a device
13 that's usually called /dev/hwrng, and which exposes one
14 of possibly several hardware random number generators.
16 These hardware random number generators do feed into the
17 kernel's random number generator entropy pool.
23 config HW_RANDOM_TIMERIOMEM
24 tristate "Timer IOMEM HW Random Number Generator support"
27 This driver provides kernel-side support for a generic Random
28 Number Generator used by reading a 'dumb' iomem address that
29 is to be read no faster than, for example, once a second;
30 the default FPGA bitstream on the TS-7800 has such functionality.
32 To compile this driver as a module, choose M here: the
33 module will be called timeriomem-rng.
37 config HW_RANDOM_INTEL
38 tristate "Intel HW Random Number Generator support"
39 depends on (X86 || IA64) && PCI
42 This driver provides kernel-side support for the Random Number
43 Generator hardware found on Intel i8xx-based motherboards.
45 To compile this driver as a module, choose M here: the
46 module will be called intel-rng.
51 tristate "AMD HW Random Number Generator support"
52 depends on (X86 || PPC_MAPLE) && PCI
55 This driver provides kernel-side support for the Random Number
56 Generator hardware found on AMD 76x-based motherboards.
58 To compile this driver as a module, choose M here: the
59 module will be called amd-rng.
63 config HW_RANDOM_ATMEL
64 tristate "Atmel Random Number Generator support"
65 depends on ARCH_AT91 && HAVE_CLK && OF
68 This driver provides kernel-side support for the Random Number
69 Generator hardware found on Atmel AT91 devices.
71 To compile this driver as a module, choose M here: the
72 module will be called atmel-rng.
76 config HW_RANDOM_BCM63XX
77 tristate "Broadcom BCM63xx Random Number Generator support"
78 depends on BCM63XX || BMIPS_GENERIC
81 This driver provides kernel-side support for the Random Number
82 Generator hardware found on the Broadcom BCM63xx SoCs.
84 To compile this driver as a module, choose M here: the
85 module will be called bcm63xx-rng
89 config HW_RANDOM_BCM2835
90 tristate "Broadcom BCM2835 Random Number Generator support"
91 depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X
94 This driver provides kernel-side support for the Random Number
95 Generator hardware found on the Broadcom BCM2835 SoCs.
97 To compile this driver as a module, choose M here: the
98 module will be called bcm2835-rng
102 config HW_RANDOM_IPROC_RNG200
103 tristate "Broadcom iProc/STB RNG200 support"
104 depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
107 This driver provides kernel-side support for the RNG200
108 hardware found on the Broadcom iProc and STB SoCs.
110 To compile this driver as a module, choose M here: the
111 module will be called iproc-rng200
115 config HW_RANDOM_GEODE
116 tristate "AMD Geode HW Random Number Generator support"
117 depends on X86_32 && PCI
120 This driver provides kernel-side support for the Random Number
121 Generator hardware found on the AMD Geode LX.
123 To compile this driver as a module, choose M here: the
124 module will be called geode-rng.
128 config HW_RANDOM_N2RNG
129 tristate "Niagara2 Random Number Generator support"
133 This driver provides kernel-side support for the Random Number
134 Generator hardware found on Niagara2 cpus.
136 To compile this driver as a module, choose M here: the
137 module will be called n2-rng.
142 tristate "VIA HW Random Number Generator support"
146 This driver provides kernel-side support for the Random Number
147 Generator hardware found on VIA based motherboards.
149 To compile this driver as a module, choose M here: the
150 module will be called via-rng.
154 config HW_RANDOM_IXP4XX
155 tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
156 depends on ARCH_IXP4XX
159 This driver provides kernel-side support for the Pseudo-Random
160 Number Generator hardware found on the Intel IXP45x/46x NPU.
162 To compile this driver as a module, choose M here: the
163 module will be called ixp4xx-rng.
167 config HW_RANDOM_OMAP
168 tristate "OMAP Random Number Generator support"
169 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
172 This driver provides kernel-side support for the Random Number
173 Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
174 multimedia processors, and Marvell Armada 7k/8k SoCs.
176 To compile this driver as a module, choose M here: the
177 module will be called omap-rng.
181 config HW_RANDOM_OMAP3_ROM
182 tristate "OMAP3 ROM Random Number Generator support"
183 depends on ARCH_OMAP3
186 This driver provides kernel-side support for the Random Number
187 Generator hardware found on OMAP34xx processors.
189 To compile this driver as a module, choose M here: the
190 module will be called omap3-rom-rng.
194 config HW_RANDOM_OCTEON
195 tristate "Octeon Random Number Generator support"
196 depends on CAVIUM_OCTEON_SOC
199 This driver provides kernel-side support for the Random Number
200 Generator hardware found on Octeon processors.
202 To compile this driver as a module, choose M here: the
203 module will be called octeon-rng.
207 config HW_RANDOM_PASEMI
208 tristate "PA Semi HW Random Number Generator support"
209 depends on PPC_PASEMI
212 This driver provides kernel-side support for the Random Number
213 Generator hardware found on PA Semi PWRficient SoCs.
215 To compile this driver as a module, choose M here: the
216 module will be called pasemi-rng.
220 config HW_RANDOM_VIRTIO
221 tristate "VirtIO Random Number Generator support"
224 This driver provides kernel-side support for the virtual Random Number
227 To compile this driver as a module, choose M here: the
228 module will be called virtio-rng. If unsure, say N.
230 config HW_RANDOM_TX4939
231 tristate "TX4939 Random Number Generator support"
232 depends on SOC_TX4939
235 This driver provides kernel-side support for the Random Number
236 Generator hardware found on TX4939 SoC.
238 To compile this driver as a module, choose M here: the
239 module will be called tx4939-rng.
243 config HW_RANDOM_MXC_RNGA
244 tristate "Freescale i.MX RNGA Random Number Generator"
248 This driver provides kernel-side support for the Random Number
249 Generator hardware found on Freescale i.MX processors.
251 To compile this driver as a module, choose M here: the
252 module will be called mxc-rnga.
256 config HW_RANDOM_IMX_RNGC
257 tristate "Freescale i.MX RNGC Random Number Generator"
261 This driver provides kernel-side support for the Random Number
262 Generator Version C hardware found on some Freescale i.MX
263 processors. Version B is also supported by this driver.
265 To compile this driver as a module, choose M here: the
266 module will be called imx-rngc.
270 config HW_RANDOM_NOMADIK
271 tristate "ST-Ericsson Nomadik Random Number Generator support"
272 depends on ARCH_NOMADIK
275 This driver provides kernel-side support for the Random Number
276 Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
278 To compile this driver as a module, choose M here: the
279 module will be called nomadik-rng.
283 config HW_RANDOM_PSERIES
284 tristate "pSeries HW Random Number Generator support"
285 depends on PPC64 && IBMVIO
288 This driver provides kernel-side support for the Random Number
289 Generator hardware found on POWER7+ machines and above
291 To compile this driver as a module, choose M here: the
292 module will be called pseries-rng.
296 config HW_RANDOM_POWERNV
297 tristate "PowerNV Random Number Generator support"
298 depends on PPC_POWERNV
301 This is the driver for Random Number Generator hardware found
302 in POWER7+ and above machines for PowerNV platform.
304 To compile this driver as a module, choose M here: the
305 module will be called powernv-rng.
310 tristate "TPM HW Random Number Generator support"
314 This driver provides kernel-side support for the Random Number
315 Generator in the Trusted Platform Module
317 To compile this driver as a module, choose M here: the
318 module will be called tpm-rng.
322 config HW_RANDOM_HISI
323 tristate "Hisilicon Random Number Generator support"
324 depends on HW_RANDOM && ARCH_HISI
327 This driver provides kernel-side support for the Random Number
328 Generator hardware found on Hisilicon Hip04 and Hip05 SoC.
330 To compile this driver as a module, choose M here: the
331 module will be called hisi-rng.
336 tristate "Qualcomm SoCs Random Number Generator support"
337 depends on HW_RANDOM && ARCH_QCOM
340 This driver provides kernel-side support for the Random Number
341 Generator hardware found on Qualcomm SoCs.
343 To compile this driver as a module, choose M here. the
344 module will be called msm-rng.
349 tristate "ST Microelectronics HW Random Number Generator support"
350 depends on HW_RANDOM && ARCH_STI
352 This driver provides kernel-side support for the Random Number
353 Generator hardware found on STi series of SoCs.
355 To compile this driver as a module, choose M here: the
356 module will be called st-rng.
358 config HW_RANDOM_XGENE
359 tristate "APM X-Gene True Random Number Generator (TRNG) support"
360 depends on HW_RANDOM && ARCH_XGENE
363 This driver provides kernel-side support for the Random Number
364 Generator hardware found on APM X-Gene SoC.
366 To compile this driver as a module, choose M here: the
367 module will be called xgene_rng.
371 config HW_RANDOM_STM32
372 tristate "STMicroelectronics STM32 random number generator"
373 depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
376 This driver provides kernel-side support for the Random Number
377 Generator hardware found on STM32 microcontrollers.
379 To compile this driver as a module, choose M here: the
380 module will be called stm32-rng.
384 config HW_RANDOM_PIC32
385 tristate "Microchip PIC32 Random Number Generator support"
386 depends on HW_RANDOM && MACH_PIC32
389 This driver provides kernel-side support for the Random Number
390 Generator hardware found on a PIC32.
392 To compile this driver as a module, choose M here. the
393 module will be called pic32-rng.
397 config HW_RANDOM_MESON
398 tristate "Amlogic Meson Random Number Generator support"
400 depends on ARCH_MESON || COMPILE_TEST
403 This driver provides kernel-side support for the Random Number
404 Generator hardware found on Amlogic Meson SoCs.
406 To compile this driver as a module, choose M here. the
407 module will be called meson-rng.
411 config HW_RANDOM_CAVIUM
412 tristate "Cavium ThunderX Random Number Generator support"
413 depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT))
416 This driver provides kernel-side support for the Random Number
417 Generator hardware found on Cavium SoCs.
419 To compile this driver as a module, choose M here: the
420 module will be called cavium_rng.
425 tristate "Mediatek Random Number Generator support"
427 depends on ARCH_MEDIATEK || COMPILE_TEST
430 This driver provides kernel-side support for the Random Number
431 Generator hardware found on Mediatek SoCs.
433 To compile this driver as a module, choose M here. the
434 module will be called mtk-rng.
438 config HW_RANDOM_S390
439 tristate "S390 True Random Number Generator support"
443 This driver provides kernel-side support for the True
444 Random Number Generator available as CPACF extension
445 on modern s390 hardware platforms.
447 To compile this driver as a module, choose M here: the
448 module will be called s390-trng.
456 tristate "Hardware random number generator"
458 This option enables UML's "hardware" random number generator. It
459 attaches itself to the host's /dev/random, supplying as much entropy
460 as the host has, rather than the small amount the UML gets from its
461 own drivers. It registers itself as a standard hardware random number
462 generator, major 10, minor 183, and the canonical device name is
464 The way to make use of this is to install the rng-tools package
465 (check your distro, or download from
466 http://sourceforge.net/projects/gkernel/). rngd periodically reads
467 /dev/hwrng and injects the entropy into /dev/random.