xref: /openbmc/linux/drivers/char/hw_random/Kconfig (revision 5bd8e16d)
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_OCTEON
169	tristate "Octeon Random Number Generator support"
170	depends on HW_RANDOM && CAVIUM_OCTEON_SOC
171	default HW_RANDOM
172	---help---
173	  This driver provides kernel-side support for the Random Number
174	  Generator hardware found on Octeon processors.
175
176	  To compile this driver as a module, choose M here: the
177	  module will be called octeon-rng.
178
179	  If unsure, say Y.
180
181config HW_RANDOM_PASEMI
182	tristate "PA Semi HW Random Number Generator support"
183	depends on HW_RANDOM && PPC_PASEMI
184	default HW_RANDOM
185	---help---
186	  This driver provides kernel-side support for the Random Number
187	  Generator hardware found on PA Semi PWRficient SoCs.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called pasemi-rng.
191
192	  If unsure, say Y.
193
194config HW_RANDOM_VIRTIO
195	tristate "VirtIO Random Number Generator support"
196	depends on HW_RANDOM && VIRTIO
197	---help---
198	  This driver provides kernel-side support for the virtual Random Number
199	  Generator hardware.
200
201	  To compile this driver as a module, choose M here: the
202	  module will be called virtio-rng.  If unsure, say N.
203
204config HW_RANDOM_TX4939
205	tristate "TX4939 Random Number Generator support"
206	depends on HW_RANDOM && SOC_TX4939
207	default HW_RANDOM
208	---help---
209	  This driver provides kernel-side support for the Random Number
210	  Generator hardware found on TX4939 SoC.
211
212	  To compile this driver as a module, choose M here: the
213	  module will be called tx4939-rng.
214
215	  If unsure, say Y.
216
217config HW_RANDOM_MXC_RNGA
218	tristate "Freescale i.MX RNGA Random Number Generator"
219	depends on HW_RANDOM && ARCH_HAS_RNGA
220	---help---
221	  This driver provides kernel-side support for the Random Number
222	  Generator hardware found on Freescale i.MX processors.
223
224	  To compile this driver as a module, choose M here: the
225	  module will be called mxc-rnga.
226
227	  If unsure, say Y.
228
229config HW_RANDOM_NOMADIK
230	tristate "ST-Ericsson Nomadik Random Number Generator support"
231	depends on HW_RANDOM && ARCH_NOMADIK
232	---help---
233	  This driver provides kernel-side support for the Random Number
234	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
235
236	  To compile this driver as a module, choose M here: the
237	  module will be called nomadik-rng.
238
239	  If unsure, say Y.
240
241config HW_RANDOM_PICOXCELL
242	tristate "Picochip picoXcell true random number generator support"
243	depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3
244	---help---
245	  This driver provides kernel-side support for the Random Number
246	  Generator hardware found on Picochip PC3x3 and later devices.
247
248	  To compile this driver as a module, choose M here: the
249	  module will be called picoxcell-rng.
250
251	  If unsure, say Y.
252
253config HW_RANDOM_PPC4XX
254	tristate "PowerPC 4xx generic true random number generator support"
255	depends on HW_RANDOM && PPC && 4xx
256	---help---
257	 This driver provides the kernel-side support for the TRNG hardware
258	 found in the security function of some PowerPC 4xx SoCs.
259
260	 To compile this driver as a module, choose M here: the
261	 module will be called ppc4xx-rng.
262
263	 If unsure, say N.
264
265config UML_RANDOM
266	depends on UML
267	tristate "Hardware random number generator"
268	help
269	  This option enables UML's "hardware" random number generator.  It
270	  attaches itself to the host's /dev/random, supplying as much entropy
271	  as the host has, rather than the small amount the UML gets from its
272	  own drivers.  It registers itself as a standard hardware random number
273	  generator, major 10, minor 183, and the canonical device name is
274	  /dev/hwrng.
275	  The way to make use of this is to install the rng-tools package
276	  (check your distro, or download from
277	  http://sourceforge.net/projects/gkernel/).  rngd periodically reads
278	  /dev/hwrng and injects the entropy into /dev/random.
279
280config HW_RANDOM_PSERIES
281	tristate "pSeries HW Random Number Generator support"
282	depends on HW_RANDOM && PPC64 && IBMVIO
283	default HW_RANDOM
284	---help---
285	  This driver provides kernel-side support for the Random Number
286	  Generator hardware found on POWER7+ machines and above
287
288	  To compile this driver as a module, choose M here: the
289	  module will be called pseries-rng.
290
291	  If unsure, say Y.
292
293config HW_RANDOM_EXYNOS
294	tristate "EXYNOS HW random number generator support"
295	depends on HW_RANDOM && HAS_IOMEM && HAVE_CLK
296	---help---
297	  This driver provides kernel-side support for the Random Number
298	  Generator hardware found on EXYNOS SOCs.
299
300	  To compile this driver as a module, choose M here: the
301	  module will be called exynos-rng.
302
303	  If unsure, say Y.
304
305config HW_RANDOM_TPM
306	tristate "TPM HW Random Number Generator support"
307	depends on HW_RANDOM && TCG_TPM
308	default HW_RANDOM
309	---help---
310	  This driver provides kernel-side support for the Random Number
311	  Generator in the Trusted Platform Module
312
313	  To compile this driver as a module, choose M here: the
314	  module will be called tpm-rng.
315
316	  If unsure, say Y.
317