xref: /linux/drivers/char/hw_random/Kconfig (revision b889fcf63cb62e7fdb7816565e28f44dbe4a76a5)
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
89
90config HW_RANDOM_GEODE
91	tristate "AMD Geode HW Random Number Generator support"
92	depends on HW_RANDOM && X86_32 && PCI
93	default HW_RANDOM
94	---help---
95	  This driver provides kernel-side support for the Random Number
96	  Generator hardware found on the AMD Geode LX.
97
98	  To compile this driver as a module, choose M here: the
99	  module will be called geode-rng.
100
101	  If unsure, say Y.
102
103config HW_RANDOM_N2RNG
104	tristate "Niagara2 Random Number Generator support"
105	depends on HW_RANDOM && SPARC64
106	default HW_RANDOM
107	---help---
108	  This driver provides kernel-side support for the Random Number
109	  Generator hardware found on Niagara2 cpus.
110
111	  To compile this driver as a module, choose M here: the
112	  module will be called n2-rng.
113
114	  If unsure, say Y.
115
116config HW_RANDOM_VIA
117	tristate "VIA HW Random Number Generator support"
118	depends on HW_RANDOM && X86
119	default HW_RANDOM
120	---help---
121	  This driver provides kernel-side support for the Random Number
122	  Generator hardware found on VIA based motherboards.
123
124	  To compile this driver as a module, choose M here: the
125	  module will be called via-rng.
126
127	  If unsure, say Y.
128
129config HW_RANDOM_IXP4XX
130	tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
131	depends on HW_RANDOM && ARCH_IXP4XX
132	default HW_RANDOM
133	---help---
134	  This driver provides kernel-side support for the Pseudo-Random
135	  Number Generator hardware found on the Intel IXP45x/46x NPU.
136
137	  To compile this driver as a module, choose M here: the
138	  module will be called ixp4xx-rng.
139
140	  If unsure, say Y.
141
142config HW_RANDOM_OMAP
143	tristate "OMAP Random Number Generator support"
144	depends on HW_RANDOM && (ARCH_OMAP16XX || ARCH_OMAP2)
145	default HW_RANDOM
146 	---help---
147 	  This driver provides kernel-side support for the Random Number
148	  Generator hardware found on OMAP16xx and OMAP24xx multimedia
149	  processors.
150
151	  To compile this driver as a module, choose M here: the
152	  module will be called omap-rng.
153
154 	  If unsure, say Y.
155
156config HW_RANDOM_OCTEON
157	tristate "Octeon Random Number Generator support"
158	depends on HW_RANDOM && CPU_CAVIUM_OCTEON
159	default HW_RANDOM
160	---help---
161	  This driver provides kernel-side support for the Random Number
162	  Generator hardware found on Octeon processors.
163
164	  To compile this driver as a module, choose M here: the
165	  module will be called octeon-rng.
166
167	  If unsure, say Y.
168
169config HW_RANDOM_PASEMI
170	tristate "PA Semi HW Random Number Generator support"
171	depends on HW_RANDOM && PPC_PASEMI
172	default HW_RANDOM
173	---help---
174	  This driver provides kernel-side support for the Random Number
175	  Generator hardware found on PA Semi PWRficient SoCs.
176
177	  To compile this driver as a module, choose M here: the
178	  module will be called pasemi-rng.
179
180	  If unsure, say Y.
181
182config HW_RANDOM_VIRTIO
183	tristate "VirtIO Random Number Generator support"
184	depends on HW_RANDOM && VIRTIO
185	---help---
186	  This driver provides kernel-side support for the virtual Random Number
187	  Generator hardware.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called virtio-rng.  If unsure, say N.
191
192config HW_RANDOM_TX4939
193	tristate "TX4939 Random Number Generator support"
194	depends on HW_RANDOM && SOC_TX4939
195	default HW_RANDOM
196	---help---
197	  This driver provides kernel-side support for the Random Number
198	  Generator hardware found on TX4939 SoC.
199
200	  To compile this driver as a module, choose M here: the
201	  module will be called tx4939-rng.
202
203	  If unsure, say Y.
204
205config HW_RANDOM_MXC_RNGA
206	tristate "Freescale i.MX RNGA Random Number Generator"
207	depends on HW_RANDOM && ARCH_HAS_RNGA
208	---help---
209	  This driver provides kernel-side support for the Random Number
210	  Generator hardware found on Freescale i.MX processors.
211
212	  To compile this driver as a module, choose M here: the
213	  module will be called mxc-rnga.
214
215	  If unsure, say Y.
216
217config HW_RANDOM_NOMADIK
218	tristate "ST-Ericsson Nomadik Random Number Generator support"
219	depends on HW_RANDOM && ARCH_NOMADIK
220	---help---
221	  This driver provides kernel-side support for the Random Number
222	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
223
224	  To compile this driver as a module, choose M here: the
225	  module will be called nomadik-rng.
226
227	  If unsure, say Y.
228
229config HW_RANDOM_PICOXCELL
230	tristate "Picochip picoXcell true random number generator support"
231	depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3
232	---help---
233	  This driver provides kernel-side support for the Random Number
234	  Generator hardware found on Picochip PC3x3 and later devices.
235
236	  To compile this driver as a module, choose M here: the
237	  module will be called picoxcell-rng.
238
239	  If unsure, say Y.
240
241config HW_RANDOM_PPC4XX
242	tristate "PowerPC 4xx generic true random number generator support"
243	depends on HW_RANDOM && PPC && 4xx
244	---help---
245	 This driver provides the kernel-side support for the TRNG hardware
246	 found in the security function of some PowerPC 4xx SoCs.
247
248	 To compile this driver as a module, choose M here: the
249	 module will be called ppc4xx-rng.
250
251	 If unsure, say N.
252
253config UML_RANDOM
254	depends on UML
255	tristate "Hardware random number generator"
256	help
257	  This option enables UML's "hardware" random number generator.  It
258	  attaches itself to the host's /dev/random, supplying as much entropy
259	  as the host has, rather than the small amount the UML gets from its
260	  own drivers.  It registers itself as a standard hardware random number
261	  generator, major 10, minor 183, and the canonical device name is
262	  /dev/hwrng.
263	  The way to make use of this is to install the rng-tools package
264	  (check your distro, or download from
265	  http://sourceforge.net/projects/gkernel/).  rngd periodically reads
266	  /dev/hwrng and injects the entropy into /dev/random.
267
268config HW_RANDOM_PSERIES
269	tristate "pSeries HW Random Number Generator support"
270	depends on HW_RANDOM && PPC64 && IBMVIO
271	default HW_RANDOM
272	---help---
273	  This driver provides kernel-side support for the Random Number
274	  Generator hardware found on POWER7+ machines and above
275
276	  To compile this driver as a module, choose M here: the
277	  module will be called pseries-rng.
278
279	  If unsure, say Y.
280
281config HW_RANDOM_EXYNOS
282	tristate "EXYNOS HW random number generator support"
283	depends on HW_RANDOM && HAS_IOMEM && HAVE_CLK
284	---help---
285	  This driver provides kernel-side support for the Random Number
286	  Generator hardware found on EXYNOS SOCs.
287
288	  To compile this driver as a module, choose M here: the
289	  module will be called exynos-rng.
290
291	  If unsure, say Y.
292
293config HW_RANDOM_TPM
294	tristate "TPM HW Random Number Generator support"
295	depends on HW_RANDOM && TCG_TPM
296	default HW_RANDOM
297	---help---
298	  This driver provides kernel-side support for the Random Number
299	  Generator in the Trusted Platform Module
300
301	  To compile this driver as a module, choose M here: the
302	  module will be called tpm-rng.
303
304	  If unsure, say Y.
305