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" 801ce1cd82SRob Herring depends on (ARCH_AT91 || 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 3152d9cab51SJean Delvare default HW_RANDOM 316a7f7f624SMasahiro Yamada help 317bc85b25eSAlessandro Rubini This driver provides kernel-side support for the Random Number 318bc85b25eSAlessandro Rubini Generator hardware found on ST-Ericsson SoCs (8815 and 8500). 319bc85b25eSAlessandro Rubini 320bc85b25eSAlessandro Rubini To compile this driver as a module, choose M here: the 321bc85b25eSAlessandro Rubini module will be called nomadik-rng. 322bc85b25eSAlessandro Rubini 323bc85b25eSAlessandro Rubini If unsure, say Y. 3245efb94eeSJamie Iles 325649e9ea0SKent Yoderconfig HW_RANDOM_PSERIES 326649e9ea0SKent Yoder tristate "pSeries HW Random Number Generator support" 32702001618SJean Delvare depends on PPC64 && IBMVIO 328649e9ea0SKent Yoder default HW_RANDOM 329a7f7f624SMasahiro Yamada help 330649e9ea0SKent Yoder This driver provides kernel-side support for the Random Number 331649e9ea0SKent Yoder Generator hardware found on POWER7+ machines and above 332649e9ea0SKent Yoder 333649e9ea0SKent Yoder To compile this driver as a module, choose M here: the 334649e9ea0SKent Yoder module will be called pseries-rng. 335649e9ea0SKent Yoder 336649e9ea0SKent Yoder If unsure, say Y. 337b329669eSJonghwa Lee 33866548e40SMichael Ellermanconfig HW_RANDOM_POWERNV 33966548e40SMichael Ellerman tristate "PowerNV Random Number Generator support" 34002001618SJean Delvare depends on PPC_POWERNV 34166548e40SMichael Ellerman default HW_RANDOM 342a7f7f624SMasahiro Yamada help 34366548e40SMichael Ellerman This is the driver for Random Number Generator hardware found 34466548e40SMichael Ellerman in POWER7+ and above machines for PowerNV platform. 34566548e40SMichael Ellerman 34666548e40SMichael Ellerman To compile this driver as a module, choose M here: the 34766548e40SMichael Ellerman module will be called powernv-rng. 34866548e40SMichael Ellerman 34966548e40SMichael Ellerman If unsure, say Y. 35066548e40SMichael Ellerman 351afc39d6eSKefeng Wangconfig HW_RANDOM_HISI 352afc39d6eSKefeng Wang tristate "Hisilicon Random Number Generator support" 3531ce1cd82SRob Herring depends on ARCH_HISI || COMPILE_TEST 354afc39d6eSKefeng Wang default HW_RANDOM 355a7f7f624SMasahiro Yamada help 356afc39d6eSKefeng Wang This driver provides kernel-side support for the Random Number 357afc39d6eSKefeng Wang Generator hardware found on Hisilicon Hip04 and Hip05 SoC. 358afc39d6eSKefeng Wang 359afc39d6eSKefeng Wang To compile this driver as a module, choose M here: the 360afc39d6eSKefeng Wang module will be called hisi-rng. 361afc39d6eSKefeng Wang 362afc39d6eSKefeng Wang If unsure, say Y. 363afc39d6eSKefeng Wang 364903e6adaSDavid Yangconfig HW_RANDOM_HISTB 365903e6adaSDavid Yang tristate "Hisilicon STB Random Number Generator support" 366903e6adaSDavid Yang depends on ARCH_HISI || COMPILE_TEST 367903e6adaSDavid Yang default ARCH_HISI 368903e6adaSDavid Yang help 369903e6adaSDavid Yang This driver provides kernel-side support for the Random Number 370903e6adaSDavid Yang Generator hardware found on Hisilicon Hi37xx SoC. 371903e6adaSDavid Yang 372903e6adaSDavid Yang To compile this driver as a module, choose M here: the 373903e6adaSDavid Yang module will be called histb-rng. 374903e6adaSDavid Yang 3754a4da53cSLee Jonesconfig HW_RANDOM_ST 3764a4da53cSLee Jones tristate "ST Microelectronics HW Random Number Generator support" 3771ce1cd82SRob Herring depends on ARCH_STI || COMPILE_TEST 378a7f7f624SMasahiro Yamada help 3794a4da53cSLee Jones This driver provides kernel-side support for the Random Number 3804a4da53cSLee Jones Generator hardware found on STi series of SoCs. 3814a4da53cSLee Jones 3824a4da53cSLee Jones To compile this driver as a module, choose M here: the 3834a4da53cSLee Jones module will be called st-rng. 3844a4da53cSLee Jones 385a91ae4ebSFeng Kanconfig HW_RANDOM_XGENE 386a91ae4ebSFeng Kan tristate "APM X-Gene True Random Number Generator (TRNG) support" 3871ce1cd82SRob Herring depends on ARCH_XGENE || COMPILE_TEST 388a91ae4ebSFeng Kan default HW_RANDOM 389a7f7f624SMasahiro Yamada help 390a91ae4ebSFeng Kan This driver provides kernel-side support for the Random Number 391a91ae4ebSFeng Kan Generator hardware found on APM X-Gene SoC. 392a91ae4ebSFeng Kan 393a91ae4ebSFeng Kan To compile this driver as a module, choose M here: the 394a91ae4ebSFeng Kan module will be called xgene_rng. 395a91ae4ebSFeng Kan 396a91ae4ebSFeng Kan If unsure, say Y. 397a91ae4ebSFeng Kan 398c6a97c42SDaniel Thompsonconfig HW_RANDOM_STM32 399c6a97c42SDaniel Thompson tristate "STMicroelectronics STM32 random number generator" 4001ce1cd82SRob Herring depends on ARCH_STM32 || COMPILE_TEST 401625b4a98SRichard Weinberger depends on HAS_IOMEM 402af513781Slionel.debieve@st.com default HW_RANDOM 403c6a97c42SDaniel Thompson help 404c6a97c42SDaniel Thompson This driver provides kernel-side support for the Random Number 405c6a97c42SDaniel Thompson Generator hardware found on STM32 microcontrollers. 406c6a97c42SDaniel Thompson 407c6a97c42SDaniel Thompson To compile this driver as a module, choose M here: the 408c6a97c42SDaniel Thompson module will be called stm32-rng. 409c6a97c42SDaniel Thompson 410c6a97c42SDaniel Thompson If unsure, say N. 411c6a97c42SDaniel Thompson 412730d02e2SJoshua Hendersonconfig HW_RANDOM_PIC32 413730d02e2SJoshua Henderson tristate "Microchip PIC32 Random Number Generator support" 414b157d50bSMartin Kaiser depends on MACH_PIC32 || COMPILE_TEST 4151ce1cd82SRob Herring default HW_RANDOM if MACH_PIC32 416a7f7f624SMasahiro Yamada help 417730d02e2SJoshua Henderson This driver provides kernel-side support for the Random Number 418730d02e2SJoshua Henderson Generator hardware found on a PIC32. 419730d02e2SJoshua Henderson 420730d02e2SJoshua Henderson To compile this driver as a module, choose M here. the 421730d02e2SJoshua Henderson module will be called pic32-rng. 422730d02e2SJoshua Henderson 423730d02e2SJoshua Henderson If unsure, say Y. 424730d02e2SJoshua Henderson 425716a757cSConor Dooleyconfig HW_RANDOM_POLARFIRE_SOC 426716a757cSConor Dooley tristate "Microchip PolarFire SoC Random Number Generator support" 427c6d3ffaeSHerbert Xu depends on HW_RANDOM && POLARFIRE_SOC_SYS_CTRL 428716a757cSConor Dooley help 429716a757cSConor Dooley This driver provides kernel-side support for the Random Number 430716a757cSConor Dooley Generator hardware found on PolarFire SoC (MPFS). 431716a757cSConor Dooley 432716a757cSConor Dooley To compile this driver as a module, choose M here. The 433716a757cSConor Dooley module will be called mfps_rng. 434716a757cSConor Dooley 435716a757cSConor Dooley If unsure, say N. 436716a757cSConor Dooley 437716a757cSConor Dooley 438e123be16SNeil Armstrongconfig HW_RANDOM_MESON 439e123be16SNeil Armstrong tristate "Amlogic Meson Random Number Generator support" 440e123be16SNeil Armstrong depends on ARCH_MESON || COMPILE_TEST 441e051910cSHerbert Xu depends on HAS_IOMEM && OF 442e051910cSHerbert Xu default HW_RANDOM if ARCH_MESON 443a7f7f624SMasahiro Yamada help 444e123be16SNeil Armstrong This driver provides kernel-side support for the Random Number 445e123be16SNeil Armstrong Generator hardware found on Amlogic Meson SoCs. 446e123be16SNeil Armstrong 447e123be16SNeil Armstrong To compile this driver as a module, choose M here. the 448e123be16SNeil Armstrong module will be called meson-rng. 449e123be16SNeil Armstrong 450e123be16SNeil Armstrong If unsure, say Y. 451e123be16SNeil Armstrong 452cc2f1908SOmer Khaliqconfig HW_RANDOM_CAVIUM 453cc2f1908SOmer Khaliq tristate "Cavium ThunderX Random Number Generator support" 4541ce1cd82SRob Herring depends on PCI 4551ce1cd82SRob Herring depends on ARCH_THUNDER || (ARM64 && COMPILE_TEST) 456cc2f1908SOmer Khaliq default HW_RANDOM 457a7f7f624SMasahiro Yamada help 458cc2f1908SOmer Khaliq This driver provides kernel-side support for the Random Number 459cc2f1908SOmer Khaliq Generator hardware found on Cavium SoCs. 460cc2f1908SOmer Khaliq 461cc2f1908SOmer Khaliq To compile this driver as a module, choose M here: the 462cc2f1908SOmer Khaliq module will be called cavium_rng. 463cc2f1908SOmer Khaliq 464cc2f1908SOmer Khaliq If unsure, say Y. 465cc2f1908SOmer Khaliq 4667701d1ffSSean Wangconfig HW_RANDOM_MTK 4677701d1ffSSean Wang tristate "Mediatek Random Number Generator support" 4687701d1ffSSean Wang depends on ARCH_MEDIATEK || COMPILE_TEST 469e051910cSHerbert Xu depends on HAS_IOMEM && OF 470e051910cSHerbert Xu default HW_RANDOM if ARCH_MEDIATEK 471a7f7f624SMasahiro Yamada help 4727701d1ffSSean Wang This driver provides kernel-side support for the Random Number 4737701d1ffSSean Wang Generator hardware found on Mediatek SoCs. 4747701d1ffSSean Wang 4757701d1ffSSean Wang To compile this driver as a module, choose M here. the 4767701d1ffSSean Wang module will be called mtk-rng. 4777701d1ffSSean Wang 4787701d1ffSSean Wang If unsure, say Y. 4797701d1ffSSean Wang 480bbcb478eSHarald Freudenbergerconfig HW_RANDOM_S390 481bbcb478eSHarald Freudenberger tristate "S390 True Random Number Generator support" 482bbcb478eSHarald Freudenberger depends on S390 483bbcb478eSHarald Freudenberger default HW_RANDOM 484a7f7f624SMasahiro Yamada help 485bbcb478eSHarald Freudenberger This driver provides kernel-side support for the True 486bbcb478eSHarald Freudenberger Random Number Generator available as CPACF extension 487bbcb478eSHarald Freudenberger on modern s390 hardware platforms. 488bbcb478eSHarald Freudenberger 489bbcb478eSHarald Freudenberger To compile this driver as a module, choose M here: the 490bbcb478eSHarald Freudenberger module will be called s390-trng. 491bbcb478eSHarald Freudenberger 492bbcb478eSHarald Freudenberger If unsure, say Y. 493bbcb478eSHarald Freudenberger 4946cd225ccSŁukasz Stelmachconfig HW_RANDOM_EXYNOS 4956cd225ccSŁukasz Stelmach tristate "Samsung Exynos True Random Number Generator support" 4966cd225ccSŁukasz Stelmach depends on ARCH_EXYNOS || COMPILE_TEST 497e051910cSHerbert Xu depends on HAS_IOMEM 498e051910cSHerbert Xu default HW_RANDOM if ARCH_EXYNOS 499a7f7f624SMasahiro Yamada help 5006cd225ccSŁukasz Stelmach This driver provides support for the True Random Number 5016cd225ccSŁukasz Stelmach Generator available in Exynos SoCs. 5026cd225ccSŁukasz Stelmach 5036cd225ccSŁukasz Stelmach To compile this driver as a module, choose M here: the module 5046cd225ccSŁukasz Stelmach will be called exynos-trng. 5056cd225ccSŁukasz Stelmach 5066cd225ccSŁukasz Stelmach If unsure, say Y. 5075fe8b1ccSSumit Garg 5085fe8b1ccSSumit Gargconfig HW_RANDOM_OPTEE 5095fe8b1ccSSumit Garg tristate "OP-TEE based Random Number Generator support" 5105fe8b1ccSSumit Garg depends on OPTEE 5115fe8b1ccSSumit Garg default HW_RANDOM 5125fe8b1ccSSumit Garg help 5135fe8b1ccSSumit Garg This driver provides support for OP-TEE based Random Number 5145fe8b1ccSSumit Garg Generator on ARM SoCs where hardware entropy sources are not 5155fe8b1ccSSumit Garg accessible to normal world (Linux). 5165fe8b1ccSSumit Garg 5175fe8b1ccSSumit Garg To compile this driver as a module, choose M here: the module 5185fe8b1ccSSumit Garg will be called optee-rng. 5195fe8b1ccSSumit Garg 5205fe8b1ccSSumit Garg If unsure, say Y. 5215fe8b1ccSSumit Garg 522c9842929STomer Maimonconfig HW_RANDOM_NPCM 523c9842929STomer Maimon tristate "NPCM Random Number Generator support" 524c9842929STomer Maimon depends on ARCH_NPCM || COMPILE_TEST 525e051910cSHerbert Xu depends on HAS_IOMEM 526e051910cSHerbert Xu default HW_RANDOM if ARCH_NPCM 527c9842929STomer Maimon help 528c9842929STomer Maimon This driver provides support for the Random Number 529c9842929STomer Maimon Generator hardware available in Nuvoton NPCM SoCs. 530c9842929STomer Maimon 531c9842929STomer Maimon To compile this driver as a module, choose M here: the 532c9842929STomer Maimon module will be called npcm-rng. 533c9842929STomer Maimon 534c9842929STomer Maimon If unsure, say Y. 535c9842929STomer Maimon 536ace74b62SRandy Dunlapconfig HW_RANDOM_KEYSTONE 5373371482cSDragan Simic tristate "TI Keystone NETCP SA Hardware random number generator" 538ace74b62SRandy Dunlap depends on ARCH_KEYSTONE || COMPILE_TEST 539a1315dcbSHerbert Xu depends on HAS_IOMEM && OF 540ace74b62SRandy Dunlap default HW_RANDOM 541ace74b62SRandy Dunlap help 542ace74b62SRandy Dunlap This option enables Keystone's hardware random generator. 543ace74b62SRandy Dunlap 544a583ed31SHadar Gatconfig HW_RANDOM_CCTRNG 545a583ed31SHadar Gat tristate "Arm CryptoCell True Random Number Generator support" 54634d47aabSHadar Gat depends on HAS_IOMEM && OF 547a583ed31SHadar Gat help 5483e37f04fSHadar Gat Say 'Y' to enable the True Random Number Generator driver for the 5493e37f04fSHadar Gat Arm TrustZone CryptoCell family of processors. 5503e37f04fSHadar Gat Currently the CryptoCell 713 and 703 are supported. 5513e37f04fSHadar Gat The driver is supported only in SoC where Trusted Execution 5523e37f04fSHadar Gat Environment is not used. 5533e37f04fSHadar Gat Choose 'M' to compile this driver as a module. The module 554a583ed31SHadar Gat will be called cctrng. 5553e37f04fSHadar Gat If unsure, say 'N'. 556a583ed31SHadar Gat 557cb435fa6SAtte Tommiskaconfig HW_RANDOM_XIPHERA 558cb435fa6SAtte Tommiska tristate "Xiphera FPGA based True Random Number Generator support" 559cb435fa6SAtte Tommiska depends on HAS_IOMEM 560cb435fa6SAtte Tommiska help 561cb435fa6SAtte Tommiska This driver provides kernel-side support for Xiphera True Random 562cb435fa6SAtte Tommiska Number Generator Intellectual Property Core. 563cb435fa6SAtte Tommiska 564cb435fa6SAtte Tommiska To compile this driver as a module, choose M here: the 565cb435fa6SAtte Tommiska module will be called xiphera-trng. 566cb435fa6SAtte Tommiska 5670888d04bSAndre Przywaraconfig HW_RANDOM_ARM_SMCCC_TRNG 5680888d04bSAndre Przywara tristate "Arm SMCCC TRNG firmware interface support" 5690888d04bSAndre Przywara depends on HAVE_ARM_SMCCC_DISCOVERY 5700888d04bSAndre Przywara default HW_RANDOM 5710888d04bSAndre Przywara help 5720888d04bSAndre Przywara Say 'Y' to enable the True Random Number Generator driver using 5730888d04bSAndre Przywara the Arm SMCCC TRNG firmware interface. This reads entropy from 5740888d04bSAndre Przywara higher exception levels (firmware, hypervisor). Uses SMCCC for 5750888d04bSAndre Przywara communicating with the firmware: 5760888d04bSAndre Przywara https://developer.arm.com/documentation/den0098/latest/ 5770888d04bSAndre Przywara 5780888d04bSAndre Przywara To compile this driver as a module, choose M here: the 5790888d04bSAndre Przywara module will be called arm_smccc_trng. 5800888d04bSAndre Przywara 58138e9791aSSunil Gouthamconfig HW_RANDOM_CN10K 58238e9791aSSunil Goutham tristate "Marvell CN10K Random Number Generator support" 58325dfae68SHerbert Xu depends on HW_RANDOM && PCI && (ARM64 || (64BIT && COMPILE_TEST)) 5849d3a7ff2SFrancesco Dolcini default HW_RANDOM if ARCH_THUNDER 58538e9791aSSunil Goutham help 58638e9791aSSunil Goutham This driver provides support for the True Random Number 58738e9791aSSunil Goutham generator available in Marvell CN10K SoCs. 58838e9791aSSunil Goutham 58938e9791aSSunil Goutham To compile this driver as a module, choose M here. 59038e9791aSSunil Goutham The module will be called cn10k_rng. If unsure, say Y. 59138e9791aSSunil Goutham 592c388f458SJia Jie Hoconfig HW_RANDOM_JH7110 593c388f458SJia Jie Ho tristate "StarFive JH7110 Random Number Generator support" 594c7410b42SHerbert Xu depends on SOC_STARFIVE || COMPILE_TEST 595c388f458SJia Jie Ho help 596c388f458SJia Jie Ho This driver provides support for the True Random Number 597c388f458SJia Jie Ho Generator in StarFive JH7110 SoCs. 598c388f458SJia Jie Ho 599c388f458SJia Jie Ho To compile this driver as a module, choose M here. 600c388f458SJia Jie Ho The module will be called jh7110-trng. 601c388f458SJia Jie Ho 602dcf4fef6SAurelien Jarnoconfig HW_RANDOM_ROCKCHIP 603dcf4fef6SAurelien Jarno tristate "Rockchip True Random Number Generator" 604dcf4fef6SAurelien Jarno depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST) 605dcf4fef6SAurelien Jarno depends on HAS_IOMEM 606dcf4fef6SAurelien Jarno default HW_RANDOM 607dcf4fef6SAurelien Jarno help 608dcf4fef6SAurelien Jarno This driver provides kernel-side support for the True Random Number 609*8eff8eb8SNicolas Frattaroli Generator hardware found on some Rockchip SoCs like RK3566, RK3568 610*8eff8eb8SNicolas Frattaroli or RK3588. 611dcf4fef6SAurelien Jarno 612dcf4fef6SAurelien Jarno To compile this driver as a module, choose M here: the 613dcf4fef6SAurelien Jarno module will be called rockchip-rng. 614dcf4fef6SAurelien Jarno 615dcf4fef6SAurelien Jarno If unsure, say Y. 616dcf4fef6SAurelien Jarno 61702001618SJean Delvareendif # HW_RANDOM 61802001618SJean Delvare 619d805a786SAl Viroconfig UML_RANDOM 620d805a786SAl Viro depends on UML 62172d3e093SChristopher Obbard select HW_RANDOM 62272d3e093SChristopher Obbard tristate "UML Random Number Generator support" 623d805a786SAl Viro help 624d805a786SAl Viro This option enables UML's "hardware" random number generator. It 625d805a786SAl Viro attaches itself to the host's /dev/random, supplying as much entropy 626d805a786SAl Viro as the host has, rather than the small amount the UML gets from its 62772d3e093SChristopher Obbard own drivers. It registers itself as a rng-core driver thus providing 62872d3e093SChristopher Obbard a device which is usually called /dev/hwrng. This hardware random 62972d3e093SChristopher Obbard number generator does feed into the kernel's random number generator 63072d3e093SChristopher Obbard entropy pool. 63172d3e093SChristopher Obbard 63272d3e093SChristopher Obbard If unsure, say Y. 633