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 && ARCH_AT91SAM9G45
66	default HW_RANDOM
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_GEODE
77	tristate "AMD Geode HW Random Number Generator support"
78	depends on HW_RANDOM && X86_32 && PCI
79	default HW_RANDOM
80	---help---
81	  This driver provides kernel-side support for the Random Number
82	  Generator hardware found on the AMD Geode LX.
83
84	  To compile this driver as a module, choose M here: the
85	  module will be called geode-rng.
86
87	  If unsure, say Y.
88
89config HW_RANDOM_N2RNG
90	tristate "Niagara2 Random Number Generator support"
91	depends on HW_RANDOM && SPARC64
92	default HW_RANDOM
93	---help---
94	  This driver provides kernel-side support for the Random Number
95	  Generator hardware found on Niagara2 cpus.
96
97	  To compile this driver as a module, choose M here: the
98	  module will be called n2-rng.
99
100	  If unsure, say Y.
101
102config HW_RANDOM_VIA
103	tristate "VIA HW Random Number Generator support"
104	depends on HW_RANDOM && X86
105	default HW_RANDOM
106	---help---
107	  This driver provides kernel-side support for the Random Number
108	  Generator hardware found on VIA based motherboards.
109
110	  To compile this driver as a module, choose M here: the
111	  module will be called via-rng.
112
113	  If unsure, say Y.
114
115config HW_RANDOM_IXP4XX
116	tristate "Intel IXP4xx NPU HW Random Number Generator support"
117	depends on HW_RANDOM && ARCH_IXP4XX
118	default HW_RANDOM
119	---help---
120	  This driver provides kernel-side support for the Random
121	  Number Generator hardware found on the Intel IXP4xx NPU.
122
123	  To compile this driver as a module, choose M here: the
124	  module will be called ixp4xx-rng.
125
126	  If unsure, say Y.
127
128config HW_RANDOM_OMAP
129	tristate "OMAP Random Number Generator support"
130	depends on HW_RANDOM && (ARCH_OMAP16XX || ARCH_OMAP2)
131	default HW_RANDOM
132 	---help---
133 	  This driver provides kernel-side support for the Random Number
134	  Generator hardware found on OMAP16xx and OMAP24xx multimedia
135	  processors.
136
137	  To compile this driver as a module, choose M here: the
138	  module will be called omap-rng.
139
140 	  If unsure, say Y.
141
142config HW_RANDOM_OCTEON
143	tristate "Octeon Random Number Generator support"
144	depends on HW_RANDOM && CPU_CAVIUM_OCTEON
145	default HW_RANDOM
146	---help---
147	  This driver provides kernel-side support for the Random Number
148	  Generator hardware found on Octeon processors.
149
150	  To compile this driver as a module, choose M here: the
151	  module will be called octeon-rng.
152
153	  If unsure, say Y.
154
155config HW_RANDOM_PASEMI
156	tristate "PA Semi HW Random Number Generator support"
157	depends on HW_RANDOM && PPC_PASEMI
158	default HW_RANDOM
159	---help---
160	  This driver provides kernel-side support for the Random Number
161	  Generator hardware found on PA Semi PWRficient SoCs.
162
163	  To compile this driver as a module, choose M here: the
164	  module will be called pasemi-rng.
165
166	  If unsure, say Y.
167
168config HW_RANDOM_VIRTIO
169	tristate "VirtIO Random Number Generator support"
170	depends on HW_RANDOM && VIRTIO
171	---help---
172	  This driver provides kernel-side support for the virtual Random Number
173	  Generator hardware.
174
175	  To compile this driver as a module, choose M here: the
176	  module will be called virtio-rng.  If unsure, say N.
177
178config HW_RANDOM_TX4939
179	tristate "TX4939 Random Number Generator support"
180	depends on HW_RANDOM && SOC_TX4939
181	default HW_RANDOM
182	---help---
183	  This driver provides kernel-side support for the Random Number
184	  Generator hardware found on TX4939 SoC.
185
186	  To compile this driver as a module, choose M here: the
187	  module will be called tx4939-rng.
188
189	  If unsure, say Y.
190
191config HW_RANDOM_MXC_RNGA
192	tristate "Freescale i.MX RNGA Random Number Generator"
193	depends on HW_RANDOM && ARCH_HAS_RNGA
194	---help---
195	  This driver provides kernel-side support for the Random Number
196	  Generator hardware found on Freescale i.MX processors.
197
198	  To compile this driver as a module, choose M here: the
199	  module will be called mxc-rnga.
200
201	  If unsure, say Y.
202
203config HW_RANDOM_NOMADIK
204	tristate "ST-Ericsson Nomadik Random Number Generator support"
205	depends on HW_RANDOM && PLAT_NOMADIK
206	---help---
207	  This driver provides kernel-side support for the Random Number
208	  Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
209
210	  To compile this driver as a module, choose M here: the
211	  module will be called nomadik-rng.
212
213	  If unsure, say Y.
214
215config HW_RANDOM_PICOXCELL
216	tristate "Picochip picoXcell true random number generator support"
217	depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3
218	---help---
219	  This driver provides kernel-side support for the Random Number
220	  Generator hardware found on Picochip PC3x3 and later devices.
221
222	  To compile this driver as a module, choose M here: the
223	  module will be called picoxcell-rng.
224
225	  If unsure, say Y.
226
227config HW_RANDOM_PPC4XX
228	tristate "PowerPC 4xx generic true random number generator support"
229	depends on HW_RANDOM && PPC && 4xx
230	---help---
231	 This driver provides the kernel-side support for the TRNG hardware
232	 found in the security function of some PowerPC 4xx SoCs.
233
234	 To compile this driver as a module, choose M here: the
235	 module will be called ppc4xx-rng.
236
237	 If unsure, say N.
238
239config UML_RANDOM
240	depends on UML
241	tristate "Hardware random number generator"
242	help
243	  This option enables UML's "hardware" random number generator.  It
244	  attaches itself to the host's /dev/random, supplying as much entropy
245	  as the host has, rather than the small amount the UML gets from its
246	  own drivers.  It registers itself as a standard hardware random number
247	  generator, major 10, minor 183, and the canonical device name is
248	  /dev/hwrng.
249	  The way to make use of this is to install the rng-tools package
250	  (check your distro, or download from
251	  http://sourceforge.net/projects/gkernel/).  rngd periodically reads
252	  /dev/hwrng and injects the entropy into /dev/random.
253