xref: /openbmc/linux/drivers/char/hw_random/Kconfig (revision c4ee0af3)
1#
2# Hardware Random Number Generator (RNG) configuration
3#
4
5config HW_RANDOM
6	tristate "Hardware Random Number Generator Core support"
7	default m
8	---help---
9	  Hardware Random Number Generator Core infrastructure.
10
11	  To compile this driver as a module, choose M here: the
12	  module will be called rng-core.  This provides a device
13	  that's usually called /dev/hw_random, and which exposes one
14	  of possibly several hardware random number generators.
15
16	  These hardware random number generators do not feed directly
17	  into the kernel's random number generator.  That is usually
18	  handled by the "rngd" daemon.  Documentation/hw_random.txt
19	  has more information.
20
21	  If unsure, say Y.
22
23config HW_RANDOM_TIMERIOMEM
24	tristate "Timer IOMEM HW Random Number Generator support"
25	depends on HW_RANDOM && HAS_IOMEM
26	---help---
27	  This driver provides kernel-side support for a generic Random
28	  Number Generator used by reading a 'dumb' iomem address that
29	  is to be read no faster than, for example, once a second;
30	  the default FPGA bitstream on the TS-7800 has such functionality.
31
32	  To compile this driver as a module, choose M here: the
33	  module will be called timeriomem-rng.
34
35	  If unsure, say Y.
36
37config HW_RANDOM_INTEL
38	tristate "Intel HW Random Number Generator support"
39	depends on HW_RANDOM && (X86 || IA64) && PCI
40	default HW_RANDOM
41	---help---
42	  This driver provides kernel-side support for the Random Number
43	  Generator hardware found on Intel i8xx-based motherboards.
44
45	  To compile this driver as a module, choose M here: the
46	  module will be called intel-rng.
47
48	  If unsure, say Y.
49
50config HW_RANDOM_AMD
51	tristate "AMD HW Random Number Generator support"
52	depends on HW_RANDOM && (X86 || PPC_MAPLE) && PCI
53	default HW_RANDOM
54	---help---
55	  This driver provides kernel-side support for the Random Number
56	  Generator hardware found on AMD 76x-based motherboards.
57
58	  To compile this driver as a module, choose M here: the
59	  module will be called amd-rng.
60
61	  If unsure, say Y.
62
63config HW_RANDOM_ATMEL
64	tristate "Atmel Random Number Generator support"
65	depends on HW_RANDOM && HAVE_CLK
66	default (HW_RANDOM && ARCH_AT91)
67	---help---
68	  This driver provides kernel-side support for the Random Number
69	  Generator hardware found on Atmel AT91 devices.
70
71	  To compile this driver as a module, choose M here: the
72	  module will be called atmel-rng.
73
74	  If unsure, say Y.
75
76config HW_RANDOM_BCM63XX
77	tristate "Broadcom BCM63xx Random Number Generator support"
78	depends on HW_RANDOM && BCM63XX
79	default HW_RANDOM
80	---help---
81	  This driver provides kernel-side support for the Random Number
82	  Generator hardware found on the Broadcom BCM63xx SoCs.
83
84	  To compile this driver as a module, choose M here: the
85	  module will be called bcm63xx-rng
86
87	  If unusure, say Y.
88
89config HW_RANDOM_BCM2835
90	tristate "Broadcom BCM2835 Random Number Generator support"
91	depends on HW_RANDOM && ARCH_BCM2835
92	default HW_RANDOM
93	---help---
94	  This driver provides kernel-side support for the Random Number
95	  Generator hardware found on the Broadcom BCM2835 SoCs.
96
97	  To compile this driver as a module, choose M here: the
98	  module will be called bcm2835-rng
99
100	  If unsure, say Y.
101
102config HW_RANDOM_GEODE
103	tristate "AMD Geode HW Random Number Generator support"
104	depends on HW_RANDOM && X86_32 && PCI
105	default HW_RANDOM
106	---help---
107	  This driver provides kernel-side support for the Random Number
108	  Generator hardware found on the AMD Geode LX.
109
110	  To compile this driver as a module, choose M here: the
111	  module will be called geode-rng.
112
113	  If unsure, say Y.
114
115config HW_RANDOM_N2RNG
116	tristate "Niagara2 Random Number Generator support"
117	depends on HW_RANDOM && SPARC64
118	default HW_RANDOM
119	---help---
120	  This driver provides kernel-side support for the Random Number
121	  Generator hardware found on Niagara2 cpus.
122
123	  To compile this driver as a module, choose M here: the
124	  module will be called n2-rng.
125
126	  If unsure, say Y.
127
128config HW_RANDOM_VIA
129	tristate "VIA HW Random Number Generator support"
130	depends on HW_RANDOM && X86
131	default HW_RANDOM
132	---help---
133	  This driver provides kernel-side support for the Random Number
134	  Generator hardware found on VIA based motherboards.
135
136	  To compile this driver as a module, choose M here: the
137	  module will be called via-rng.
138
139	  If unsure, say Y.
140
141config HW_RANDOM_IXP4XX
142	tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
143	depends on HW_RANDOM && ARCH_IXP4XX
144	default HW_RANDOM
145	---help---
146	  This driver provides kernel-side support for the Pseudo-Random
147	  Number Generator hardware found on the Intel IXP45x/46x NPU.
148
149	  To compile this driver as a module, choose M here: the
150	  module will be called ixp4xx-rng.
151
152	  If unsure, say Y.
153
154config HW_RANDOM_OMAP
155	tristate "OMAP Random Number Generator support"
156	depends on HW_RANDOM && (ARCH_OMAP16XX || ARCH_OMAP2PLUS)
157	default HW_RANDOM
158 	---help---
159 	  This driver provides kernel-side support for the Random Number
160	  Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx
161	  multimedia processors.
162
163	  To compile this driver as a module, choose M here: the
164	  module will be called omap-rng.
165
166 	  If unsure, say Y.
167
168config HW_RANDOM_OMAP3_ROM
169	tristate "OMAP3 ROM Random Number Generator support"
170	depends on HW_RANDOM && ARCH_OMAP3
171	default HW_RANDOM
172	---help---
173	  This driver provides kernel-side support for the Random Number
174	  Generator hardware found on OMAP34xx processors.
175
176	  To compile this driver as a module, choose M here: the
177	  module will be called omap3-rom-rng.
178
179	  If unsure, say Y.
180
181config HW_RANDOM_OCTEON
182	tristate "Octeon Random Number Generator support"
183	depends on HW_RANDOM && CAVIUM_OCTEON_SOC
184	default HW_RANDOM
185	---help---
186	  This driver provides kernel-side support for the Random Number
187	  Generator hardware found on Octeon processors.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called octeon-rng.
191
192	  If unsure, say Y.
193
194config HW_RANDOM_PASEMI
195	tristate "PA Semi HW Random Number Generator support"
196	depends on HW_RANDOM && PPC_PASEMI
197	default HW_RANDOM
198	---help---
199	  This driver provides kernel-side support for the Random Number
200	  Generator hardware found on PA Semi PWRficient SoCs.
201
202	  To compile this driver as a module, choose M here: the
203	  module will be called pasemi-rng.
204
205	  If unsure, say Y.
206
207config HW_RANDOM_VIRTIO
208	tristate "VirtIO Random Number Generator support"
209	depends on HW_RANDOM && VIRTIO
210	---help---
211	  This driver provides kernel-side support for the virtual Random Number
212	  Generator hardware.
213
214	  To compile this driver as a module, choose M here: the
215	  module will be called virtio-rng.  If unsure, say N.
216
217config HW_RANDOM_TX4939
218	tristate "TX4939 Random Number Generator support"
219	depends on HW_RANDOM && SOC_TX4939
220	default HW_RANDOM
221	---help---
222	  This driver provides kernel-side support for the Random Number
223	  Generator hardware found on TX4939 SoC.
224
225	  To compile this driver as a module, choose M here: the
226	  module will be called tx4939-rng.
227
228	  If unsure, say Y.
229
230config HW_RANDOM_MXC_RNGA
231	tristate "Freescale i.MX RNGA Random Number Generator"
232	depends on HW_RANDOM && ARCH_HAS_RNGA
233	---help---
234	  This driver provides kernel-side support for the Random Number
235	  Generator hardware found on Freescale i.MX processors.
236
237	  To compile this driver as a module, choose M here: the
238	  module will be called mxc-rnga.
239
240	  If unsure, say Y.
241
242config HW_RANDOM_NOMADIK
243	tristate "ST-Ericsson Nomadik Random Number Generator support"
244	depends on HW_RANDOM && ARCH_NOMADIK
245	---help---
246	  This driver provides kernel-side support for the Random Number
247	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
248
249	  To compile this driver as a module, choose M here: the
250	  module will be called nomadik-rng.
251
252	  If unsure, say Y.
253
254config HW_RANDOM_PICOXCELL
255	tristate "Picochip picoXcell true random number generator support"
256	depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3
257	---help---
258	  This driver provides kernel-side support for the Random Number
259	  Generator hardware found on Picochip PC3x3 and later devices.
260
261	  To compile this driver as a module, choose M here: the
262	  module will be called picoxcell-rng.
263
264	  If unsure, say Y.
265
266config HW_RANDOM_PPC4XX
267	tristate "PowerPC 4xx generic true random number generator support"
268	depends on HW_RANDOM && PPC && 4xx
269	---help---
270	 This driver provides the kernel-side support for the TRNG hardware
271	 found in the security function of some PowerPC 4xx SoCs.
272
273	 To compile this driver as a module, choose M here: the
274	 module will be called ppc4xx-rng.
275
276	 If unsure, say N.
277
278config UML_RANDOM
279	depends on UML
280	tristate "Hardware random number generator"
281	help
282	  This option enables UML's "hardware" random number generator.  It
283	  attaches itself to the host's /dev/random, supplying as much entropy
284	  as the host has, rather than the small amount the UML gets from its
285	  own drivers.  It registers itself as a standard hardware random number
286	  generator, major 10, minor 183, and the canonical device name is
287	  /dev/hwrng.
288	  The way to make use of this is to install the rng-tools package
289	  (check your distro, or download from
290	  http://sourceforge.net/projects/gkernel/).  rngd periodically reads
291	  /dev/hwrng and injects the entropy into /dev/random.
292
293config HW_RANDOM_PSERIES
294	tristate "pSeries HW Random Number Generator support"
295	depends on HW_RANDOM && PPC64 && IBMVIO
296	default HW_RANDOM
297	---help---
298	  This driver provides kernel-side support for the Random Number
299	  Generator hardware found on POWER7+ machines and above
300
301	  To compile this driver as a module, choose M here: the
302	  module will be called pseries-rng.
303
304	  If unsure, say Y.
305
306config HW_RANDOM_POWERNV
307	tristate "PowerNV Random Number Generator support"
308	depends on HW_RANDOM && PPC_POWERNV
309	default HW_RANDOM
310	---help---
311	  This is the driver for Random Number Generator hardware found
312	  in POWER7+ and above machines for PowerNV platform.
313
314	  To compile this driver as a module, choose M here: the
315	  module will be called powernv-rng.
316
317	  If unsure, say Y.
318
319config HW_RANDOM_EXYNOS
320	tristate "EXYNOS HW random number generator support"
321	depends on HW_RANDOM && HAS_IOMEM && HAVE_CLK
322	---help---
323	  This driver provides kernel-side support for the Random Number
324	  Generator hardware found on EXYNOS SOCs.
325
326	  To compile this driver as a module, choose M here: the
327	  module will be called exynos-rng.
328
329	  If unsure, say Y.
330
331config HW_RANDOM_TPM
332	tristate "TPM HW Random Number Generator support"
333	depends on HW_RANDOM && TCG_TPM
334	default HW_RANDOM
335	---help---
336	  This driver provides kernel-side support for the Random Number
337	  Generator in the Trusted Platform Module
338
339	  To compile this driver as a module, choose M here: the
340	  module will be called tpm-rng.
341
342	  If unsure, say Y.
343
344config HW_RANDOM_MSM
345	tristate "Qualcomm MSM Random Number Generator support"
346	depends on HW_RANDOM && ARCH_MSM
347	---help---
348	  This driver provides kernel-side support for the Random Number
349	  Generator hardware found on Qualcomm MSM SoCs.
350
351	  To compile this driver as a module, choose M here. the
352	  module will be called msm-rng.
353
354	  If unsure, say Y.
355