xref: /linux/drivers/char/hw_random/Kconfig (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
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