]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/crypto/Kconfig
Merge tag 'staging-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux.git] / drivers / crypto / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 menuconfig CRYPTO_HW
4         bool "Hardware crypto devices"
5         default y
6         ---help---
7           Say Y here to get to see options for hardware crypto devices and
8           processors. This option alone does not add any kernel code.
9
10           If you say N, all options in this submenu will be skipped and disabled.
11
12 if CRYPTO_HW
13
14 source "drivers/crypto/allwinner/Kconfig"
15
16 config CRYPTO_DEV_PADLOCK
17         tristate "Support for VIA PadLock ACE"
18         depends on X86 && !UML
19         help
20           Some VIA processors come with an integrated crypto engine
21           (so called VIA PadLock ACE, Advanced Cryptography Engine)
22           that provides instructions for very fast cryptographic
23           operations with supported algorithms.
24           
25           The instructions are used only when the CPU supports them.
26           Otherwise software encryption is used.
27
28 config CRYPTO_DEV_PADLOCK_AES
29         tristate "PadLock driver for AES algorithm"
30         depends on CRYPTO_DEV_PADLOCK
31         select CRYPTO_SKCIPHER
32         select CRYPTO_LIB_AES
33         help
34           Use VIA PadLock for AES algorithm.
35
36           Available in VIA C3 and newer CPUs.
37
38           If unsure say M. The compiled module will be
39           called padlock-aes.
40
41 config CRYPTO_DEV_PADLOCK_SHA
42         tristate "PadLock driver for SHA1 and SHA256 algorithms"
43         depends on CRYPTO_DEV_PADLOCK
44         select CRYPTO_HASH
45         select CRYPTO_SHA1
46         select CRYPTO_SHA256
47         help
48           Use VIA PadLock for SHA1/SHA256 algorithms.
49
50           Available in VIA C7 and newer processors.
51
52           If unsure say M. The compiled module will be
53           called padlock-sha.
54
55 config CRYPTO_DEV_GEODE
56         tristate "Support for the Geode LX AES engine"
57         depends on X86_32 && PCI
58         select CRYPTO_ALGAPI
59         select CRYPTO_SKCIPHER
60         help
61           Say 'Y' here to use the AMD Geode LX processor on-board AES
62           engine for the CryptoAPI AES algorithm.
63
64           To compile this driver as a module, choose M here: the module
65           will be called geode-aes.
66
67 config ZCRYPT
68         tristate "Support for s390 cryptographic adapters"
69         depends on S390
70         select HW_RANDOM
71         help
72           Select this option if you want to enable support for
73           s390 cryptographic adapters like:
74           + PCI-X Cryptographic Coprocessor (PCIXCC)
75           + Crypto Express 2,3,4 or 5 Coprocessor (CEXxC)
76           + Crypto Express 2,3,4 or 5 Accelerator (CEXxA)
77           + Crypto Express 4 or 5 EP11 Coprocessor (CEXxP)
78
79 config ZCRYPT_MULTIDEVNODES
80         bool "Support for multiple zcrypt device nodes"
81         default y
82         depends on S390
83         depends on ZCRYPT
84         help
85           With this option enabled the zcrypt device driver can
86           provide multiple devices nodes in /dev. Each device
87           node can get customized to limit access and narrow
88           down the use of the available crypto hardware.
89
90 config PKEY
91         tristate "Kernel API for protected key handling"
92         depends on S390
93         depends on ZCRYPT
94         help
95           With this option enabled the pkey kernel module provides an API
96           for creation and handling of protected keys. Other parts of the
97           kernel or userspace applications may use these functions.
98
99           Select this option if you want to enable the kernel and userspace
100           API for proteced key handling.
101
102           Please note that creation of protected keys from secure keys
103           requires to have at least one CEX card in coprocessor mode
104           available at runtime.
105
106 config CRYPTO_PAES_S390
107         tristate "PAES cipher algorithms"
108         depends on S390
109         depends on ZCRYPT
110         depends on PKEY
111         select CRYPTO_ALGAPI
112         select CRYPTO_SKCIPHER
113         help
114           This is the s390 hardware accelerated implementation of the
115           AES cipher algorithms for use with protected key.
116
117           Select this option if you want to use the paes cipher
118           for example to use protected key encrypted devices.
119
120 config CRYPTO_SHA1_S390
121         tristate "SHA1 digest algorithm"
122         depends on S390
123         select CRYPTO_HASH
124         help
125           This is the s390 hardware accelerated implementation of the
126           SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
127
128           It is available as of z990.
129
130 config CRYPTO_SHA256_S390
131         tristate "SHA256 digest algorithm"
132         depends on S390
133         select CRYPTO_HASH
134         help
135           This is the s390 hardware accelerated implementation of the
136           SHA256 secure hash standard (DFIPS 180-2).
137
138           It is available as of z9.
139
140 config CRYPTO_SHA512_S390
141         tristate "SHA384 and SHA512 digest algorithm"
142         depends on S390
143         select CRYPTO_HASH
144         help
145           This is the s390 hardware accelerated implementation of the
146           SHA512 secure hash standard.
147
148           It is available as of z10.
149
150 config CRYPTO_SHA3_256_S390
151         tristate "SHA3_224 and SHA3_256 digest algorithm"
152         depends on S390
153         select CRYPTO_HASH
154         help
155           This is the s390 hardware accelerated implementation of the
156           SHA3_256 secure hash standard.
157
158           It is available as of z14.
159
160 config CRYPTO_SHA3_512_S390
161         tristate "SHA3_384 and SHA3_512 digest algorithm"
162         depends on S390
163         select CRYPTO_HASH
164         help
165           This is the s390 hardware accelerated implementation of the
166           SHA3_512 secure hash standard.
167
168           It is available as of z14.
169
170 config CRYPTO_DES_S390
171         tristate "DES and Triple DES cipher algorithms"
172         depends on S390
173         select CRYPTO_ALGAPI
174         select CRYPTO_SKCIPHER
175         select CRYPTO_LIB_DES
176         help
177           This is the s390 hardware accelerated implementation of the
178           DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
179
180           As of z990 the ECB and CBC mode are hardware accelerated.
181           As of z196 the CTR mode is hardware accelerated.
182
183 config CRYPTO_AES_S390
184         tristate "AES cipher algorithms"
185         depends on S390
186         select CRYPTO_ALGAPI
187         select CRYPTO_SKCIPHER
188         help
189           This is the s390 hardware accelerated implementation of the
190           AES cipher algorithms (FIPS-197).
191
192           As of z9 the ECB and CBC modes are hardware accelerated
193           for 128 bit keys.
194           As of z10 the ECB and CBC modes are hardware accelerated
195           for all AES key sizes.
196           As of z196 the CTR mode is hardware accelerated for all AES
197           key sizes and XTS mode is hardware accelerated for 256 and
198           512 bit keys.
199
200 config S390_PRNG
201         tristate "Pseudo random number generator device driver"
202         depends on S390
203         default "m"
204         help
205           Select this option if you want to use the s390 pseudo random number
206           generator. The PRNG is part of the cryptographic processor functions
207           and uses triple-DES to generate secure random numbers like the
208           ANSI X9.17 standard. User-space programs access the
209           pseudo-random-number device through the char device /dev/prandom.
210
211           It is available as of z9.
212
213 config CRYPTO_GHASH_S390
214         tristate "GHASH hash function"
215         depends on S390
216         select CRYPTO_HASH
217         help
218           This is the s390 hardware accelerated implementation of GHASH,
219           the hash function used in GCM (Galois/Counter mode).
220
221           It is available as of z196.
222
223 config CRYPTO_CRC32_S390
224         tristate "CRC-32 algorithms"
225         depends on S390
226         select CRYPTO_HASH
227         select CRC32
228         help
229           Select this option if you want to use hardware accelerated
230           implementations of CRC algorithms.  With this option, you
231           can optimize the computation of CRC-32 (IEEE 802.3 Ethernet)
232           and CRC-32C (Castagnoli).
233
234           It is available with IBM z13 or later.
235
236 config CRYPTO_DEV_MARVELL_CESA
237         tristate "Marvell's Cryptographic Engine driver"
238         depends on PLAT_ORION || ARCH_MVEBU
239         select CRYPTO_LIB_AES
240         select CRYPTO_LIB_DES
241         select CRYPTO_SKCIPHER
242         select CRYPTO_HASH
243         select SRAM
244         help
245           This driver allows you to utilize the Cryptographic Engines and
246           Security Accelerator (CESA) which can be found on MVEBU and ORION
247           platforms.
248           This driver supports CPU offload through DMA transfers.
249
250 config CRYPTO_DEV_NIAGARA2
251        tristate "Niagara2 Stream Processing Unit driver"
252        select CRYPTO_LIB_DES
253        select CRYPTO_SKCIPHER
254        select CRYPTO_HASH
255        select CRYPTO_MD5
256        select CRYPTO_SHA1
257        select CRYPTO_SHA256
258        depends on SPARC64
259        help
260           Each core of a Niagara2 processor contains a Stream
261           Processing Unit, which itself contains several cryptographic
262           sub-units.  One set provides the Modular Arithmetic Unit,
263           used for SSL offload.  The other set provides the Cipher
264           Group, which can perform encryption, decryption, hashing,
265           checksumming, and raw copies.
266
267 config CRYPTO_DEV_HIFN_795X
268         tristate "Driver HIFN 795x crypto accelerator chips"
269         select CRYPTO_LIB_DES
270         select CRYPTO_SKCIPHER
271         select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
272         depends on PCI
273         depends on !ARCH_DMA_ADDR_T_64BIT
274         help
275           This option allows you to have support for HIFN 795x crypto adapters.
276
277 config CRYPTO_DEV_HIFN_795X_RNG
278         bool "HIFN 795x random number generator"
279         depends on CRYPTO_DEV_HIFN_795X
280         help
281           Select this option if you want to enable the random number generator
282           on the HIFN 795x crypto adapters.
283
284 source "drivers/crypto/caam/Kconfig"
285
286 config CRYPTO_DEV_TALITOS
287         tristate "Talitos Freescale Security Engine (SEC)"
288         select CRYPTO_AEAD
289         select CRYPTO_AUTHENC
290         select CRYPTO_SKCIPHER
291         select CRYPTO_HASH
292         select HW_RANDOM
293         depends on FSL_SOC
294         help
295           Say 'Y' here to use the Freescale Security Engine (SEC)
296           to offload cryptographic algorithm computation.
297
298           The Freescale SEC is present on PowerQUICC 'E' processors, such
299           as the MPC8349E and MPC8548E.
300
301           To compile this driver as a module, choose M here: the module
302           will be called talitos.
303
304 config CRYPTO_DEV_TALITOS1
305         bool "SEC1 (SEC 1.0 and SEC Lite 1.2)"
306         depends on CRYPTO_DEV_TALITOS
307         depends on PPC_8xx || PPC_82xx
308         default y
309         help
310           Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0
311           found on MPC82xx or the Freescale Security Engine (SEC Lite)
312           version 1.2 found on MPC8xx
313
314 config CRYPTO_DEV_TALITOS2
315         bool "SEC2+ (SEC version 2.0 or upper)"
316         depends on CRYPTO_DEV_TALITOS
317         default y if !PPC_8xx
318         help
319           Say 'Y' here to use the Freescale Security Engine (SEC)
320           version 2 and following as found on MPC83xx, MPC85xx, etc ...
321
322 config CRYPTO_DEV_IXP4XX
323         tristate "Driver for IXP4xx crypto hardware acceleration"
324         depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE
325         select CRYPTO_LIB_DES
326         select CRYPTO_AEAD
327         select CRYPTO_AUTHENC
328         select CRYPTO_SKCIPHER
329         help
330           Driver for the IXP4xx NPE crypto engine.
331
332 config CRYPTO_DEV_PPC4XX
333         tristate "Driver AMCC PPC4xx crypto accelerator"
334         depends on PPC && 4xx
335         select CRYPTO_HASH
336         select CRYPTO_AEAD
337         select CRYPTO_AES
338         select CRYPTO_LIB_AES
339         select CRYPTO_CCM
340         select CRYPTO_CTR
341         select CRYPTO_GCM
342         select CRYPTO_SKCIPHER
343         help
344           This option allows you to have support for AMCC crypto acceleration.
345
346 config HW_RANDOM_PPC4XX
347         bool "PowerPC 4xx generic true random number generator support"
348         depends on CRYPTO_DEV_PPC4XX && HW_RANDOM
349         default y
350         ---help---
351          This option provides the kernel-side support for the TRNG hardware
352          found in the security function of some PowerPC 4xx SoCs.
353
354 config CRYPTO_DEV_OMAP
355         tristate "Support for OMAP crypto HW accelerators"
356         depends on ARCH_OMAP2PLUS
357         help
358           OMAP processors have various crypto HW accelerators. Select this if
359           you want to use the OMAP modules for any of the crypto algorithms.
360
361 if CRYPTO_DEV_OMAP
362
363 config CRYPTO_DEV_OMAP_SHAM
364         tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator"
365         depends on ARCH_OMAP2PLUS
366         select CRYPTO_SHA1
367         select CRYPTO_MD5
368         select CRYPTO_SHA256
369         select CRYPTO_SHA512
370         select CRYPTO_HMAC
371         help
372           OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you
373           want to use the OMAP module for MD5/SHA1/SHA2 algorithms.
374
375 config CRYPTO_DEV_OMAP_AES
376         tristate "Support for OMAP AES hw engine"
377         depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS
378         select CRYPTO_AES
379         select CRYPTO_SKCIPHER
380         select CRYPTO_ENGINE
381         select CRYPTO_CBC
382         select CRYPTO_ECB
383         select CRYPTO_CTR
384         select CRYPTO_AEAD
385         help
386           OMAP processors have AES module accelerator. Select this if you
387           want to use the OMAP module for AES algorithms.
388
389 config CRYPTO_DEV_OMAP_DES
390         tristate "Support for OMAP DES/3DES hw engine"
391         depends on ARCH_OMAP2PLUS
392         select CRYPTO_LIB_DES
393         select CRYPTO_SKCIPHER
394         select CRYPTO_ENGINE
395         help
396           OMAP processors have DES/3DES module accelerator. Select this if you
397           want to use the OMAP module for DES and 3DES algorithms. Currently
398           the ECB and CBC modes of operation are supported by the driver. Also
399           accesses made on unaligned boundaries are supported.
400
401 endif # CRYPTO_DEV_OMAP
402
403 config CRYPTO_DEV_PICOXCELL
404         tristate "Support for picoXcell IPSEC and Layer2 crypto engines"
405         depends on (ARCH_PICOXCELL || COMPILE_TEST) && HAVE_CLK
406         select CRYPTO_AEAD
407         select CRYPTO_AES
408         select CRYPTO_AUTHENC
409         select CRYPTO_SKCIPHER
410         select CRYPTO_LIB_DES
411         select CRYPTO_CBC
412         select CRYPTO_ECB
413         select CRYPTO_SEQIV
414         help
415           This option enables support for the hardware offload engines in the
416           Picochip picoXcell SoC devices. Select this for IPSEC ESP offload
417           and for 3gpp Layer 2 ciphering support.
418
419           Saying m here will build a module named picoxcell_crypto.
420
421 config CRYPTO_DEV_SAHARA
422         tristate "Support for SAHARA crypto accelerator"
423         depends on ARCH_MXC && OF
424         select CRYPTO_SKCIPHER
425         select CRYPTO_AES
426         select CRYPTO_ECB
427         help
428           This option enables support for the SAHARA HW crypto accelerator
429           found in some Freescale i.MX chips.
430
431 config CRYPTO_DEV_EXYNOS_RNG
432         tristate "EXYNOS HW pseudo random number generator support"
433         depends on ARCH_EXYNOS || COMPILE_TEST
434         depends on HAS_IOMEM
435         select CRYPTO_RNG
436         ---help---
437           This driver provides kernel-side support through the
438           cryptographic API for the pseudo random number generator hardware
439           found on Exynos SoCs.
440
441           To compile this driver as a module, choose M here: the
442           module will be called exynos-rng.
443
444           If unsure, say Y.
445
446 config CRYPTO_DEV_S5P
447         tristate "Support for Samsung S5PV210/Exynos crypto accelerator"
448         depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
449         depends on HAS_IOMEM
450         select CRYPTO_AES
451         select CRYPTO_SKCIPHER
452         help
453           This option allows you to have support for S5P crypto acceleration.
454           Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES
455           algorithms execution.
456
457 config CRYPTO_DEV_EXYNOS_HASH
458         bool "Support for Samsung Exynos HASH accelerator"
459         depends on CRYPTO_DEV_S5P
460         depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m
461         select CRYPTO_SHA1
462         select CRYPTO_MD5
463         select CRYPTO_SHA256
464         help
465           Select this to offload Exynos from HASH MD5/SHA1/SHA256.
466           This will select software SHA1, MD5 and SHA256 as they are
467           needed for small and zero-size messages.
468           HASH algorithms will be disabled if EXYNOS_RNG
469           is enabled due to hw conflict.
470
471 config CRYPTO_DEV_NX
472         bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration"
473         depends on PPC64
474         help
475           This enables support for the NX hardware cryptographic accelerator
476           coprocessor that is in IBM PowerPC P7+ or later processors.  This
477           does not actually enable any drivers, it only allows you to select
478           which acceleration type (encryption and/or compression) to enable.
479
480 if CRYPTO_DEV_NX
481         source "drivers/crypto/nx/Kconfig"
482 endif
483
484 config CRYPTO_DEV_UX500
485         tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration"
486         depends on ARCH_U8500
487         help
488           Driver for ST-Ericsson UX500 crypto engine.
489
490 if CRYPTO_DEV_UX500
491         source "drivers/crypto/ux500/Kconfig"
492 endif # if CRYPTO_DEV_UX500
493
494 config CRYPTO_DEV_ATMEL_AUTHENC
495         bool "Support for Atmel IPSEC/SSL hw accelerator"
496         depends on ARCH_AT91 || COMPILE_TEST
497         depends on CRYPTO_DEV_ATMEL_AES
498         help
499           Some Atmel processors can combine the AES and SHA hw accelerators
500           to enhance support of IPSEC/SSL.
501           Select this if you want to use the Atmel modules for
502           authenc(hmac(shaX),Y(cbc)) algorithms.
503
504 config CRYPTO_DEV_ATMEL_AES
505         tristate "Support for Atmel AES hw accelerator"
506         depends on ARCH_AT91 || COMPILE_TEST
507         select CRYPTO_AES
508         select CRYPTO_AEAD
509         select CRYPTO_SKCIPHER
510         select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC
511         select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC
512         help
513           Some Atmel processors have AES hw accelerator.
514           Select this if you want to use the Atmel module for
515           AES algorithms.
516
517           To compile this driver as a module, choose M here: the module
518           will be called atmel-aes.
519
520 config CRYPTO_DEV_ATMEL_TDES
521         tristate "Support for Atmel DES/TDES hw accelerator"
522         depends on ARCH_AT91 || COMPILE_TEST
523         select CRYPTO_LIB_DES
524         select CRYPTO_SKCIPHER
525         help
526           Some Atmel processors have DES/TDES hw accelerator.
527           Select this if you want to use the Atmel module for
528           DES/TDES algorithms.
529
530           To compile this driver as a module, choose M here: the module
531           will be called atmel-tdes.
532
533 config CRYPTO_DEV_ATMEL_SHA
534         tristate "Support for Atmel SHA hw accelerator"
535         depends on ARCH_AT91 || COMPILE_TEST
536         select CRYPTO_HASH
537         help
538           Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512
539           hw accelerator.
540           Select this if you want to use the Atmel module for
541           SHA1/SHA224/SHA256/SHA384/SHA512 algorithms.
542
543           To compile this driver as a module, choose M here: the module
544           will be called atmel-sha.
545
546 config CRYPTO_DEV_ATMEL_I2C
547         tristate
548
549 config CRYPTO_DEV_ATMEL_ECC
550         tristate "Support for Microchip / Atmel ECC hw accelerator"
551         depends on I2C
552         select CRYPTO_DEV_ATMEL_I2C
553         select CRYPTO_ECDH
554         select CRC16
555         help
556           Microhip / Atmel ECC hw accelerator.
557           Select this if you want to use the Microchip / Atmel module for
558           ECDH algorithm.
559
560           To compile this driver as a module, choose M here: the module
561           will be called atmel-ecc.
562
563 config CRYPTO_DEV_ATMEL_SHA204A
564         tristate "Support for Microchip / Atmel SHA accelerator and RNG"
565         depends on I2C
566         select CRYPTO_DEV_ATMEL_I2C
567         select HW_RANDOM
568         select CRC16
569         help
570           Microhip / Atmel SHA accelerator and RNG.
571           Select this if you want to use the Microchip / Atmel SHA204A
572           module as a random number generator. (Other functions of the
573           chip are currently not exposed by this driver)
574
575           To compile this driver as a module, choose M here: the module
576           will be called atmel-sha204a.
577
578 config CRYPTO_DEV_CCP
579         bool "Support for AMD Secure Processor"
580         depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM
581         help
582           The AMD Secure Processor provides support for the Cryptographic Coprocessor
583           (CCP) and the Platform Security Processor (PSP) devices.
584
585 if CRYPTO_DEV_CCP
586         source "drivers/crypto/ccp/Kconfig"
587 endif
588
589 config CRYPTO_DEV_MXS_DCP
590         tristate "Support for Freescale MXS DCP"
591         depends on (ARCH_MXS || ARCH_MXC)
592         select STMP_DEVICE
593         select CRYPTO_CBC
594         select CRYPTO_ECB
595         select CRYPTO_AES
596         select CRYPTO_SKCIPHER
597         select CRYPTO_HASH
598         help
599           The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB
600           co-processor on the die.
601
602           To compile this driver as a module, choose M here: the module
603           will be called mxs-dcp.
604
605 source "drivers/crypto/qat/Kconfig"
606 source "drivers/crypto/cavium/cpt/Kconfig"
607 source "drivers/crypto/cavium/nitrox/Kconfig"
608
609 config CRYPTO_DEV_CAVIUM_ZIP
610         tristate "Cavium ZIP driver"
611         depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
612         ---help---
613           Select this option if you want to enable compression/decompression
614           acceleration on Cavium's ARM based SoCs
615
616 config CRYPTO_DEV_QCE
617         tristate "Qualcomm crypto engine accelerator"
618         depends on ARCH_QCOM || COMPILE_TEST
619         depends on HAS_IOMEM
620         select CRYPTO_AES
621         select CRYPTO_LIB_DES
622         select CRYPTO_ECB
623         select CRYPTO_CBC
624         select CRYPTO_XTS
625         select CRYPTO_CTR
626         select CRYPTO_SKCIPHER
627         help
628           This driver supports Qualcomm crypto engine accelerator
629           hardware. To compile this driver as a module, choose M here. The
630           module will be called qcrypto.
631
632 config CRYPTO_DEV_QCOM_RNG
633         tristate "Qualcomm Random Number Generator Driver"
634         depends on ARCH_QCOM || COMPILE_TEST
635         select CRYPTO_RNG
636         help
637           This driver provides support for the Random Number
638           Generator hardware found on Qualcomm SoCs.
639
640           To compile this driver as a module, choose M here. The
641           module will be called qcom-rng. If unsure, say N.
642
643 config CRYPTO_DEV_VMX
644         bool "Support for VMX cryptographic acceleration instructions"
645         depends on PPC64 && VSX
646         help
647           Support for VMX cryptographic acceleration instructions.
648
649 source "drivers/crypto/vmx/Kconfig"
650
651 config CRYPTO_DEV_IMGTEC_HASH
652         tristate "Imagination Technologies hardware hash accelerator"
653         depends on MIPS || COMPILE_TEST
654         select CRYPTO_MD5
655         select CRYPTO_SHA1
656         select CRYPTO_SHA256
657         select CRYPTO_HASH
658         help
659           This driver interfaces with the Imagination Technologies
660           hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256
661           hashing algorithms.
662
663 config CRYPTO_DEV_ROCKCHIP
664         tristate "Rockchip's Cryptographic Engine driver"
665         depends on OF && ARCH_ROCKCHIP
666         select CRYPTO_AES
667         select CRYPTO_LIB_DES
668         select CRYPTO_MD5
669         select CRYPTO_SHA1
670         select CRYPTO_SHA256
671         select CRYPTO_HASH
672         select CRYPTO_SKCIPHER
673
674         help
675           This driver interfaces with the hardware crypto accelerator.
676           Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode.
677
678 config CRYPTO_DEV_MEDIATEK
679         tristate "MediaTek's EIP97 Cryptographic Engine driver"
680         depends on (ARM && ARCH_MEDIATEK) || COMPILE_TEST
681         select CRYPTO_AES
682         select CRYPTO_AEAD
683         select CRYPTO_SKCIPHER
684         select CRYPTO_CTR
685         select CRYPTO_SHA1
686         select CRYPTO_SHA256
687         select CRYPTO_SHA512
688         select CRYPTO_HMAC
689         help
690           This driver allows you to utilize the hardware crypto accelerator
691           EIP97 which can be found on the MT7623 MT2701, MT8521p, etc ....
692           Select this if you want to use it for AES/SHA1/SHA2 algorithms.
693
694 source "drivers/crypto/chelsio/Kconfig"
695
696 source "drivers/crypto/virtio/Kconfig"
697
698 config CRYPTO_DEV_BCM_SPU
699         tristate "Broadcom symmetric crypto/hash acceleration support"
700         depends on ARCH_BCM_IPROC
701         depends on MAILBOX
702         default m
703         select CRYPTO_AUTHENC
704         select CRYPTO_LIB_DES
705         select CRYPTO_MD5
706         select CRYPTO_SHA1
707         select CRYPTO_SHA256
708         select CRYPTO_SHA512
709         help
710           This driver provides support for Broadcom crypto acceleration using the
711           Secure Processing Unit (SPU). The SPU driver registers skcipher,
712           ahash, and aead algorithms with the kernel cryptographic API.
713
714 source "drivers/crypto/stm32/Kconfig"
715
716 config CRYPTO_DEV_SAFEXCEL
717         tristate "Inside Secure's SafeXcel cryptographic engine driver"
718         depends on OF || PCI || COMPILE_TEST
719         select CRYPTO_LIB_AES
720         select CRYPTO_AUTHENC
721         select CRYPTO_SKCIPHER
722         select CRYPTO_LIB_DES
723         select CRYPTO_HASH
724         select CRYPTO_HMAC
725         select CRYPTO_MD5
726         select CRYPTO_SHA1
727         select CRYPTO_SHA256
728         select CRYPTO_SHA512
729         select CRYPTO_CHACHA20POLY1305
730         select CRYPTO_SHA3
731         help
732           This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic
733           engines designed by Inside Secure. It currently accelerates DES, 3DES and
734           AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256,
735           SHA384 and SHA512 hash algorithms for both basic hash and HMAC.
736           Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations.
737
738 config CRYPTO_DEV_ARTPEC6
739         tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration."
740         depends on ARM && (ARCH_ARTPEC || COMPILE_TEST)
741         depends on OF
742         select CRYPTO_AEAD
743         select CRYPTO_AES
744         select CRYPTO_ALGAPI
745         select CRYPTO_SKCIPHER
746         select CRYPTO_CTR
747         select CRYPTO_HASH
748         select CRYPTO_SHA1
749         select CRYPTO_SHA256
750         select CRYPTO_SHA512
751         help
752           Enables the driver for the on-chip crypto accelerator
753           of Axis ARTPEC SoCs.
754
755           To compile this driver as a module, choose M here.
756
757 config CRYPTO_DEV_CCREE
758         tristate "Support for ARM TrustZone CryptoCell family of security processors"
759         depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA
760         default n
761         select CRYPTO_HASH
762         select CRYPTO_SKCIPHER
763         select CRYPTO_LIB_DES
764         select CRYPTO_AEAD
765         select CRYPTO_AUTHENC
766         select CRYPTO_SHA1
767         select CRYPTO_MD5
768         select CRYPTO_SHA256
769         select CRYPTO_SHA512
770         select CRYPTO_HMAC
771         select CRYPTO_AES
772         select CRYPTO_CBC
773         select CRYPTO_ECB
774         select CRYPTO_CTR
775         select CRYPTO_XTS
776         select CRYPTO_SM4
777         select CRYPTO_SM3
778         help
779           Say 'Y' to enable a driver for the REE interface of the Arm
780           TrustZone CryptoCell family of processors. Currently the
781           CryptoCell 713, 703, 712, 710 and 630 are supported.
782           Choose this if you wish to use hardware acceleration of
783           cryptographic operations on the system REE.
784           If unsure say Y.
785
786 source "drivers/crypto/hisilicon/Kconfig"
787
788 source "drivers/crypto/amlogic/Kconfig"
789
790 endif # CRYPTO_HW