557 lines
16 KiB
Plaintext
557 lines
16 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Hardware Random Number Generator (RNG) configuration
|
|
#
|
|
|
|
menuconfig HW_RANDOM
|
|
tristate "Hardware Random Number Generator Core support"
|
|
default m
|
|
help
|
|
Hardware Random Number Generator Core infrastructure.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rng-core. This provides a device
|
|
that's usually called /dev/hwrng, and which exposes one
|
|
of possibly several hardware random number generators.
|
|
|
|
These hardware random number generators do feed into the
|
|
kernel's random number generator entropy pool.
|
|
|
|
If unsure, say Y.
|
|
|
|
if HW_RANDOM
|
|
|
|
config HW_RANDOM_TIMERIOMEM
|
|
tristate "Timer IOMEM HW Random Number Generator support"
|
|
depends on HAS_IOMEM
|
|
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.
|
|
|
|
config HW_RANDOM_INTEL
|
|
tristate "Intel HW Random Number Generator support"
|
|
depends on (X86 || IA64) && PCI
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_AMD
|
|
tristate "AMD HW Random Number Generator support"
|
|
depends on (X86 || PPC_MAPLE) && PCI
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_ATMEL
|
|
tristate "Atmel Random Number Generator support"
|
|
depends on ARCH_AT91 && HAVE_CLK && OF
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_BA431
|
|
tristate "Silex Insight BA431 Random Number Generator support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware based on Silex Insight BA431 IP.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ba431-rng.
|
|
|
|
config HW_RANDOM_BCM2835
|
|
tristate "Broadcom BCM2835/BCM63xx Random Number Generator support"
|
|
depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \
|
|
ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bcm2835-rng
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_IPROC_RNG200
|
|
tristate "Broadcom iProc/STB RNG200 support"
|
|
depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the RNG200
|
|
hardware found on the Broadcom iProc and STB SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called iproc-rng200
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_GEODE
|
|
tristate "AMD Geode HW Random Number Generator support"
|
|
depends on X86_32 && PCI
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_N2RNG
|
|
tristate "Niagara2 Random Number Generator support"
|
|
depends on SPARC64
|
|
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.
|
|
|
|
config HW_RANDOM_VIA
|
|
tristate "VIA HW Random Number Generator support"
|
|
depends on X86
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_IXP4XX
|
|
tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
|
|
depends on ARCH_IXP4XX || COMPILE_TEST
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the Pseudo-Random
|
|
Number Generator hardware found on the Intel IXP45x/46x NPU.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ixp4xx-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_OMAP
|
|
tristate "OMAP Random Number Generator support"
|
|
depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU || ARCH_K3
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
|
|
multimedia processors, and Marvell Armada 7k/8k SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called omap-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_OMAP3_ROM
|
|
tristate "OMAP3 ROM Random Number Generator support"
|
|
depends on ARCH_OMAP3
|
|
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.
|
|
|
|
config HW_RANDOM_OCTEON
|
|
tristate "Octeon Random Number Generator support"
|
|
depends on CAVIUM_OCTEON_SOC
|
|
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.
|
|
|
|
config HW_RANDOM_PASEMI
|
|
tristate "PA Semi HW Random Number Generator support"
|
|
depends on PPC_PASEMI
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on PA Semi PWRficient SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called pasemi-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_VIRTIO
|
|
tristate "VirtIO Random Number Generator support"
|
|
depends on VIRTIO
|
|
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.
|
|
|
|
config HW_RANDOM_TX4939
|
|
tristate "TX4939 Random Number Generator support"
|
|
depends on SOC_TX4939
|
|
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.
|
|
|
|
config HW_RANDOM_MXC_RNGA
|
|
tristate "Freescale i.MX RNGA Random Number Generator"
|
|
depends on SOC_IMX31
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_IMX_RNGC
|
|
tristate "Freescale i.MX RNGC Random Number Generator"
|
|
depends on HAS_IOMEM && HAVE_CLK
|
|
depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST
|
|
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.
|
|
|
|
config HW_RANDOM_INGENIC_RNG
|
|
tristate "Ingenic Random Number Generator support"
|
|
depends on HW_RANDOM
|
|
depends on MACH_JZ4780 || MACH_X1000
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the Random Number Generator
|
|
hardware found in ingenic JZ4780 and X1000 SoC. MIPS Creator CI20 uses
|
|
JZ4780 SoC, YSH & ATIL CU1000-Neo uses X1000 SoC.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ingenic-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_INGENIC_TRNG
|
|
tristate "Ingenic True Random Number Generator support"
|
|
depends on HW_RANDOM
|
|
depends on MACH_X1830
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides kernel-side support for the True Random Number Generator
|
|
hardware found in ingenic X1830 SoC. YSH & ATIL CU1830-Neo uses X1830 SoC.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ingenic-trng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_NOMADIK
|
|
tristate "ST-Ericsson Nomadik Random Number Generator support"
|
|
depends on ARCH_NOMADIK
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
config HW_RANDOM_PSERIES
|
|
tristate "pSeries HW Random Number Generator support"
|
|
depends on PPC64 && IBMVIO
|
|
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.
|
|
|
|
config HW_RANDOM_POWERNV
|
|
tristate "PowerNV Random Number Generator support"
|
|
depends on PPC_POWERNV
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
config HW_RANDOM_STM32
|
|
tristate "STMicroelectronics STM32 random number generator"
|
|
depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST)
|
|
depends on HAS_IOMEM
|
|
default HW_RANDOM
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
config HW_RANDOM_CAVIUM
|
|
tristate "Cavium ThunderX Random Number Generator support"
|
|
depends on HW_RANDOM && PCI && ARCH_THUNDER
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
config HW_RANDOM_EXYNOS
|
|
tristate "Samsung Exynos True Random Number Generator support"
|
|
depends on ARCH_EXYNOS || COMPILE_TEST
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides support for the True Random Number
|
|
Generator available in Exynos SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called exynos-trng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_OPTEE
|
|
tristate "OP-TEE based Random Number Generator support"
|
|
depends on OPTEE
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides support for OP-TEE based Random Number
|
|
Generator on ARM SoCs where hardware entropy sources are not
|
|
accessible to normal world (Linux).
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called optee-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_NPCM
|
|
tristate "NPCM Random Number Generator support"
|
|
depends on ARCH_NPCM || COMPILE_TEST
|
|
default HW_RANDOM
|
|
help
|
|
This driver provides support for the Random Number
|
|
Generator hardware available in Nuvoton NPCM SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called npcm-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_KEYSTONE
|
|
depends on ARCH_KEYSTONE || COMPILE_TEST
|
|
depends on HAS_IOMEM && OF
|
|
default HW_RANDOM
|
|
tristate "TI Keystone NETCP SA Hardware random number generator"
|
|
help
|
|
This option enables Keystone's hardware random generator.
|
|
|
|
config HW_RANDOM_CCTRNG
|
|
tristate "Arm CryptoCell True Random Number Generator support"
|
|
depends on HAS_IOMEM && OF
|
|
help
|
|
Say 'Y' to enable the True Random Number Generator driver for the
|
|
Arm TrustZone CryptoCell family of processors.
|
|
Currently the CryptoCell 713 and 703 are supported.
|
|
The driver is supported only in SoC where Trusted Execution
|
|
Environment is not used.
|
|
Choose 'M' to compile this driver as a module. The module
|
|
will be called cctrng.
|
|
If unsure, say 'N'.
|
|
|
|
config HW_RANDOM_XIPHERA
|
|
tristate "Xiphera FPGA based True Random Number Generator support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
This driver provides kernel-side support for Xiphera True Random
|
|
Number Generator Intellectual Property Core.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called xiphera-trng.
|
|
|
|
config HW_RANDOM_ARM_SMCCC_TRNG
|
|
tristate "Arm SMCCC TRNG firmware interface support"
|
|
depends on HAVE_ARM_SMCCC_DISCOVERY
|
|
default HW_RANDOM
|
|
help
|
|
Say 'Y' to enable the True Random Number Generator driver using
|
|
the Arm SMCCC TRNG firmware interface. This reads entropy from
|
|
higher exception levels (firmware, hypervisor). Uses SMCCC for
|
|
communicating with the firmware:
|
|
https://developer.arm.com/documentation/den0098/latest/
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called arm_smccc_trng.
|
|
|
|
endif # HW_RANDOM
|
|
|
|
config UML_RANDOM
|
|
depends on UML
|
|
select HW_RANDOM
|
|
tristate "UML Random Number Generator support"
|
|
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 rng-core driver thus providing
|
|
a device which is usually called /dev/hwrng. This hardware random
|
|
number generator does feed into the kernel's random number generator
|
|
entropy pool.
|
|
|
|
If unsure, say Y.
|