2006-06-26 11:24:59 +04:00
#
# Hardware Random Number Generator (RNG) configuration
#
2014-04-08 16:33:04 +04:00
menuconfig HW_RANDOM
2006-12-07 07:38:20 +03:00
tristate "Hardware Random Number Generator Core support"
default m
2006-06-26 11:24:59 +04:00
---help---
Hardware Random Number Generator Core infrastructure.
2006-12-07 07:38:20 +03:00
To compile this driver as a module, choose M here: the
2008-03-24 22:29:51 +03:00
module will be called rng-core. This provides a device
that's usually called /dev/hw_random, and which exposes one
of possibly several hardware random number generators.
These hardware random number generators do not feed directly
into the kernel's random number generator. That is usually
handled by the "rngd" daemon. Documentation/hw_random.txt
has more information.
2006-12-07 07:38:20 +03:00
2006-06-26 11:24:59 +04:00
If unsure, say Y.
2006-06-26 11:24:59 +04:00
2014-04-08 16:33:04 +04: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 07:03:56 +03:00
config HW_RANDOM_TIMERIOMEM
tristate "Timer IOMEM HW Random Number Generator support"
2014-04-08 16:33:04 +04: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 07:03:56 +03: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 11:24:59 +04:00
config HW_RANDOM_INTEL
tristate "Intel HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on (X86 || IA64) && PCI
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:24:59 +04: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 11:25:00 +04:00
config HW_RANDOM_AMD
tristate "AMD HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on (X86 || PPC_MAPLE) && PCI
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:25:00 +04: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 11:25:01 +04:00
2011-10-06 21:56:30 +04:00
config HW_RANDOM_ATMEL
tristate "Atmel Random Number Generator support"
2014-04-08 16:36:37 +04:00
depends on ARCH_AT91 && HAVE_CLK
default HW_RANDOM
2011-10-06 21:56:30 +04: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.
2012-07-24 18:33:11 +04:00
config HW_RANDOM_BCM63XX
tristate "Broadcom BCM63xx Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on BCM63XX
2012-07-24 18:33:11 +04:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
Generator hardware found on the Broadcom BCM63xx SoCs.
To compile this driver as a module, choose M here: the
module will be called bcm63xx-rng
If unusure, say Y.
2013-03-28 10:19:38 +04:00
config HW_RANDOM_BCM2835
tristate "Broadcom BCM2835 Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on ARCH_BCM2835
2013-03-28 10:19:38 +04:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
Generator hardware found on the Broadcom BCM2835 SoCs.
To compile this driver as a module, choose M here: the
module will be called bcm2835-rng
If unsure, say Y.
2012-07-24 18:33:11 +04:00
2006-06-26 11:25:01 +04:00
config HW_RANDOM_GEODE
tristate "AMD Geode HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on X86_32 && PCI
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:25:01 +04: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 11:25:02 +04:00
2008-06-04 02:56:11 +04:00
config HW_RANDOM_N2RNG
tristate "Niagara2 Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on SPARC64
2008-06-04 02:56:11 +04: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 11:25:02 +04:00
config HW_RANDOM_VIA
tristate "VIA HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on X86
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:25:02 +04: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 11:25:02 +04:00
config HW_RANDOM_IXP4XX
2010-03-23 22:22:13 +03:00
tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on ARCH_IXP4XX
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:25:02 +04:00
---help---
2010-03-23 22:22:13 +03:00
This driver provides kernel-side support for the Pseudo-Random
Number Generator hardware found on the Intel IXP45x/46x NPU.
2006-06-26 11:25:02 +04: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 11:25:03 +04:00
config HW_RANDOM_OMAP
tristate "OMAP Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
2006-12-07 07:38:20 +03:00
default HW_RANDOM
2006-06-26 11:25:03 +04:00
---help---
This driver provides kernel-side support for the Random Number
2013-08-05 18:47:23 +04:00
Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx
multimedia processors.
2006-06-26 11:25:03 +04: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 13:33:35 +04:00
2013-09-20 17:25:06 +04:00
config HW_RANDOM_OMAP3_ROM
tristate "OMAP3 ROM Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on ARCH_OMAP3
2013-09-20 17:25:06 +04: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-21 01:10:23 +04:00
config HW_RANDOM_OCTEON
tristate "Octeon Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on CAVIUM_OCTEON_SOC
2009-08-21 01:10:23 +04: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 13:33:35 +04:00
config HW_RANDOM_PASEMI
tristate "PA Semi HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on PPC_PASEMI
2007-05-09 13:33:35 +04:00
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
2007-11-05 05:57:45 +03:00
Generator hardware found on PA Semi PWRficient SoCs.
2007-05-09 13:33:35 +04:00
To compile this driver as a module, choose M here: the
module will be called pasemi-rng.
If unsure, say Y.
2008-05-31 00:09:44 +04:00
config HW_RANDOM_VIRTIO
tristate "VirtIO Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on VIRTIO
2008-05-31 00:09:44 +04: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 19:38:41 +04:00
2009-06-02 18:54:21 +04:00
config HW_RANDOM_TX4939
tristate "TX4939 Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on SOC_TX4939
2009-06-02 18:54:21 +04: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 19:38:41 +04:00
config HW_RANDOM_MXC_RNGA
tristate "Freescale i.MX RNGA Random Number Generator"
2014-04-08 16:33:04 +04:00
depends on ARCH_HAS_RNGA
2014-04-08 16:36:37 +04:00
default HW_RANDOM
2009-04-02 19:38:41 +04: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 14:45:43 +03:00
config HW_RANDOM_NOMADIK
tristate "ST-Ericsson Nomadik Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on ARCH_NOMADIK
2014-04-08 16:36:37 +04:00
default HW_RANDOM
2009-12-19 14:45:43 +03: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 10:58:29 +03:00
2011-06-27 11:34:54 +04:00
config HW_RANDOM_PPC4XX
tristate "PowerPC 4xx generic true random number generator support"
2014-04-08 16:33:04 +04:00
depends on PPC && 4xx
2014-04-08 16:36:37 +04:00
default HW_RANDOM
2011-06-27 11:34:54 +04:00
---help---
This driver provides the kernel-side support for the TRNG hardware
found in the security function of some PowerPC 4xx SoCs.
To compile this driver as a module, choose M here: the
module will be called ppc4xx-rng.
If unsure, say N.
2011-08-18 23:13:00 +04:00
2012-04-12 09:08:53 +04:00
config HW_RANDOM_PSERIES
tristate "pSeries HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on PPC64 && IBMVIO
2012-04-12 09:08:53 +04: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 04:43:26 +04:00
2013-10-11 07:07:58 +04:00
config HW_RANDOM_POWERNV
tristate "PowerNV Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on PPC_POWERNV
2013-10-11 07:07:58 +04: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-06-29 04:43:26 +04:00
config HW_RANDOM_EXYNOS
tristate "EXYNOS HW random number generator support"
2014-04-08 16:36:37 +04:00
depends on ARCH_EXYNOS
default HW_RANDOM
2012-06-29 04:43:26 +04:00
---help---
This driver provides kernel-side support for the Random Number
Generator hardware found on EXYNOS SOCs.
To compile this driver as a module, choose M here: the
module will be called exynos-rng.
If unsure, say Y.
2012-08-08 23:18:57 +04:00
config HW_RANDOM_TPM
tristate "TPM HW Random Number Generator support"
2014-04-08 16:33:04 +04:00
depends on TCG_TPM
2012-08-08 23:18:57 +04: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 18:11:18 +04:00
config HW_RANDOM_MSM
2014-01-31 00:43:49 +04:00
tristate "Qualcomm SoCs Random Number Generator support"
depends on HW_RANDOM && ARCH_QCOM
2014-04-08 16:36:37 +04:00
default HW_RANDOM
2013-10-15 18:11:18 +04:00
---help---
This driver provides kernel-side support for the Random Number
2014-01-31 00:43:49 +04:00
Generator hardware found on Qualcomm SoCs.
2013-10-15 18:11:18 +04: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 16:27:31 +04:00
2014-08-23 03:26:38 +04: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.
2014-04-08 16:33:04 +04:00
endif # HW_RANDOM
2014-04-08 16:27:31 +04: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.