1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2844dd05fSMichael Buesch# 3844dd05fSMichael Buesch# Hardware Random Number Generator (RNG) configuration 4844dd05fSMichael Buesch# 5844dd05fSMichael Buesch 602001618SJean Delvaremenuconfig HW_RANDOM 7fed806f4SJan Beulich tristate "Hardware Random Number Generator Core support" 8fed806f4SJan Beulich default m 9a7f7f624SMasahiro Yamada help 10844dd05fSMichael Buesch Hardware Random Number Generator Core infrastructure. 11844dd05fSMichael Buesch 12fed806f4SJan Beulich To compile this driver as a module, choose M here: the 13537878d2SDavid Brownell module will be called rng-core. This provides a device 14cb2c316bSLee Jones that's usually called /dev/hwrng, and which exposes one 15537878d2SDavid Brownell of possibly several hardware random number generators. 16537878d2SDavid Brownell 1760f3aaeeSPrasannaKumar Muralidharan These hardware random number generators do feed into the 1860f3aaeeSPrasannaKumar Muralidharan kernel's random number generator entropy pool. 19fed806f4SJan Beulich 20844dd05fSMichael Buesch If unsure, say Y. 21ca644bd5SMichael Buesch 2202001618SJean Delvareif HW_RANDOM 2302001618SJean Delvare 249c3c133bSAlexander Clouterconfig HW_RANDOM_TIMERIOMEM 259c3c133bSAlexander Clouter tristate "Timer IOMEM HW Random Number Generator support" 2602001618SJean Delvare depends on HAS_IOMEM 27a7f7f624SMasahiro Yamada help 289c3c133bSAlexander Clouter This driver provides kernel-side support for a generic Random 299c3c133bSAlexander Clouter Number Generator used by reading a 'dumb' iomem address that 309c3c133bSAlexander Clouter is to be read no faster than, for example, once a second; 319c3c133bSAlexander Clouter the default FPGA bitstream on the TS-7800 has such functionality. 329c3c133bSAlexander Clouter 339c3c133bSAlexander Clouter To compile this driver as a module, choose M here: the 349c3c133bSAlexander Clouter module will be called timeriomem-rng. 359c3c133bSAlexander Clouter 369c3c133bSAlexander Clouter If unsure, say Y. 379c3c133bSAlexander Clouter 38ca644bd5SMichael Bueschconfig HW_RANDOM_INTEL 39ca644bd5SMichael Buesch tristate "Intel HW Random Number Generator support" 40cf8e8658SArd Biesheuvel depends on (X86 || COMPILE_TEST) && PCI 41fed806f4SJan Beulich default HW_RANDOM 42a7f7f624SMasahiro Yamada help 43ca644bd5SMichael Buesch This driver provides kernel-side support for the Random Number 44ca644bd5SMichael Buesch Generator hardware found on Intel i8xx-based motherboards. 45ca644bd5SMichael Buesch 46ca644bd5SMichael Buesch To compile this driver as a module, choose M here: the 47ca644bd5SMichael Buesch module will be called intel-rng. 48ca644bd5SMichael Buesch 49ca644bd5SMichael Buesch If unsure, say Y. 5096d63c02SMichael Buesch 5196d63c02SMichael Bueschconfig HW_RANDOM_AMD 5296d63c02SMichael Buesch tristate "AMD HW Random Number Generator support" 535465951eSLukas Bulwahn depends on (X86 || COMPILE_TEST) 541ce1cd82SRob Herring depends on PCI && HAS_IOPORT_MAP 55fed806f4SJan Beulich default HW_RANDOM 56a7f7f624SMasahiro Yamada help 5796d63c02SMichael Buesch This driver provides kernel-side support for the Random Number 5896d63c02SMichael Buesch Generator hardware found on AMD 76x-based motherboards. 5996d63c02SMichael Buesch 6096d63c02SMichael Buesch To compile this driver as a module, choose M here: the 6196d63c02SMichael Buesch module will be called amd-rng. 6296d63c02SMichael Buesch 6396d63c02SMichael Buesch If unsure, say Y. 64ef5d8627SMichael Buesch 65e53ca8efSChristian Marangiconfig HW_RANDOM_AIROHA 66e53ca8efSChristian Marangi tristate "Airoha True HW Random Number Generator support" 67e53ca8efSChristian Marangi depends on ARCH_AIROHA || COMPILE_TEST 68e53ca8efSChristian Marangi default HW_RANDOM 69e53ca8efSChristian Marangi help 70e53ca8efSChristian Marangi This driver provides kernel-side support for the True Random Number 71e53ca8efSChristian Marangi Generator hardware found on Airoha SoC. 72e53ca8efSChristian Marangi 73e53ca8efSChristian Marangi To compile this driver as a module, choose M here: the 74e53ca8efSChristian Marangi module will be called airoha-rng. 75e53ca8efSChristian Marangi 76e53ca8efSChristian Marangi If unsure, say Y. 77e53ca8efSChristian Marangi 78677d3e2fSPeter Korsgaardconfig HW_RANDOM_ATMEL 79677d3e2fSPeter Korsgaard tristate "Atmel Random Number Generator support" 80c0f4f27dSRobert Marko depends on (ARCH_MICROCHIP || COMPILE_TEST) 812d9cab51SJean Delvare default HW_RANDOM 82a7f7f624SMasahiro Yamada help 83677d3e2fSPeter Korsgaard This driver provides kernel-side support for the Random Number 84677d3e2fSPeter Korsgaard Generator hardware found on Atmel AT91 devices. 85677d3e2fSPeter Korsgaard 86677d3e2fSPeter Korsgaard To compile this driver as a module, choose M here: the 87677d3e2fSPeter Korsgaard module will be called atmel-rng. 88677d3e2fSPeter Korsgaard 89677d3e2fSPeter Korsgaard If unsure, say Y. 90677d3e2fSPeter Korsgaard 910289e9beSOlivier Sobrieconfig HW_RANDOM_BA431 920289e9beSOlivier Sobrie tristate "Silex Insight BA431 Random Number Generator support" 931186b429SHerbert Xu depends on HAS_IOMEM 940289e9beSOlivier Sobrie help 950289e9beSOlivier Sobrie This driver provides kernel-side support for the Random Number 960289e9beSOlivier Sobrie Generator hardware based on Silex Insight BA431 IP. 970289e9beSOlivier Sobrie 980289e9beSOlivier Sobrie To compile this driver as a module, choose M here: the 990289e9beSOlivier Sobrie module will be called ba431-rng. 1000289e9beSOlivier Sobrie 1018c4196a2SLubomir Rintelconfig HW_RANDOM_BCM2835 1028705f24fSFlorian Fainelli tristate "Broadcom BCM2835/BCM63xx Random Number Generator support" 1038705f24fSFlorian Fainelli depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \ 104aa6c9ae6SWilliam Zhang ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST 1058c4196a2SLubomir Rintel default HW_RANDOM 106a7f7f624SMasahiro Yamada help 1078c4196a2SLubomir Rintel This driver provides kernel-side support for the Random Number 1088705f24fSFlorian Fainelli Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs. 1098c4196a2SLubomir Rintel 1108c4196a2SLubomir Rintel To compile this driver as a module, choose M here: the 1118c4196a2SLubomir Rintel module will be called bcm2835-rng 1128c4196a2SLubomir Rintel 1138c4196a2SLubomir Rintel If unsure, say Y. 114553072b2SFlorian Fainelli 11535b2237fSMarkus Mayerconfig HW_RANDOM_BCM74110 11635b2237fSMarkus Mayer tristate "Broadcom BCM74110 Random Number Generator support" 11735b2237fSMarkus Mayer depends on ARCH_BRCMSTB || COMPILE_TEST 11835b2237fSMarkus Mayer default HW_RANDOM 11935b2237fSMarkus Mayer help 12035b2237fSMarkus Mayer This driver provides kernel-side support for the Random Number 12135b2237fSMarkus Mayer Generator hardware found on the Broadcom BCM74110 SoCs. 12235b2237fSMarkus Mayer 12335b2237fSMarkus Mayer To compile this driver as a module, choose M here: the 12435b2237fSMarkus Mayer module will be called bcm74110-rng 12535b2237fSMarkus Mayer 12635b2237fSMarkus Mayer If unsure, say Y. 12735b2237fSMarkus Mayer 128c83d45d5SScott Brandenconfig HW_RANDOM_IPROC_RNG200 129c3577f61SFlorian Fainelli tristate "Broadcom iProc/STB RNG200 support" 1307bfdfd83SLinus Walleij depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || COMPILE_TEST 131c83d45d5SScott Branden default HW_RANDOM 132a7f7f624SMasahiro Yamada help 133c83d45d5SScott Branden This driver provides kernel-side support for the RNG200 134c3577f61SFlorian Fainelli hardware found on the Broadcom iProc and STB SoCs. 135c83d45d5SScott Branden 136c83d45d5SScott Branden To compile this driver as a module, choose M here: the 137c83d45d5SScott Branden module will be called iproc-rng200 138c83d45d5SScott Branden 139c83d45d5SScott Branden If unsure, say Y. 140c83d45d5SScott Branden 141ef5d8627SMichael Bueschconfig HW_RANDOM_GEODE 142ef5d8627SMichael Buesch tristate "AMD Geode HW Random Number Generator support" 1431ce1cd82SRob Herring depends on (X86_32 || COMPILE_TEST) 1441ce1cd82SRob Herring depends on PCI 145fed806f4SJan Beulich default HW_RANDOM 146a7f7f624SMasahiro Yamada help 147ef5d8627SMichael Buesch This driver provides kernel-side support for the Random Number 148ef5d8627SMichael Buesch Generator hardware found on the AMD Geode LX. 149ef5d8627SMichael Buesch 150ef5d8627SMichael Buesch To compile this driver as a module, choose M here: the 151ef5d8627SMichael Buesch module will be called geode-rng. 152ef5d8627SMichael Buesch 153ef5d8627SMichael Buesch If unsure, say Y. 15413523363SMichael Buesch 155ce087150SDavid S. Millerconfig HW_RANDOM_N2RNG 156ce087150SDavid S. Miller tristate "Niagara2 Random Number Generator support" 15702001618SJean Delvare depends on SPARC64 158ce087150SDavid S. Miller default HW_RANDOM 159a7f7f624SMasahiro Yamada help 160ce087150SDavid S. Miller This driver provides kernel-side support for the Random Number 161ce087150SDavid S. Miller Generator hardware found on Niagara2 cpus. 162ce087150SDavid S. Miller 163ce087150SDavid S. Miller To compile this driver as a module, choose M here: the 164ce087150SDavid S. Miller module will be called n2-rng. 165ce087150SDavid S. Miller 166ce087150SDavid S. Miller If unsure, say Y. 167ce087150SDavid S. Miller 16813523363SMichael Bueschconfig HW_RANDOM_VIA 16913523363SMichael Buesch tristate "VIA HW Random Number Generator support" 17002001618SJean Delvare depends on X86 171fed806f4SJan Beulich default HW_RANDOM 172a7f7f624SMasahiro Yamada help 17313523363SMichael Buesch This driver provides kernel-side support for the Random Number 17413523363SMichael Buesch Generator hardware found on VIA based motherboards. 17513523363SMichael Buesch 17613523363SMichael Buesch To compile this driver as a module, choose M here: the 17713523363SMichael Buesch module will be called via-rng. 17813523363SMichael Buesch 17913523363SMichael Buesch If unsure, say Y. 180d7174bcbSMichael Buesch 181d7174bcbSMichael Bueschconfig HW_RANDOM_IXP4XX 182553da857SKrzysztof Hałasa tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" 183478d2daeSArnd Bergmann depends on ARCH_IXP4XX || COMPILE_TEST 184fed806f4SJan Beulich default HW_RANDOM 185a7f7f624SMasahiro Yamada help 186553da857SKrzysztof Hałasa This driver provides kernel-side support for the Pseudo-Random 187553da857SKrzysztof Hałasa Number Generator hardware found on the Intel IXP45x/46x NPU. 188d7174bcbSMichael Buesch 189d7174bcbSMichael Buesch To compile this driver as a module, choose M here: the 190d7174bcbSMichael Buesch module will be called ixp4xx-rng. 191d7174bcbSMichael Buesch 192d7174bcbSMichael Buesch If unsure, say Y. 193ebc915adSMichael Buesch 194ebc915adSMichael Bueschconfig HW_RANDOM_OMAP 195ebc915adSMichael Buesch tristate "OMAP Random Number Generator support" 196d5e93b33SCai Huoqing depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU || ARCH_K3 || COMPILE_TEST 197fed806f4SJan Beulich default HW_RANDOM 198a7f7f624SMasahiro Yamada help 199ebc915adSMichael Buesch This driver provides kernel-side support for the Random Number 200a9f5a62aSRussell King Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx 201a9f5a62aSRussell King multimedia processors, and Marvell Armada 7k/8k SoCs. 202ebc915adSMichael Buesch 203ebc915adSMichael Buesch To compile this driver as a module, choose M here: the 204ebc915adSMichael Buesch module will be called omap-rng. 205ebc915adSMichael Buesch 206ebc915adSMichael Buesch If unsure, say Y. 207b8cb3448SOlof Johansson 2081c6b7c21SPali Rohárconfig HW_RANDOM_OMAP3_ROM 2091c6b7c21SPali Rohár tristate "OMAP3 ROM Random Number Generator support" 210d5e93b33SCai Huoqing depends on ARCH_OMAP3 || COMPILE_TEST 2111c6b7c21SPali Rohár default HW_RANDOM 212a7f7f624SMasahiro Yamada help 2131c6b7c21SPali Rohár This driver provides kernel-side support for the Random Number 2141c6b7c21SPali Rohár Generator hardware found on OMAP34xx processors. 2151c6b7c21SPali Rohár 2161c6b7c21SPali Rohár To compile this driver as a module, choose M here: the 2171c6b7c21SPali Rohár module will be called omap3-rom-rng. 2181c6b7c21SPali Rohár 2191c6b7c21SPali Rohár If unsure, say Y. 2201c6b7c21SPali Rohár 221f7557dc8SDavid Daneyconfig HW_RANDOM_OCTEON 222f7557dc8SDavid Daney tristate "Octeon Random Number Generator support" 22302001618SJean Delvare depends on CAVIUM_OCTEON_SOC 224f7557dc8SDavid Daney default HW_RANDOM 225a7f7f624SMasahiro Yamada help 226f7557dc8SDavid Daney This driver provides kernel-side support for the Random Number 227f7557dc8SDavid Daney Generator hardware found on Octeon processors. 228f7557dc8SDavid Daney 229f7557dc8SDavid Daney To compile this driver as a module, choose M here: the 230f7557dc8SDavid Daney module will be called octeon-rng. 231f7557dc8SDavid Daney 232f7557dc8SDavid Daney If unsure, say Y. 233f7557dc8SDavid Daney 234b8cb3448SOlof Johanssonconfig HW_RANDOM_PASEMI 235b8cb3448SOlof Johansson tristate "PA Semi HW Random Number Generator support" 2361ce1cd82SRob Herring depends on PPC_PASEMI || (PPC && COMPILE_TEST) 237b8cb3448SOlof Johansson default HW_RANDOM 238a7f7f624SMasahiro Yamada help 239b8cb3448SOlof Johansson This driver provides kernel-side support for the Random Number 2400d08a847SOlof Johansson Generator hardware found on PA Semi PWRficient SoCs. 241b8cb3448SOlof Johansson 242b8cb3448SOlof Johansson To compile this driver as a module, choose M here: the 243b8cb3448SOlof Johansson module will be called pasemi-rng. 244b8cb3448SOlof Johansson 245b8cb3448SOlof Johansson If unsure, say Y. 246b8cb3448SOlof Johansson 247f7f510ecSRusty Russellconfig HW_RANDOM_VIRTIO 248f7f510ecSRusty Russell tristate "VirtIO Random Number Generator support" 24902001618SJean Delvare depends on VIRTIO 250a7f7f624SMasahiro Yamada help 251f7f510ecSRusty Russell This driver provides kernel-side support for the virtual Random Number 252f7f510ecSRusty Russell Generator hardware. 253f7f510ecSRusty Russell 254f7f510ecSRusty Russell To compile this driver as a module, choose M here: the 255f7f510ecSRusty Russell module will be called virtio-rng. If unsure, say N. 25645001e92SAlan Carvalho de Assis 25745001e92SAlan Carvalho de Assisconfig HW_RANDOM_MXC_RNGA 25845001e92SAlan Carvalho de Assis tristate "Freescale i.MX RNGA Random Number Generator" 2591ce1cd82SRob Herring depends on SOC_IMX31 || COMPILE_TEST 2602d9cab51SJean Delvare default HW_RANDOM 261a7f7f624SMasahiro Yamada help 26245001e92SAlan Carvalho de Assis This driver provides kernel-side support for the Random Number 26345001e92SAlan Carvalho de Assis Generator hardware found on Freescale i.MX processors. 26445001e92SAlan Carvalho de Assis 26545001e92SAlan Carvalho de Assis To compile this driver as a module, choose M here: the 26645001e92SAlan Carvalho de Assis module will be called mxc-rnga. 26745001e92SAlan Carvalho de Assis 26845001e92SAlan Carvalho de Assis If unsure, say Y. 269bc85b25eSAlessandro Rubini 2701d544944SMartin Kaiserconfig HW_RANDOM_IMX_RNGC 2711d544944SMartin Kaiser tristate "Freescale i.MX RNGC Random Number Generator" 2721ce1cd82SRob Herring depends on HAS_IOMEM 273d1e83158SHoria Geantă depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST 2741d544944SMartin Kaiser default HW_RANDOM 275a7f7f624SMasahiro Yamada help 2761d544944SMartin Kaiser This driver provides kernel-side support for the Random Number 2771d544944SMartin Kaiser Generator Version C hardware found on some Freescale i.MX 2781d544944SMartin Kaiser processors. Version B is also supported by this driver. 2791d544944SMartin Kaiser 2801d544944SMartin Kaiser To compile this driver as a module, choose M here: the 2811d544944SMartin Kaiser module will be called imx-rngc. 2821d544944SMartin Kaiser 2831d544944SMartin Kaiser If unsure, say Y. 2841d544944SMartin Kaiser 285190873a0S周琰杰 (Zhou Yanjie)config HW_RANDOM_INGENIC_RNG 286190873a0S周琰杰 (Zhou Yanjie) tristate "Ingenic Random Number Generator support" 2871ce1cd82SRob Herring depends on MACH_JZ4780 || MACH_X1000 || COMPILE_TEST 288190873a0S周琰杰 (Zhou Yanjie) default HW_RANDOM 289190873a0S周琰杰 (Zhou Yanjie) help 290190873a0S周琰杰 (Zhou Yanjie) This driver provides kernel-side support for the Random Number Generator 291190873a0S周琰杰 (Zhou Yanjie) hardware found in ingenic JZ4780 and X1000 SoC. MIPS Creator CI20 uses 292190873a0S周琰杰 (Zhou Yanjie) JZ4780 SoC, YSH & ATIL CU1000-Neo uses X1000 SoC. 293190873a0S周琰杰 (Zhou Yanjie) 294190873a0S周琰杰 (Zhou Yanjie) To compile this driver as a module, choose M here: the 295190873a0S周琰杰 (Zhou Yanjie) module will be called ingenic-rng. 296190873a0S周琰杰 (Zhou Yanjie) 297190873a0S周琰杰 (Zhou Yanjie) If unsure, say Y. 298190873a0S周琰杰 (Zhou Yanjie) 299406346d2S周琰杰 (Zhou Yanjie)config HW_RANDOM_INGENIC_TRNG 300406346d2S周琰杰 (Zhou Yanjie) tristate "Ingenic True Random Number Generator support" 301d4211390SMartin Kaiser depends on MACH_X1830 || COMPILE_TEST 302406346d2S周琰杰 (Zhou Yanjie) default HW_RANDOM 303406346d2S周琰杰 (Zhou Yanjie) help 304406346d2S周琰杰 (Zhou Yanjie) This driver provides kernel-side support for the True Random Number Generator 305406346d2S周琰杰 (Zhou Yanjie) hardware found in ingenic X1830 SoC. YSH & ATIL CU1830-Neo uses X1830 SoC. 306406346d2S周琰杰 (Zhou Yanjie) 307406346d2S周琰杰 (Zhou Yanjie) To compile this driver as a module, choose M here: the 308406346d2S周琰杰 (Zhou Yanjie) module will be called ingenic-trng. 309406346d2S周琰杰 (Zhou Yanjie) 310406346d2S周琰杰 (Zhou Yanjie) If unsure, say Y. 311406346d2S周琰杰 (Zhou Yanjie) 312bc85b25eSAlessandro Rubiniconfig HW_RANDOM_NOMADIK 313bc85b25eSAlessandro Rubini tristate "ST-Ericsson Nomadik Random Number Generator support" 314d5e93b33SCai Huoqing depends on ARCH_NOMADIK || COMPILE_TEST 315*efaa2d81SArnd Bergmann depends on ARM_AMBA 3162d9cab51SJean Delvare default HW_RANDOM 317a7f7f624SMasahiro Yamada help 318bc85b25eSAlessandro Rubini This driver provides kernel-side support for the Random Number 319bc85b25eSAlessandro Rubini Generator hardware found on ST-Ericsson SoCs (8815 and 8500). 320bc85b25eSAlessandro Rubini 321bc85b25eSAlessandro Rubini To compile this driver as a module, choose M here: the 322bc85b25eSAlessandro Rubini module will be called nomadik-rng. 323bc85b25eSAlessandro Rubini 324bc85b25eSAlessandro Rubini If unsure, say Y. 3255efb94eeSJamie Iles 326649e9ea0SKent Yoderconfig HW_RANDOM_PSERIES 327649e9ea0SKent Yoder tristate "pSeries HW Random Number Generator support" 32802001618SJean Delvare depends on PPC64 && IBMVIO 329649e9ea0SKent Yoder default HW_RANDOM 330a7f7f624SMasahiro Yamada help 331649e9ea0SKent Yoder This driver provides kernel-side support for the Random Number 332649e9ea0SKent Yoder Generator hardware found on POWER7+ machines and above 333649e9ea0SKent Yoder 334649e9ea0SKent Yoder To compile this driver as a module, choose M here: the 335649e9ea0SKent Yoder module will be called pseries-rng. 336649e9ea0SKent Yoder 337649e9ea0SKent Yoder If unsure, say Y. 338b329669eSJonghwa Lee 33966548e40SMichael Ellermanconfig HW_RANDOM_POWERNV 34066548e40SMichael Ellerman tristate "PowerNV Random Number Generator support" 34102001618SJean Delvare depends on PPC_POWERNV 34266548e40SMichael Ellerman default HW_RANDOM 343a7f7f624SMasahiro Yamada help 34466548e40SMichael Ellerman This is the driver for Random Number Generator hardware found 34566548e40SMichael Ellerman in POWER7+ and above machines for PowerNV platform. 34666548e40SMichael Ellerman 34766548e40SMichael Ellerman To compile this driver as a module, choose M here: the 34866548e40SMichael Ellerman module will be called powernv-rng. 34966548e40SMichael Ellerman 35066548e40SMichael Ellerman If unsure, say Y. 35166548e40SMichael Ellerman 352afc39d6eSKefeng Wangconfig HW_RANDOM_HISI 353afc39d6eSKefeng Wang tristate "Hisilicon Random Number Generator support" 3541ce1cd82SRob Herring depends on ARCH_HISI || COMPILE_TEST 355afc39d6eSKefeng Wang default HW_RANDOM 356a7f7f624SMasahiro Yamada help 357afc39d6eSKefeng Wang This driver provides kernel-side support for the Random Number 358afc39d6eSKefeng Wang Generator hardware found on Hisilicon Hip04 and Hip05 SoC. 359afc39d6eSKefeng Wang 360afc39d6eSKefeng Wang To compile this driver as a module, choose M here: the 361afc39d6eSKefeng Wang module will be called hisi-rng. 362afc39d6eSKefeng Wang 363afc39d6eSKefeng Wang If unsure, say Y. 364afc39d6eSKefeng Wang 365903e6adaSDavid Yangconfig HW_RANDOM_HISTB 366903e6adaSDavid Yang tristate "Hisilicon STB Random Number Generator support" 367903e6adaSDavid Yang depends on ARCH_HISI || COMPILE_TEST 368903e6adaSDavid Yang default ARCH_HISI 369903e6adaSDavid Yang help 370903e6adaSDavid Yang This driver provides kernel-side support for the Random Number 371903e6adaSDavid Yang Generator hardware found on Hisilicon Hi37xx SoC. 372903e6adaSDavid Yang 373903e6adaSDavid Yang To compile this driver as a module, choose M here: the 374903e6adaSDavid Yang module will be called histb-rng. 375903e6adaSDavid Yang 3764a4da53cSLee Jonesconfig HW_RANDOM_ST 3774a4da53cSLee Jones tristate "ST Microelectronics HW Random Number Generator support" 3781ce1cd82SRob Herring depends on ARCH_STI || COMPILE_TEST 379a7f7f624SMasahiro Yamada help 3804a4da53cSLee Jones This driver provides kernel-side support for the Random Number 3814a4da53cSLee Jones Generator hardware found on STi series of SoCs. 3824a4da53cSLee Jones 3834a4da53cSLee Jones To compile this driver as a module, choose M here: the 3844a4da53cSLee Jones module will be called st-rng. 3854a4da53cSLee Jones 386a91ae4ebSFeng Kanconfig HW_RANDOM_XGENE 387a91ae4ebSFeng Kan tristate "APM X-Gene True Random Number Generator (TRNG) support" 3881ce1cd82SRob Herring depends on ARCH_XGENE || COMPILE_TEST 389a91ae4ebSFeng Kan default HW_RANDOM 390a7f7f624SMasahiro Yamada help 391a91ae4ebSFeng Kan This driver provides kernel-side support for the Random Number 392a91ae4ebSFeng Kan Generator hardware found on APM X-Gene SoC. 393a91ae4ebSFeng Kan 394a91ae4ebSFeng Kan To compile this driver as a module, choose M here: the 395a91ae4ebSFeng Kan module will be called xgene_rng. 396a91ae4ebSFeng Kan 397a91ae4ebSFeng Kan If unsure, say Y. 398a91ae4ebSFeng Kan 399c6a97c42SDaniel Thompsonconfig HW_RANDOM_STM32 400c6a97c42SDaniel Thompson tristate "STMicroelectronics STM32 random number generator" 4011ce1cd82SRob Herring depends on ARCH_STM32 || COMPILE_TEST 402625b4a98SRichard Weinberger depends on HAS_IOMEM 403af513781Slionel.debieve@st.com default HW_RANDOM 404c6a97c42SDaniel Thompson help 405c6a97c42SDaniel Thompson This driver provides kernel-side support for the Random Number 406c6a97c42SDaniel Thompson Generator hardware found on STM32 microcontrollers. 407c6a97c42SDaniel Thompson 408c6a97c42SDaniel Thompson To compile this driver as a module, choose M here: the 409c6a97c42SDaniel Thompson module will be called stm32-rng. 410c6a97c42SDaniel Thompson 411c6a97c42SDaniel Thompson If unsure, say N. 412c6a97c42SDaniel Thompson 413730d02e2SJoshua Hendersonconfig HW_RANDOM_PIC32 414730d02e2SJoshua Henderson tristate "Microchip PIC32 Random Number Generator support" 415b157d50bSMartin Kaiser depends on MACH_PIC32 || COMPILE_TEST 4161ce1cd82SRob Herring default HW_RANDOM if MACH_PIC32 417a7f7f624SMasahiro Yamada help 418730d02e2SJoshua Henderson This driver provides kernel-side support for the Random Number 419730d02e2SJoshua Henderson Generator hardware found on a PIC32. 420730d02e2SJoshua Henderson 421730d02e2SJoshua Henderson To compile this driver as a module, choose M here. the 422730d02e2SJoshua Henderson module will be called pic32-rng. 423730d02e2SJoshua Henderson 424730d02e2SJoshua Henderson If unsure, say Y. 425730d02e2SJoshua Henderson 426716a757cSConor Dooleyconfig HW_RANDOM_POLARFIRE_SOC 427716a757cSConor Dooley tristate "Microchip PolarFire SoC Random Number Generator support" 428c6d3ffaeSHerbert Xu depends on HW_RANDOM && POLARFIRE_SOC_SYS_CTRL 429716a757cSConor Dooley help 430716a757cSConor Dooley This driver provides kernel-side support for the Random Number 431716a757cSConor Dooley Generator hardware found on PolarFire SoC (MPFS). 432716a757cSConor Dooley 433716a757cSConor Dooley To compile this driver as a module, choose M here. The 434716a757cSConor Dooley module will be called mfps_rng. 435716a757cSConor Dooley 436716a757cSConor Dooley If unsure, say N. 437716a757cSConor Dooley 438716a757cSConor Dooley 439e123be16SNeil Armstrongconfig HW_RANDOM_MESON 440e123be16SNeil Armstrong tristate "Amlogic Meson Random Number Generator support" 441e123be16SNeil Armstrong depends on ARCH_MESON || COMPILE_TEST 442e051910cSHerbert Xu depends on HAS_IOMEM && OF 443e051910cSHerbert Xu default HW_RANDOM if ARCH_MESON 444a7f7f624SMasahiro Yamada help 445e123be16SNeil Armstrong This driver provides kernel-side support for the Random Number 446e123be16SNeil Armstrong Generator hardware found on Amlogic Meson SoCs. 447e123be16SNeil Armstrong 448e123be16SNeil Armstrong To compile this driver as a module, choose M here. the 449e123be16SNeil Armstrong module will be called meson-rng. 450e123be16SNeil Armstrong 451e123be16SNeil Armstrong If unsure, say Y. 452e123be16SNeil Armstrong 453cc2f1908SOmer Khaliqconfig HW_RANDOM_CAVIUM 454cc2f1908SOmer Khaliq tristate "Cavium ThunderX Random Number Generator support" 4551ce1cd82SRob Herring depends on PCI 4561ce1cd82SRob Herring depends on ARCH_THUNDER || (ARM64 && COMPILE_TEST) 457cc2f1908SOmer Khaliq default HW_RANDOM 458a7f7f624SMasahiro Yamada help 459cc2f1908SOmer Khaliq This driver provides kernel-side support for the Random Number 460cc2f1908SOmer Khaliq Generator hardware found on Cavium SoCs. 461cc2f1908SOmer Khaliq 462cc2f1908SOmer Khaliq To compile this driver as a module, choose M here: the 463cc2f1908SOmer Khaliq module will be called cavium_rng. 464cc2f1908SOmer Khaliq 465cc2f1908SOmer Khaliq If unsure, say Y. 466cc2f1908SOmer Khaliq 4677701d1ffSSean Wangconfig HW_RANDOM_MTK 4687701d1ffSSean Wang tristate "Mediatek Random Number Generator support" 4697701d1ffSSean Wang depends on ARCH_MEDIATEK || COMPILE_TEST 470e051910cSHerbert Xu depends on HAS_IOMEM && OF 471e051910cSHerbert Xu default HW_RANDOM if ARCH_MEDIATEK 472a7f7f624SMasahiro Yamada help 4737701d1ffSSean Wang This driver provides kernel-side support for the Random Number 4747701d1ffSSean Wang Generator hardware found on Mediatek SoCs. 4757701d1ffSSean Wang 4767701d1ffSSean Wang To compile this driver as a module, choose M here. the 4777701d1ffSSean Wang module will be called mtk-rng. 4787701d1ffSSean Wang 4797701d1ffSSean Wang If unsure, say Y. 4807701d1ffSSean Wang 481bbcb478eSHarald Freudenbergerconfig HW_RANDOM_S390 482bbcb478eSHarald Freudenberger tristate "S390 True Random Number Generator support" 483bbcb478eSHarald Freudenberger depends on S390 484bbcb478eSHarald Freudenberger default HW_RANDOM 485a7f7f624SMasahiro Yamada help 486bbcb478eSHarald Freudenberger This driver provides kernel-side support for the True 487bbcb478eSHarald Freudenberger Random Number Generator available as CPACF extension 488bbcb478eSHarald Freudenberger on modern s390 hardware platforms. 489bbcb478eSHarald Freudenberger 490bbcb478eSHarald Freudenberger To compile this driver as a module, choose M here: the 491bbcb478eSHarald Freudenberger module will be called s390-trng. 492bbcb478eSHarald Freudenberger 493bbcb478eSHarald Freudenberger If unsure, say Y. 494bbcb478eSHarald Freudenberger 4956cd225ccSŁukasz Stelmachconfig HW_RANDOM_EXYNOS 4966cd225ccSŁukasz Stelmach tristate "Samsung Exynos True Random Number Generator support" 4976cd225ccSŁukasz Stelmach depends on ARCH_EXYNOS || COMPILE_TEST 498e051910cSHerbert Xu depends on HAS_IOMEM 499e051910cSHerbert Xu default HW_RANDOM if ARCH_EXYNOS 500a7f7f624SMasahiro Yamada help 5016cd225ccSŁukasz Stelmach This driver provides support for the True Random Number 5026cd225ccSŁukasz Stelmach Generator available in Exynos SoCs. 5036cd225ccSŁukasz Stelmach 5046cd225ccSŁukasz Stelmach To compile this driver as a module, choose M here: the module 5056cd225ccSŁukasz Stelmach will be called exynos-trng. 5066cd225ccSŁukasz Stelmach 5076cd225ccSŁukasz Stelmach If unsure, say Y. 5085fe8b1ccSSumit Garg 5095fe8b1ccSSumit Gargconfig HW_RANDOM_OPTEE 5105fe8b1ccSSumit Garg tristate "OP-TEE based Random Number Generator support" 5115fe8b1ccSSumit Garg depends on OPTEE 5125fe8b1ccSSumit Garg default HW_RANDOM 5135fe8b1ccSSumit Garg help 5145fe8b1ccSSumit Garg This driver provides support for OP-TEE based Random Number 5155fe8b1ccSSumit Garg Generator on ARM SoCs where hardware entropy sources are not 5165fe8b1ccSSumit Garg accessible to normal world (Linux). 5175fe8b1ccSSumit Garg 5185fe8b1ccSSumit Garg To compile this driver as a module, choose M here: the module 5195fe8b1ccSSumit Garg will be called optee-rng. 5205fe8b1ccSSumit Garg 5215fe8b1ccSSumit Garg If unsure, say Y. 5225fe8b1ccSSumit Garg 523c9842929STomer Maimonconfig HW_RANDOM_NPCM 524c9842929STomer Maimon tristate "NPCM Random Number Generator support" 525c9842929STomer Maimon depends on ARCH_NPCM || COMPILE_TEST 526e051910cSHerbert Xu depends on HAS_IOMEM 527e051910cSHerbert Xu default HW_RANDOM if ARCH_NPCM 528c9842929STomer Maimon help 529c9842929STomer Maimon This driver provides support for the Random Number 530c9842929STomer Maimon Generator hardware available in Nuvoton NPCM SoCs. 531c9842929STomer Maimon 532c9842929STomer Maimon To compile this driver as a module, choose M here: the 533c9842929STomer Maimon module will be called npcm-rng. 534c9842929STomer Maimon 535c9842929STomer Maimon If unsure, say Y. 536c9842929STomer Maimon 537ace74b62SRandy Dunlapconfig HW_RANDOM_KEYSTONE 5383371482cSDragan Simic tristate "TI Keystone NETCP SA Hardware random number generator" 539ace74b62SRandy Dunlap depends on ARCH_KEYSTONE || COMPILE_TEST 540a1315dcbSHerbert Xu depends on HAS_IOMEM && OF 541ace74b62SRandy Dunlap default HW_RANDOM 542ace74b62SRandy Dunlap help 543ace74b62SRandy Dunlap This option enables Keystone's hardware random generator. 544ace74b62SRandy Dunlap 545a583ed31SHadar Gatconfig HW_RANDOM_CCTRNG 546a583ed31SHadar Gat tristate "Arm CryptoCell True Random Number Generator support" 54734d47aabSHadar Gat depends on HAS_IOMEM && OF 548a583ed31SHadar Gat help 5493e37f04fSHadar Gat Say 'Y' to enable the True Random Number Generator driver for the 5503e37f04fSHadar Gat Arm TrustZone CryptoCell family of processors. 5513e37f04fSHadar Gat Currently the CryptoCell 713 and 703 are supported. 5523e37f04fSHadar Gat The driver is supported only in SoC where Trusted Execution 5533e37f04fSHadar Gat Environment is not used. 5543e37f04fSHadar Gat Choose 'M' to compile this driver as a module. The module 555a583ed31SHadar Gat will be called cctrng. 5563e37f04fSHadar Gat If unsure, say 'N'. 557a583ed31SHadar Gat 558cb435fa6SAtte Tommiskaconfig HW_RANDOM_XIPHERA 559cb435fa6SAtte Tommiska tristate "Xiphera FPGA based True Random Number Generator support" 560cb435fa6SAtte Tommiska depends on HAS_IOMEM 561cb435fa6SAtte Tommiska help 562cb435fa6SAtte Tommiska This driver provides kernel-side support for Xiphera True Random 563cb435fa6SAtte Tommiska Number Generator Intellectual Property Core. 564cb435fa6SAtte Tommiska 565cb435fa6SAtte Tommiska To compile this driver as a module, choose M here: the 566cb435fa6SAtte Tommiska module will be called xiphera-trng. 567cb435fa6SAtte Tommiska 5680888d04bSAndre Przywaraconfig HW_RANDOM_ARM_SMCCC_TRNG 5690888d04bSAndre Przywara tristate "Arm SMCCC TRNG firmware interface support" 5700888d04bSAndre Przywara depends on HAVE_ARM_SMCCC_DISCOVERY 5710888d04bSAndre Przywara default HW_RANDOM 5720888d04bSAndre Przywara help 5730888d04bSAndre Przywara Say 'Y' to enable the True Random Number Generator driver using 5740888d04bSAndre Przywara the Arm SMCCC TRNG firmware interface. This reads entropy from 5750888d04bSAndre Przywara higher exception levels (firmware, hypervisor). Uses SMCCC for 5760888d04bSAndre Przywara communicating with the firmware: 5770888d04bSAndre Przywara https://developer.arm.com/documentation/den0098/latest/ 5780888d04bSAndre Przywara 5790888d04bSAndre Przywara To compile this driver as a module, choose M here: the 5800888d04bSAndre Przywara module will be called arm_smccc_trng. 5810888d04bSAndre Przywara 58238e9791aSSunil Gouthamconfig HW_RANDOM_CN10K 58338e9791aSSunil Goutham tristate "Marvell CN10K Random Number Generator support" 58425dfae68SHerbert Xu depends on HW_RANDOM && PCI && (ARM64 || (64BIT && COMPILE_TEST)) 5859d3a7ff2SFrancesco Dolcini default HW_RANDOM if ARCH_THUNDER 58638e9791aSSunil Goutham help 58738e9791aSSunil Goutham This driver provides support for the True Random Number 58838e9791aSSunil Goutham generator available in Marvell CN10K SoCs. 58938e9791aSSunil Goutham 59038e9791aSSunil Goutham To compile this driver as a module, choose M here. 59138e9791aSSunil Goutham The module will be called cn10k_rng. If unsure, say Y. 59238e9791aSSunil Goutham 593c388f458SJia Jie Hoconfig HW_RANDOM_JH7110 594c388f458SJia Jie Ho tristate "StarFive JH7110 Random Number Generator support" 595c7410b42SHerbert Xu depends on SOC_STARFIVE || COMPILE_TEST 596c388f458SJia Jie Ho help 597c388f458SJia Jie Ho This driver provides support for the True Random Number 598c388f458SJia Jie Ho Generator in StarFive JH7110 SoCs. 599c388f458SJia Jie Ho 600c388f458SJia Jie Ho To compile this driver as a module, choose M here. 601c388f458SJia Jie Ho The module will be called jh7110-trng. 602c388f458SJia Jie Ho 603dcf4fef6SAurelien Jarnoconfig HW_RANDOM_ROCKCHIP 604dcf4fef6SAurelien Jarno tristate "Rockchip True Random Number Generator" 605dcf4fef6SAurelien Jarno depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST) 606dcf4fef6SAurelien Jarno depends on HAS_IOMEM 607dcf4fef6SAurelien Jarno default HW_RANDOM 608dcf4fef6SAurelien Jarno help 609dcf4fef6SAurelien Jarno This driver provides kernel-side support for the True Random Number 6108eff8eb8SNicolas Frattaroli Generator hardware found on some Rockchip SoCs like RK3566, RK3568 6118eff8eb8SNicolas Frattaroli or RK3588. 612dcf4fef6SAurelien Jarno 613dcf4fef6SAurelien Jarno To compile this driver as a module, choose M here: the 614dcf4fef6SAurelien Jarno module will be called rockchip-rng. 615dcf4fef6SAurelien Jarno 616dcf4fef6SAurelien Jarno If unsure, say Y. 617dcf4fef6SAurelien Jarno 61802001618SJean Delvareendif # HW_RANDOM 61902001618SJean Delvare 620d805a786SAl Viroconfig UML_RANDOM 621d805a786SAl Viro depends on UML 62272d3e093SChristopher Obbard select HW_RANDOM 62372d3e093SChristopher Obbard tristate "UML Random Number Generator support" 624d805a786SAl Viro help 625d805a786SAl Viro This option enables UML's "hardware" random number generator. It 626d805a786SAl Viro attaches itself to the host's /dev/random, supplying as much entropy 627d805a786SAl Viro as the host has, rather than the small amount the UML gets from its 62872d3e093SChristopher Obbard own drivers. It registers itself as a rng-core driver thus providing 62972d3e093SChristopher Obbard a device which is usually called /dev/hwrng. This hardware random 63072d3e093SChristopher Obbard number generator does feed into the kernel's random number generator 63172d3e093SChristopher Obbard entropy pool. 63272d3e093SChristopher Obbard 63372d3e093SChristopher Obbard If unsure, say Y. 634