]>
Commit | Line | Data |
---|---|---|
b511431d JE |
1 | |
2 | menuconfig CRYPTO_HW | |
3 | bool "Hardware crypto devices" | |
4 | default y | |
06bfb7eb JE |
5 | ---help--- |
6 | Say Y here to get to see options for hardware crypto devices and | |
7 | processors. This option alone does not add any kernel code. | |
8 | ||
9 | If you say N, all options in this submenu will be skipped and disabled. | |
b511431d JE |
10 | |
11 | if CRYPTO_HW | |
1da177e4 LT |
12 | |
13 | config CRYPTO_DEV_PADLOCK | |
d158325e | 14 | tristate "Support for VIA PadLock ACE" |
2f817418 | 15 | depends on X86 && !UML |
1da177e4 LT |
16 | help |
17 | Some VIA processors come with an integrated crypto engine | |
18 | (so called VIA PadLock ACE, Advanced Cryptography Engine) | |
1191f0a4 ML |
19 | that provides instructions for very fast cryptographic |
20 | operations with supported algorithms. | |
1da177e4 LT |
21 | |
22 | The instructions are used only when the CPU supports them. | |
5644bda5 ML |
23 | Otherwise software encryption is used. |
24 | ||
1da177e4 | 25 | config CRYPTO_DEV_PADLOCK_AES |
1191f0a4 | 26 | tristate "PadLock driver for AES algorithm" |
1da177e4 | 27 | depends on CRYPTO_DEV_PADLOCK |
28ce728a | 28 | select CRYPTO_BLKCIPHER |
7dc748e4 | 29 | select CRYPTO_AES |
1da177e4 LT |
30 | help |
31 | Use VIA PadLock for AES algorithm. | |
32 | ||
1191f0a4 ML |
33 | Available in VIA C3 and newer CPUs. |
34 | ||
35 | If unsure say M. The compiled module will be | |
4737f097 | 36 | called padlock-aes. |
1191f0a4 | 37 | |
6c833275 ML |
38 | config CRYPTO_DEV_PADLOCK_SHA |
39 | tristate "PadLock driver for SHA1 and SHA256 algorithms" | |
40 | depends on CRYPTO_DEV_PADLOCK | |
bbbee467 | 41 | select CRYPTO_HASH |
6c833275 ML |
42 | select CRYPTO_SHA1 |
43 | select CRYPTO_SHA256 | |
6c833275 ML |
44 | help |
45 | Use VIA PadLock for SHA1/SHA256 algorithms. | |
46 | ||
47 | Available in VIA C7 and newer processors. | |
48 | ||
49 | If unsure say M. The compiled module will be | |
4737f097 | 50 | called padlock-sha. |
6c833275 | 51 | |
9fe757b0 JC |
52 | config CRYPTO_DEV_GEODE |
53 | tristate "Support for the Geode LX AES engine" | |
f6259dea | 54 | depends on X86_32 && PCI |
9fe757b0 JC |
55 | select CRYPTO_ALGAPI |
56 | select CRYPTO_BLKCIPHER | |
9fe757b0 JC |
57 | help |
58 | Say 'Y' here to use the AMD Geode LX processor on-board AES | |
3dde6ad8 | 59 | engine for the CryptoAPI AES algorithm. |
9fe757b0 JC |
60 | |
61 | To compile this driver as a module, choose M here: the module | |
62 | will be called geode-aes. | |
63 | ||
61d48c2c MS |
64 | config ZCRYPT |
65 | tristate "Support for PCI-attached cryptographic adapters" | |
66 | depends on S390 | |
2f7c8bd6 | 67 | select HW_RANDOM |
61d48c2c MS |
68 | help |
69 | Select this option if you want to use a PCI-attached cryptographic | |
70 | adapter like: | |
71 | + PCI Cryptographic Accelerator (PCICA) | |
72 | + PCI Cryptographic Coprocessor (PCICC) | |
73 | + PCI-X Cryptographic Coprocessor (PCIXCC) | |
74 | + Crypto Express2 Coprocessor (CEX2C) | |
75 | + Crypto Express2 Accelerator (CEX2A) | |
cf2d007b HD |
76 | + Crypto Express3 Coprocessor (CEX3C) |
77 | + Crypto Express3 Accelerator (CEX3A) | |
61d48c2c | 78 | |
3f5615e0 JG |
79 | config CRYPTO_SHA1_S390 |
80 | tristate "SHA1 digest algorithm" | |
81 | depends on S390 | |
563f346d | 82 | select CRYPTO_HASH |
3f5615e0 JG |
83 | help |
84 | This is the s390 hardware accelerated implementation of the | |
85 | SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). | |
86 | ||
d393d9b8 JG |
87 | It is available as of z990. |
88 | ||
3f5615e0 JG |
89 | config CRYPTO_SHA256_S390 |
90 | tristate "SHA256 digest algorithm" | |
91 | depends on S390 | |
563f346d | 92 | select CRYPTO_HASH |
3f5615e0 JG |
93 | help |
94 | This is the s390 hardware accelerated implementation of the | |
95 | SHA256 secure hash standard (DFIPS 180-2). | |
96 | ||
d393d9b8 | 97 | It is available as of z9. |
3f5615e0 | 98 | |
291dc7c0 | 99 | config CRYPTO_SHA512_S390 |
4e2c6d7f | 100 | tristate "SHA384 and SHA512 digest algorithm" |
291dc7c0 | 101 | depends on S390 |
563f346d | 102 | select CRYPTO_HASH |
291dc7c0 JG |
103 | help |
104 | This is the s390 hardware accelerated implementation of the | |
105 | SHA512 secure hash standard. | |
106 | ||
d393d9b8 | 107 | It is available as of z10. |
291dc7c0 | 108 | |
3f5615e0 JG |
109 | config CRYPTO_DES_S390 |
110 | tristate "DES and Triple DES cipher algorithms" | |
111 | depends on S390 | |
112 | select CRYPTO_ALGAPI | |
113 | select CRYPTO_BLKCIPHER | |
63291d40 | 114 | select CRYPTO_DES |
3f5615e0 | 115 | help |
0200f3ec | 116 | This is the s390 hardware accelerated implementation of the |
3f5615e0 JG |
117 | DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). |
118 | ||
0200f3ec GS |
119 | As of z990 the ECB and CBC mode are hardware accelerated. |
120 | As of z196 the CTR mode is hardware accelerated. | |
121 | ||
3f5615e0 JG |
122 | config CRYPTO_AES_S390 |
123 | tristate "AES cipher algorithms" | |
124 | depends on S390 | |
125 | select CRYPTO_ALGAPI | |
126 | select CRYPTO_BLKCIPHER | |
127 | help | |
128 | This is the s390 hardware accelerated implementation of the | |
99d97222 GS |
129 | AES cipher algorithms (FIPS-197). |
130 | ||
131 | As of z9 the ECB and CBC modes are hardware accelerated | |
132 | for 128 bit keys. | |
133 | As of z10 the ECB and CBC modes are hardware accelerated | |
134 | for all AES key sizes. | |
0200f3ec GS |
135 | As of z196 the CTR mode is hardware accelerated for all AES |
136 | key sizes and XTS mode is hardware accelerated for 256 and | |
99d97222 | 137 | 512 bit keys. |
3f5615e0 JG |
138 | |
139 | config S390_PRNG | |
140 | tristate "Pseudo random number generator device driver" | |
141 | depends on S390 | |
142 | default "m" | |
143 | help | |
144 | Select this option if you want to use the s390 pseudo random number | |
145 | generator. The PRNG is part of the cryptographic processor functions | |
146 | and uses triple-DES to generate secure random numbers like the | |
d393d9b8 JG |
147 | ANSI X9.17 standard. User-space programs access the |
148 | pseudo-random-number device through the char device /dev/prandom. | |
149 | ||
150 | It is available as of z9. | |
3f5615e0 | 151 | |
df1309ce GS |
152 | config CRYPTO_GHASH_S390 |
153 | tristate "GHASH digest algorithm" | |
154 | depends on S390 | |
155 | select CRYPTO_HASH | |
156 | help | |
157 | This is the s390 hardware accelerated implementation of the | |
158 | GHASH message digest algorithm for GCM (Galois/Counter Mode). | |
159 | ||
160 | It is available as of z196. | |
161 | ||
85a7f0ac SAS |
162 | config CRYPTO_DEV_MV_CESA |
163 | tristate "Marvell's Cryptographic Engine" | |
164 | depends on PLAT_ORION | |
165 | select CRYPTO_ALGAPI | |
166 | select CRYPTO_AES | |
167 | select CRYPTO_BLKCIPHER2 | |
1ebfefcf | 168 | select CRYPTO_HASH |
85a7f0ac SAS |
169 | help |
170 | This driver allows you to utilize the Cryptographic Engines and | |
171 | Security Accelerator (CESA) which can be found on the Marvell Orion | |
172 | and Kirkwood SoCs, such as QNAP's TS-209. | |
173 | ||
174 | Currently the driver supports AES in ECB and CBC mode without DMA. | |
175 | ||
0a625fd2 DM |
176 | config CRYPTO_DEV_NIAGARA2 |
177 | tristate "Niagara2 Stream Processing Unit driver" | |
50e78161 | 178 | select CRYPTO_DES |
0a625fd2 DM |
179 | select CRYPTO_ALGAPI |
180 | depends on SPARC64 | |
181 | help | |
182 | Each core of a Niagara2 processor contains a Stream | |
183 | Processing Unit, which itself contains several cryptographic | |
184 | sub-units. One set provides the Modular Arithmetic Unit, | |
185 | used for SSL offload. The other set provides the Cipher | |
186 | Group, which can perform encryption, decryption, hashing, | |
187 | checksumming, and raw copies. | |
188 | ||
f7d0561e EP |
189 | config CRYPTO_DEV_HIFN_795X |
190 | tristate "Driver HIFN 795x crypto accelerator chips" | |
c3041f9c | 191 | select CRYPTO_DES |
f7d0561e | 192 | select CRYPTO_ALGAPI |
653ebd9c | 193 | select CRYPTO_BLKCIPHER |
946fef4e | 194 | select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG |
2707b937 | 195 | depends on PCI |
75b76625 | 196 | depends on !ARCH_DMA_ADDR_T_64BIT |
f7d0561e EP |
197 | help |
198 | This option allows you to have support for HIFN 795x crypto adapters. | |
199 | ||
946fef4e HX |
200 | config CRYPTO_DEV_HIFN_795X_RNG |
201 | bool "HIFN 795x random number generator" | |
202 | depends on CRYPTO_DEV_HIFN_795X | |
203 | help | |
204 | Select this option if you want to enable the random number generator | |
205 | on the HIFN 795x crypto adapters. | |
f7d0561e | 206 | |
8e8ec596 KP |
207 | source drivers/crypto/caam/Kconfig |
208 | ||
9c4a7965 KP |
209 | config CRYPTO_DEV_TALITOS |
210 | tristate "Talitos Freescale Security Engine (SEC)" | |
211 | select CRYPTO_ALGAPI | |
212 | select CRYPTO_AUTHENC | |
213 | select HW_RANDOM | |
214 | depends on FSL_SOC | |
215 | help | |
216 | Say 'Y' here to use the Freescale Security Engine (SEC) | |
217 | to offload cryptographic algorithm computation. | |
218 | ||
219 | The Freescale SEC is present on PowerQUICC 'E' processors, such | |
220 | as the MPC8349E and MPC8548E. | |
221 | ||
222 | To compile this driver as a module, choose M here: the module | |
223 | will be called talitos. | |
224 | ||
81bef015 CH |
225 | config CRYPTO_DEV_IXP4XX |
226 | tristate "Driver for IXP4xx crypto hardware acceleration" | |
9665c52b | 227 | depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE |
81bef015 CH |
228 | select CRYPTO_DES |
229 | select CRYPTO_ALGAPI | |
090657e4 | 230 | select CRYPTO_AUTHENC |
81bef015 CH |
231 | select CRYPTO_BLKCIPHER |
232 | help | |
233 | Driver for the IXP4xx NPE crypto engine. | |
234 | ||
049359d6 JH |
235 | config CRYPTO_DEV_PPC4XX |
236 | tristate "Driver AMCC PPC4xx crypto accelerator" | |
237 | depends on PPC && 4xx | |
238 | select CRYPTO_HASH | |
239 | select CRYPTO_ALGAPI | |
240 | select CRYPTO_BLKCIPHER | |
241 | help | |
242 | This option allows you to have support for AMCC crypto acceleration. | |
243 | ||
8628e7c8 | 244 | config CRYPTO_DEV_OMAP_SHAM |
eaef7e3f LV |
245 | tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" |
246 | depends on ARCH_OMAP2PLUS | |
8628e7c8 DK |
247 | select CRYPTO_SHA1 |
248 | select CRYPTO_MD5 | |
eaef7e3f LV |
249 | select CRYPTO_SHA256 |
250 | select CRYPTO_SHA512 | |
251 | select CRYPTO_HMAC | |
8628e7c8 | 252 | help |
eaef7e3f LV |
253 | OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you |
254 | want to use the OMAP module for MD5/SHA1/SHA2 algorithms. | |
8628e7c8 | 255 | |
537559a5 DK |
256 | config CRYPTO_DEV_OMAP_AES |
257 | tristate "Support for OMAP AES hw engine" | |
1bbf6437 | 258 | depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS |
537559a5 | 259 | select CRYPTO_AES |
d87d7712 | 260 | select CRYPTO_BLKCIPHER2 |
537559a5 DK |
261 | help |
262 | OMAP processors have AES module accelerator. Select this if you | |
263 | want to use the OMAP module for AES algorithms. | |
264 | ||
ce921368 JI |
265 | config CRYPTO_DEV_PICOXCELL |
266 | tristate "Support for picoXcell IPSEC and Layer2 crypto engines" | |
fad8fa47 | 267 | depends on ARCH_PICOXCELL && HAVE_CLK |
ce921368 JI |
268 | select CRYPTO_AES |
269 | select CRYPTO_AUTHENC | |
270 | select CRYPTO_ALGAPI | |
271 | select CRYPTO_DES | |
272 | select CRYPTO_CBC | |
273 | select CRYPTO_ECB | |
274 | select CRYPTO_SEQIV | |
275 | help | |
276 | This option enables support for the hardware offload engines in the | |
277 | Picochip picoXcell SoC devices. Select this for IPSEC ESP offload | |
278 | and for 3gpp Layer 2 ciphering support. | |
279 | ||
280 | Saying m here will build a module named pipcoxcell_crypto. | |
281 | ||
5de88752 JM |
282 | config CRYPTO_DEV_SAHARA |
283 | tristate "Support for SAHARA crypto accelerator" | |
74d24d83 | 284 | depends on ARCH_MXC && OF |
5de88752 JM |
285 | select CRYPTO_BLKCIPHER |
286 | select CRYPTO_AES | |
287 | select CRYPTO_ECB | |
288 | help | |
289 | This option enables support for the SAHARA HW crypto accelerator | |
290 | found in some Freescale i.MX chips. | |
291 | ||
a49e490c VZ |
292 | config CRYPTO_DEV_S5P |
293 | tristate "Support for Samsung S5PV210 crypto accelerator" | |
294 | depends on ARCH_S5PV210 | |
295 | select CRYPTO_AES | |
296 | select CRYPTO_ALGAPI | |
297 | select CRYPTO_BLKCIPHER | |
298 | help | |
299 | This option allows you to have support for S5P crypto acceleration. | |
300 | Select this to offload Samsung S5PV210 or S5PC110 from AES | |
301 | algorithms execution. | |
302 | ||
f1df57d0 VW |
303 | config CRYPTO_DEV_TEGRA_AES |
304 | tristate "Support for TEGRA AES hw engine" | |
305 | depends on ARCH_TEGRA | |
306 | select CRYPTO_AES | |
307 | help | |
308 | TEGRA processors have AES module accelerator. Select this if you | |
309 | want to use the TEGRA module for AES algorithms. | |
310 | ||
311 | To compile this driver as a module, choose M here: the module | |
312 | will be called tegra-aes. | |
313 | ||
aef7b31c | 314 | config CRYPTO_DEV_NX |
322cacce | 315 | bool "Support for IBM Power7+ in-Nest cryptographic acceleration" |
aef7b31c | 316 | depends on PPC64 && IBMVIO |
322cacce | 317 | default n |
aef7b31c | 318 | help |
322cacce SJ |
319 | Support for Power7+ in-Nest cryptographic acceleration. |
320 | ||
321 | if CRYPTO_DEV_NX | |
322 | source "drivers/crypto/nx/Kconfig" | |
323 | endif | |
aef7b31c | 324 | |
2789c08f AW |
325 | config CRYPTO_DEV_UX500 |
326 | tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" | |
327 | depends on ARCH_U8500 | |
328 | select CRYPTO_ALGAPI | |
329 | help | |
330 | Driver for ST-Ericsson UX500 crypto engine. | |
331 | ||
332 | if CRYPTO_DEV_UX500 | |
333 | source "drivers/crypto/ux500/Kconfig" | |
334 | endif # if CRYPTO_DEV_UX500 | |
335 | ||
b8840098 SZ |
336 | config CRYPTO_DEV_BFIN_CRC |
337 | tristate "Support for Blackfin CRC hardware" | |
338 | depends on BF60x | |
339 | help | |
340 | Newer Blackfin processors have CRC hardware. Select this if you | |
341 | want to use the Blackfin CRC module. | |
342 | ||
bd3c7b5c NR |
343 | config CRYPTO_DEV_ATMEL_AES |
344 | tristate "Support for Atmel AES hw accelerator" | |
345 | depends on ARCH_AT91 | |
346 | select CRYPTO_CBC | |
347 | select CRYPTO_ECB | |
348 | select CRYPTO_AES | |
349 | select CRYPTO_ALGAPI | |
350 | select CRYPTO_BLKCIPHER | |
22eed1ca | 351 | select AT_HDMAC |
bd3c7b5c NR |
352 | help |
353 | Some Atmel processors have AES hw accelerator. | |
354 | Select this if you want to use the Atmel module for | |
355 | AES algorithms. | |
356 | ||
357 | To compile this driver as a module, choose M here: the module | |
358 | will be called atmel-aes. | |
359 | ||
13802005 NR |
360 | config CRYPTO_DEV_ATMEL_TDES |
361 | tristate "Support for Atmel DES/TDES hw accelerator" | |
362 | depends on ARCH_AT91 | |
363 | select CRYPTO_DES | |
364 | select CRYPTO_CBC | |
365 | select CRYPTO_ECB | |
366 | select CRYPTO_ALGAPI | |
367 | select CRYPTO_BLKCIPHER | |
368 | help | |
369 | Some Atmel processors have DES/TDES hw accelerator. | |
370 | Select this if you want to use the Atmel module for | |
371 | DES/TDES algorithms. | |
372 | ||
373 | To compile this driver as a module, choose M here: the module | |
374 | will be called atmel-tdes. | |
375 | ||
ebc82efa | 376 | config CRYPTO_DEV_ATMEL_SHA |
d4905b38 | 377 | tristate "Support for Atmel SHA hw accelerator" |
ebc82efa NR |
378 | depends on ARCH_AT91 |
379 | select CRYPTO_SHA1 | |
380 | select CRYPTO_SHA256 | |
d4905b38 | 381 | select CRYPTO_SHA512 |
ebc82efa NR |
382 | select CRYPTO_ALGAPI |
383 | help | |
d4905b38 NR |
384 | Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 |
385 | hw accelerator. | |
ebc82efa | 386 | Select this if you want to use the Atmel module for |
d4905b38 | 387 | SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. |
ebc82efa NR |
388 | |
389 | To compile this driver as a module, choose M here: the module | |
390 | will be called atmel-sha. | |
391 | ||
f1147660 TL |
392 | config CRYPTO_DEV_CCP |
393 | bool "Support for AMD Cryptographic Coprocessor" | |
d5aa8095 | 394 | depends on X86 && PCI |
f1147660 TL |
395 | default n |
396 | help | |
397 | The AMD Cryptographic Coprocessor provides hardware support | |
398 | for encryption, hashing and related operations. | |
399 | ||
400 | if CRYPTO_DEV_CCP | |
401 | source "drivers/crypto/ccp/Kconfig" | |
402 | endif | |
403 | ||
15b59e7c MV |
404 | config CRYPTO_DEV_MXS_DCP |
405 | tristate "Support for Freescale MXS DCP" | |
406 | depends on ARCH_MXS | |
407 | select CRYPTO_SHA1 | |
408 | select CRYPTO_SHA256 | |
409 | select CRYPTO_CBC | |
410 | select CRYPTO_ECB | |
411 | select CRYPTO_AES | |
412 | select CRYPTO_BLKCIPHER | |
413 | select CRYPTO_ALGAPI | |
414 | help | |
415 | The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB | |
416 | co-processor on the die. | |
417 | ||
418 | To compile this driver as a module, choose M here: the module | |
419 | will be called mxs-dcp. | |
420 | ||
b511431d | 421 | endif # CRYPTO_HW |