2006-06-26 00:24:59 -07:00
#
# Hardware Random Number Generator (RNG) configuration
#
2014-04-08 14:33:04 +02:00
menuconfig HW_RANDOM
2006-12-06 20:38:20 -08:00
tristate "Hardware Random Number Generator Core support"
default m
2006-06-26 00:24:59 -07:00
---help---
Hardware Random Number Generator Core infrastructure.
2006-12-06 20:38:20 -08:00
To compile this driver as a module, choose M here: the
2008-03-24 12:29:51 -07:00
module will be called rng-core. This provides a device
2015-09-17 14:45:52 +01:00
that's usually called /dev/hwrng, and which exposes one
2008-03-24 12:29:51 -07:00
of possibly several hardware random number generators.
2017-07-21 22:55:56 +05:30
These hardware random number generators do feed into the
kernel's random number generator entropy pool.
2006-12-06 20:38:20 -08:00
2006-06-26 00:24:59 -07:00
If unsure, say Y.
2006-06-26 00:24:59 -07:00
2014-04-08 14:33:04 +02:00
if HW_RANDOM
hwrng: timeriomem - New driver
Some hardware platforms, the TS-7800[1] is one for example, can
supply the kernel with an entropy source, albeit a slow one for
TS-7800 users, by just reading a particular IO address. This
source must not be read above a certain rate otherwise the quality
suffers.
The driver is then hooked into by calling
platform_device_(register|add|del) passing a structure similar to:
------
static struct timeriomem_rng_data ts78xx_ts_rng_data = {
.address = (u32 *__iomem) TS_RNG,
.period = 1000000, /* one second */
};
static struct platform_device ts78xx_ts_rng_device = {
.name = "timeriomem_rng",
.id = -1,
.dev = {
.platform_data = &ts78xx_ts_rng_data,
},
.num_resources = 0,
};
------
[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800
Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-02-22 12:03:56 +08:00
config HW_RANDOM_TIMERIOMEM
tristate "Timer IOMEM HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on HAS_IOMEM
hwrng: timeriomem - New driver
Some hardware platforms, the TS-7800[1] is one for example, can
supply the kernel with an entropy source, albeit a slow one for
TS-7800 users, by just reading a particular IO address. This
source must not be read above a certain rate otherwise the quality
suffers.
The driver is then hooked into by calling
platform_device_(register|add|del) passing a structure similar to:
------
static struct timeriomem_rng_data ts78xx_ts_rng_data = {
.address = (u32 *__iomem) TS_RNG,
.period = 1000000, /* one second */
};
static struct platform_device ts78xx_ts_rng_device = {
.name = "timeriomem_rng",
.id = -1,
.dev = {
.platform_data = &ts78xx_ts_rng_data,
},
.num_resources = 0,
};
------
[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800
Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-02-22 12:03:56 +08:00
---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.
2006-06-26 00:24:59 -07:00
config HW_RANDOM_INTEL
tristate "Intel HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on (X86 || IA64) && PCI
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:24:59 -07:00
---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.
2006-06-26 00:25:00 -07:00
config HW_RANDOM_AMD
tristate "AMD HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on (X86 || PPC_MAPLE) && PCI
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:25:00 -07:00
---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.
2006-06-26 00:25:01 -07:00
2011-10-06 19:56:30 +02:00
config HW_RANDOM_ATMEL
tristate "Atmel Random Number Generator support"
2014-11-20 10:43:23 +01:00
depends on ARCH_AT91 && HAVE_CLK && OF
2014-04-08 14:36:37 +02:00
default HW_RANDOM
2011-10-06 19:56:30 +02:00
---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.
2013-03-28 07:19:38 +01:00
config HW_RANDOM_BCM2835
2017-11-07 16:44:48 -08:00
tristate "Broadcom BCM2835/BCM63xx Random Number Generator support"
depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \
ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC
2013-03-28 07:19:38 +01:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
2017-11-07 16:44:48 -08:00
Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs.
2013-03-28 07:19:38 +01:00
To compile this driver as a module, choose M here: the
module will be called bcm2835-rng
If unsure, say Y.
2012-07-24 16:33:11 +02:00
2015-03-04 12:42:14 -08:00
config HW_RANDOM_IPROC_RNG200
2017-11-01 16:20:06 -07:00
tristate "Broadcom iProc/STB RNG200 support"
depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
2015-03-04 12:42:14 -08:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the RNG200
2017-11-01 16:20:06 -07:00
hardware found on the Broadcom iProc and STB SoCs.
2015-03-04 12:42:14 -08:00
To compile this driver as a module, choose M here: the
module will be called iproc-rng200
If unsure, say Y.
2006-06-26 00:25:01 -07:00
config HW_RANDOM_GEODE
tristate "AMD Geode HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on X86_32 && PCI
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:25:01 -07:00
---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.
2006-06-26 00:25:02 -07:00
2008-06-03 15:56:11 -07:00
config HW_RANDOM_N2RNG
tristate "Niagara2 Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on SPARC64
2008-06-03 15:56:11 -07:00
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.
2006-06-26 00:25:02 -07:00
config HW_RANDOM_VIA
tristate "VIA HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on X86
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:25:02 -07:00
---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.
2006-06-26 00:25:02 -07:00
config HW_RANDOM_IXP4XX
2010-03-23 20:22:13 +01:00
tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on ARCH_IXP4XX
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:25:02 -07:00
---help---
2010-03-23 20:22:13 +01:00
This driver provides kernel-side support for the Pseudo-Random
Number Generator hardware found on the Intel IXP45x/46x NPU.
2006-06-26 00:25:02 -07:00
To compile this driver as a module, choose M here: the
module will be called ixp4xx-rng.
If unsure, say Y.
2006-06-26 00:25:03 -07:00
config HW_RANDOM_OMAP
tristate "OMAP Random Number Generator support"
2016-09-16 12:08:55 +02:00
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
2006-12-06 20:38:20 -08:00
default HW_RANDOM
2006-06-26 00:25:03 -07:00
---help---
This driver provides kernel-side support for the Random Number
2017-02-13 12:04:08 +00:00
Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
multimedia processors, and Marvell Armada 7k/8k SoCs.
2006-06-26 00:25:03 -07:00
To compile this driver as a module, choose M here: the
module will be called omap-rng.
If unsure, say Y.
2007-05-09 02:33:35 -07:00
2013-09-20 15:25:06 +02:00
config HW_RANDOM_OMAP3_ROM
tristate "OMAP3 ROM Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on ARCH_OMAP3
2013-09-20 15:25:06 +02:00
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.
2009-08-20 14:10:23 -07:00
config HW_RANDOM_OCTEON
tristate "Octeon Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on CAVIUM_OCTEON_SOC
2009-08-20 14:10:23 -07:00
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.
2007-05-09 02:33:35 -07:00
config HW_RANDOM_PASEMI
tristate "PA Semi HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on PPC_PASEMI
2007-05-09 02:33:35 -07:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
2007-11-04 20:57:45 -06:00
Generator hardware found on PA Semi PWRficient SoCs.
2007-05-09 02:33:35 -07:00
To compile this driver as a module, choose M here: the
module will be called pasemi-rng.
If unsure, say Y.
2008-05-30 15:09:44 -05:00
config HW_RANDOM_VIRTIO
tristate "VirtIO Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on VIRTIO
2008-05-30 15:09:44 -05:00
---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.
2009-04-02 12:38:41 -03:00
2009-06-02 23:54:21 +09:00
config HW_RANDOM_TX4939
tristate "TX4939 Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on SOC_TX4939
2009-06-02 23:54:21 +09:00
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.
2009-04-02 12:38:41 -03:00
config HW_RANDOM_MXC_RNGA
tristate "Freescale i.MX RNGA Random Number Generator"
2016-08-16 21:49:45 +02:00
depends on SOC_IMX31
2014-04-08 14:36:37 +02:00
default HW_RANDOM
2009-04-02 12:38:41 -03:00
---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.
2009-12-19 19:45:43 +08:00
2017-07-23 19:49:06 +02:00
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.
2009-12-19 19:45:43 +08:00
config HW_RANDOM_NOMADIK
tristate "ST-Ericsson Nomadik Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on ARCH_NOMADIK
2014-04-08 14:36:37 +02:00
default HW_RANDOM
2009-12-19 19:45:43 +08:00
---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.
2011-01-23 18:58:29 +11:00
2012-04-12 05:08:53 +00:00
config HW_RANDOM_PSERIES
tristate "pSeries HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on PPC64 && IBMVIO
2012-04-12 05:08:53 +00:00
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.
2012-06-29 09:43:26 +09:00
2013-10-11 14:07:58 +11:00
config HW_RANDOM_POWERNV
tristate "PowerNV Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on PPC_POWERNV
2013-10-11 14:07:58 +11:00
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.
2012-08-08 14:18:57 -05:00
config HW_RANDOM_TPM
tristate "TPM HW Random Number Generator support"
2014-04-08 14:33:04 +02:00
depends on TCG_TPM
2012-08-08 14:18:57 -05:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
Generator in the Trusted Platform Module
To compile this driver as a module, choose M here: the
module will be called tpm-rng.
If unsure, say Y.
2013-10-15 17:11:18 +03:00
2016-04-13 18:11:28 +08:00
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.
2013-10-15 17:11:18 +03:00
config HW_RANDOM_MSM
2014-01-30 14:43:49 -06:00
tristate "Qualcomm SoCs Random Number Generator support"
depends on HW_RANDOM && ARCH_QCOM
2014-04-08 14:36:37 +02:00
default HW_RANDOM
2013-10-15 17:11:18 +03:00
---help---
This driver provides kernel-side support for the Random Number
2014-01-30 14:43:49 -06:00
Generator hardware found on Qualcomm SoCs.
2013-10-15 17:11:18 +03:00
To compile this driver as a module, choose M here. the
module will be called msm-rng.
If unsure, say Y.
2014-04-08 14:27:31 +02:00
2015-09-17 14:45:55 +01:00
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.
2014-08-22 16:26:38 -07:00
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.
2015-10-12 09:21:29 +01:00
config HW_RANDOM_STM32
tristate "STMicroelectronics STM32 random number generator"
depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
2016-01-25 23:24:04 +01:00
depends on HAS_IOMEM
2015-10-12 09:21:29 +01:00
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.
2016-02-08 14:17:53 -07:00
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.
2016-06-10 10:21:53 +02:00
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.
2016-08-23 16:27:15 -07:00
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.
2017-04-21 00:24:26 +08:00
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.
2017-02-24 09:10:05 +01:00
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.
2014-04-08 14:33:04 +02:00
endif # HW_RANDOM
2014-04-08 14:27:31 +02:00
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.