xref: /linux/drivers/crypto/Kconfig (revision 75b766258eb2b8255c628a994663bd5298f216e6)
1b511431dSJan Engelhardt
2b511431dSJan Engelhardtmenuconfig CRYPTO_HW
3b511431dSJan Engelhardt	bool "Hardware crypto devices"
4b511431dSJan Engelhardt	default y
506bfb7ebSJan Engelhardt	---help---
606bfb7ebSJan Engelhardt	  Say Y here to get to see options for hardware crypto devices and
706bfb7ebSJan Engelhardt	  processors. This option alone does not add any kernel code.
806bfb7ebSJan Engelhardt
906bfb7ebSJan Engelhardt	  If you say N, all options in this submenu will be skipped and disabled.
10b511431dSJan Engelhardt
11b511431dSJan Engelhardtif CRYPTO_HW
121da177e4SLinus Torvalds
131da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK
14d158325eSHerbert Xu	tristate "Support for VIA PadLock ACE"
152f817418SHerbert Xu	depends on X86 && !UML
161da177e4SLinus Torvalds	help
171da177e4SLinus Torvalds	  Some VIA processors come with an integrated crypto engine
181da177e4SLinus Torvalds	  (so called VIA PadLock ACE, Advanced Cryptography Engine)
191191f0a4SMichal Ludvig	  that provides instructions for very fast cryptographic
201191f0a4SMichal Ludvig	  operations with supported algorithms.
211da177e4SLinus Torvalds
221da177e4SLinus Torvalds	  The instructions are used only when the CPU supports them.
235644bda5SMichal Ludvig	  Otherwise software encryption is used.
245644bda5SMichal Ludvig
251da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK_AES
261191f0a4SMichal Ludvig	tristate "PadLock driver for AES algorithm"
271da177e4SLinus Torvalds	depends on CRYPTO_DEV_PADLOCK
2828ce728aSHerbert Xu	select CRYPTO_BLKCIPHER
297dc748e4SSebastian Siewior	select CRYPTO_AES
301da177e4SLinus Torvalds	help
311da177e4SLinus Torvalds	  Use VIA PadLock for AES algorithm.
321da177e4SLinus Torvalds
331191f0a4SMichal Ludvig	  Available in VIA C3 and newer CPUs.
341191f0a4SMichal Ludvig
351191f0a4SMichal Ludvig	  If unsure say M. The compiled module will be
364737f097SPavel Machek	  called padlock-aes.
371191f0a4SMichal Ludvig
386c833275SMichal Ludvigconfig CRYPTO_DEV_PADLOCK_SHA
396c833275SMichal Ludvig	tristate "PadLock driver for SHA1 and SHA256 algorithms"
406c833275SMichal Ludvig	depends on CRYPTO_DEV_PADLOCK
41bbbee467SHerbert Xu	select CRYPTO_HASH
426c833275SMichal Ludvig	select CRYPTO_SHA1
436c833275SMichal Ludvig	select CRYPTO_SHA256
446c833275SMichal Ludvig	help
456c833275SMichal Ludvig	  Use VIA PadLock for SHA1/SHA256 algorithms.
466c833275SMichal Ludvig
476c833275SMichal Ludvig	  Available in VIA C7 and newer processors.
486c833275SMichal Ludvig
496c833275SMichal Ludvig	  If unsure say M. The compiled module will be
504737f097SPavel Machek	  called padlock-sha.
516c833275SMichal Ludvig
529fe757b0SJordan Crouseconfig CRYPTO_DEV_GEODE
539fe757b0SJordan Crouse	tristate "Support for the Geode LX AES engine"
54f6259deaSSimon Arlott	depends on X86_32 && PCI
559fe757b0SJordan Crouse	select CRYPTO_ALGAPI
569fe757b0SJordan Crouse	select CRYPTO_BLKCIPHER
579fe757b0SJordan Crouse	help
589fe757b0SJordan Crouse	  Say 'Y' here to use the AMD Geode LX processor on-board AES
593dde6ad8SDavid Sterba	  engine for the CryptoAPI AES algorithm.
609fe757b0SJordan Crouse
619fe757b0SJordan Crouse	  To compile this driver as a module, choose M here: the module
629fe757b0SJordan Crouse	  will be called geode-aes.
639fe757b0SJordan Crouse
6461d48c2cSMartin Schwidefskyconfig ZCRYPT
6561d48c2cSMartin Schwidefsky	tristate "Support for PCI-attached cryptographic adapters"
6661d48c2cSMartin Schwidefsky	depends on S390
6761d48c2cSMartin Schwidefsky	select ZCRYPT_MONOLITHIC if ZCRYPT="y"
682f7c8bd6SRalph Wuerthner	select HW_RANDOM
6961d48c2cSMartin Schwidefsky	help
7061d48c2cSMartin Schwidefsky	  Select this option if you want to use a PCI-attached cryptographic
7161d48c2cSMartin Schwidefsky	  adapter like:
7261d48c2cSMartin Schwidefsky	  + PCI Cryptographic Accelerator (PCICA)
7361d48c2cSMartin Schwidefsky	  + PCI Cryptographic Coprocessor (PCICC)
7461d48c2cSMartin Schwidefsky	  + PCI-X Cryptographic Coprocessor (PCIXCC)
7561d48c2cSMartin Schwidefsky	  + Crypto Express2 Coprocessor (CEX2C)
7661d48c2cSMartin Schwidefsky	  + Crypto Express2 Accelerator (CEX2A)
77cf2d007bSHolger Dengler	  + Crypto Express3 Coprocessor (CEX3C)
78cf2d007bSHolger Dengler	  + Crypto Express3 Accelerator (CEX3A)
7961d48c2cSMartin Schwidefsky
8061d48c2cSMartin Schwidefskyconfig ZCRYPT_MONOLITHIC
8161d48c2cSMartin Schwidefsky	bool "Monolithic zcrypt module"
8257a4955fSHeiko Carstens	depends on ZCRYPT
8361d48c2cSMartin Schwidefsky	help
844737f097SPavel Machek	  Select this option if you want to have a single module z90crypt,
8561d48c2cSMartin Schwidefsky	  that contains all parts of the crypto device driver (ap bus,
8661d48c2cSMartin Schwidefsky	  request router and all the card drivers).
8761d48c2cSMartin Schwidefsky
883f5615e0SJan Glauberconfig CRYPTO_SHA1_S390
893f5615e0SJan Glauber	tristate "SHA1 digest algorithm"
903f5615e0SJan Glauber	depends on S390
91563f346dSHerbert Xu	select CRYPTO_HASH
923f5615e0SJan Glauber	help
933f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
943f5615e0SJan Glauber	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
953f5615e0SJan Glauber
96d393d9b8SJan Glauber	  It is available as of z990.
97d393d9b8SJan Glauber
983f5615e0SJan Glauberconfig CRYPTO_SHA256_S390
993f5615e0SJan Glauber	tristate "SHA256 digest algorithm"
1003f5615e0SJan Glauber	depends on S390
101563f346dSHerbert Xu	select CRYPTO_HASH
1023f5615e0SJan Glauber	help
1033f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
1043f5615e0SJan Glauber	  SHA256 secure hash standard (DFIPS 180-2).
1053f5615e0SJan Glauber
106d393d9b8SJan Glauber	  It is available as of z9.
1073f5615e0SJan Glauber
108291dc7c0SJan Glauberconfig CRYPTO_SHA512_S390
1094e2c6d7fSJan Glauber	tristate "SHA384 and SHA512 digest algorithm"
110291dc7c0SJan Glauber	depends on S390
111563f346dSHerbert Xu	select CRYPTO_HASH
112291dc7c0SJan Glauber	help
113291dc7c0SJan Glauber	  This is the s390 hardware accelerated implementation of the
114291dc7c0SJan Glauber	  SHA512 secure hash standard.
115291dc7c0SJan Glauber
116d393d9b8SJan Glauber	  It is available as of z10.
117291dc7c0SJan Glauber
1183f5615e0SJan Glauberconfig CRYPTO_DES_S390
1193f5615e0SJan Glauber	tristate "DES and Triple DES cipher algorithms"
1203f5615e0SJan Glauber	depends on S390
1213f5615e0SJan Glauber	select CRYPTO_ALGAPI
1223f5615e0SJan Glauber	select CRYPTO_BLKCIPHER
1233f5615e0SJan Glauber	help
1240200f3ecSGerald Schaefer	  This is the s390 hardware accelerated implementation of the
1253f5615e0SJan Glauber	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
1263f5615e0SJan Glauber
1270200f3ecSGerald Schaefer	  As of z990 the ECB and CBC mode are hardware accelerated.
1280200f3ecSGerald Schaefer	  As of z196 the CTR mode is hardware accelerated.
1290200f3ecSGerald Schaefer
1303f5615e0SJan Glauberconfig CRYPTO_AES_S390
1313f5615e0SJan Glauber	tristate "AES cipher algorithms"
1323f5615e0SJan Glauber	depends on S390
1333f5615e0SJan Glauber	select CRYPTO_ALGAPI
1343f5615e0SJan Glauber	select CRYPTO_BLKCIPHER
1353f5615e0SJan Glauber	help
1363f5615e0SJan Glauber	  This is the s390 hardware accelerated implementation of the
13799d97222SGerald Schaefer	  AES cipher algorithms (FIPS-197).
1383f5615e0SJan Glauber
13999d97222SGerald Schaefer	  As of z9 the ECB and CBC modes are hardware accelerated
14099d97222SGerald Schaefer	  for 128 bit keys.
14199d97222SGerald Schaefer	  As of z10 the ECB and CBC modes are hardware accelerated
14299d97222SGerald Schaefer	  for all AES key sizes.
1430200f3ecSGerald Schaefer	  As of z196 the CTR mode is hardware accelerated for all AES
1440200f3ecSGerald Schaefer	  key sizes and XTS mode is hardware accelerated for 256 and
14599d97222SGerald Schaefer	  512 bit keys.
1463f5615e0SJan Glauber
1473f5615e0SJan Glauberconfig S390_PRNG
1483f5615e0SJan Glauber	tristate "Pseudo random number generator device driver"
1493f5615e0SJan Glauber	depends on S390
1503f5615e0SJan Glauber	default "m"
1513f5615e0SJan Glauber	help
1523f5615e0SJan Glauber	  Select this option if you want to use the s390 pseudo random number
1533f5615e0SJan Glauber	  generator. The PRNG is part of the cryptographic processor functions
1543f5615e0SJan Glauber	  and uses triple-DES to generate secure random numbers like the
155d393d9b8SJan Glauber	  ANSI X9.17 standard. User-space programs access the
156d393d9b8SJan Glauber	  pseudo-random-number device through the char device /dev/prandom.
157d393d9b8SJan Glauber
158d393d9b8SJan Glauber	  It is available as of z9.
1593f5615e0SJan Glauber
160df1309ceSGerald Schaeferconfig CRYPTO_GHASH_S390
161df1309ceSGerald Schaefer	tristate "GHASH digest algorithm"
162df1309ceSGerald Schaefer	depends on S390
163df1309ceSGerald Schaefer	select CRYPTO_HASH
164df1309ceSGerald Schaefer	help
165df1309ceSGerald Schaefer	  This is the s390 hardware accelerated implementation of the
166df1309ceSGerald Schaefer	  GHASH message digest algorithm for GCM (Galois/Counter Mode).
167df1309ceSGerald Schaefer
168df1309ceSGerald Schaefer	  It is available as of z196.
169df1309ceSGerald Schaefer
17085a7f0acSSebastian Andrzej Siewiorconfig CRYPTO_DEV_MV_CESA
17185a7f0acSSebastian Andrzej Siewior	tristate "Marvell's Cryptographic Engine"
17285a7f0acSSebastian Andrzej Siewior	depends on PLAT_ORION
17385a7f0acSSebastian Andrzej Siewior	select CRYPTO_ALGAPI
17485a7f0acSSebastian Andrzej Siewior	select CRYPTO_AES
17585a7f0acSSebastian Andrzej Siewior	select CRYPTO_BLKCIPHER2
17685a7f0acSSebastian Andrzej Siewior	help
17785a7f0acSSebastian Andrzej Siewior	  This driver allows you to utilize the Cryptographic Engines and
17885a7f0acSSebastian Andrzej Siewior	  Security Accelerator (CESA) which can be found on the Marvell Orion
17985a7f0acSSebastian Andrzej Siewior	  and Kirkwood SoCs, such as QNAP's TS-209.
18085a7f0acSSebastian Andrzej Siewior
18185a7f0acSSebastian Andrzej Siewior	  Currently the driver supports AES in ECB and CBC mode without DMA.
18285a7f0acSSebastian Andrzej Siewior
1830a625fd2SDavid S. Millerconfig CRYPTO_DEV_NIAGARA2
1840a625fd2SDavid S. Miller       tristate "Niagara2 Stream Processing Unit driver"
18550e78161SDavid S. Miller       select CRYPTO_DES
1860a625fd2SDavid S. Miller       select CRYPTO_ALGAPI
1870a625fd2SDavid S. Miller       depends on SPARC64
1880a625fd2SDavid S. Miller       help
1890a625fd2SDavid S. Miller	  Each core of a Niagara2 processor contains a Stream
1900a625fd2SDavid S. Miller	  Processing Unit, which itself contains several cryptographic
1910a625fd2SDavid S. Miller	  sub-units.  One set provides the Modular Arithmetic Unit,
1920a625fd2SDavid S. Miller	  used for SSL offload.  The other set provides the Cipher
1930a625fd2SDavid S. Miller	  Group, which can perform encryption, decryption, hashing,
1940a625fd2SDavid S. Miller	  checksumming, and raw copies.
1950a625fd2SDavid S. Miller
196f7d0561eSEvgeniy Polyakovconfig CRYPTO_DEV_HIFN_795X
197f7d0561eSEvgeniy Polyakov	tristate "Driver HIFN 795x crypto accelerator chips"
198c3041f9cSEvgeniy Polyakov	select CRYPTO_DES
199f7d0561eSEvgeniy Polyakov	select CRYPTO_ALGAPI
200653ebd9cSHerbert Xu	select CRYPTO_BLKCIPHER
201946fef4eSHerbert Xu	select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG
2022707b937SJan Glauber	depends on PCI
203*75b76625SRichard Weinberger	depends on !ARCH_DMA_ADDR_T_64BIT
204f7d0561eSEvgeniy Polyakov	help
205f7d0561eSEvgeniy Polyakov	  This option allows you to have support for HIFN 795x crypto adapters.
206f7d0561eSEvgeniy Polyakov
207946fef4eSHerbert Xuconfig CRYPTO_DEV_HIFN_795X_RNG
208946fef4eSHerbert Xu	bool "HIFN 795x random number generator"
209946fef4eSHerbert Xu	depends on CRYPTO_DEV_HIFN_795X
210946fef4eSHerbert Xu	help
211946fef4eSHerbert Xu	  Select this option if you want to enable the random number generator
212946fef4eSHerbert Xu	  on the HIFN 795x crypto adapters.
213f7d0561eSEvgeniy Polyakov
2148e8ec596SKim Phillipssource drivers/crypto/caam/Kconfig
2158e8ec596SKim Phillips
2169c4a7965SKim Phillipsconfig CRYPTO_DEV_TALITOS
2179c4a7965SKim Phillips	tristate "Talitos Freescale Security Engine (SEC)"
2189c4a7965SKim Phillips	select CRYPTO_ALGAPI
2199c4a7965SKim Phillips	select CRYPTO_AUTHENC
2209c4a7965SKim Phillips	select HW_RANDOM
2219c4a7965SKim Phillips	depends on FSL_SOC
2229c4a7965SKim Phillips	help
2239c4a7965SKim Phillips	  Say 'Y' here to use the Freescale Security Engine (SEC)
2249c4a7965SKim Phillips	  to offload cryptographic algorithm computation.
2259c4a7965SKim Phillips
2269c4a7965SKim Phillips	  The Freescale SEC is present on PowerQUICC 'E' processors, such
2279c4a7965SKim Phillips	  as the MPC8349E and MPC8548E.
2289c4a7965SKim Phillips
2299c4a7965SKim Phillips	  To compile this driver as a module, choose M here: the module
2309c4a7965SKim Phillips	  will be called talitos.
2319c4a7965SKim Phillips
23281bef015SChristian Hohnstaedtconfig CRYPTO_DEV_IXP4XX
23381bef015SChristian Hohnstaedt	tristate "Driver for IXP4xx crypto hardware acceleration"
23481bef015SChristian Hohnstaedt	depends on ARCH_IXP4XX
23581bef015SChristian Hohnstaedt	select CRYPTO_DES
23681bef015SChristian Hohnstaedt	select CRYPTO_ALGAPI
237090657e4SImre Kaloz	select CRYPTO_AUTHENC
23881bef015SChristian Hohnstaedt	select CRYPTO_BLKCIPHER
23981bef015SChristian Hohnstaedt	help
24081bef015SChristian Hohnstaedt	  Driver for the IXP4xx NPE crypto engine.
24181bef015SChristian Hohnstaedt
242049359d6SJames Hsiaoconfig CRYPTO_DEV_PPC4XX
243049359d6SJames Hsiao	tristate "Driver AMCC PPC4xx crypto accelerator"
244049359d6SJames Hsiao	depends on PPC && 4xx
245049359d6SJames Hsiao	select CRYPTO_HASH
246049359d6SJames Hsiao	select CRYPTO_ALGAPI
247049359d6SJames Hsiao	select CRYPTO_BLKCIPHER
248049359d6SJames Hsiao	help
249049359d6SJames Hsiao	  This option allows you to have support for AMCC crypto acceleration.
250049359d6SJames Hsiao
2518628e7c8SDmitry Kasatkinconfig CRYPTO_DEV_OMAP_SHAM
2528628e7c8SDmitry Kasatkin	tristate "Support for OMAP SHA1/MD5 hw accelerator"
2538628e7c8SDmitry Kasatkin	depends on ARCH_OMAP2 || ARCH_OMAP3
2548628e7c8SDmitry Kasatkin	select CRYPTO_SHA1
2558628e7c8SDmitry Kasatkin	select CRYPTO_MD5
2568628e7c8SDmitry Kasatkin	help
2578628e7c8SDmitry Kasatkin	  OMAP processors have SHA1/MD5 hw accelerator. Select this if you
2588628e7c8SDmitry Kasatkin	  want to use the OMAP module for SHA1/MD5 algorithms.
2598628e7c8SDmitry Kasatkin
260537559a5SDmitry Kasatkinconfig CRYPTO_DEV_OMAP_AES
261537559a5SDmitry Kasatkin	tristate "Support for OMAP AES hw engine"
262537559a5SDmitry Kasatkin	depends on ARCH_OMAP2 || ARCH_OMAP3
263537559a5SDmitry Kasatkin	select CRYPTO_AES
264537559a5SDmitry Kasatkin	help
265537559a5SDmitry Kasatkin	  OMAP processors have AES module accelerator. Select this if you
266537559a5SDmitry Kasatkin	  want to use the OMAP module for AES algorithms.
267537559a5SDmitry Kasatkin
268ce921368SJamie Ilesconfig CRYPTO_DEV_PICOXCELL
269ce921368SJamie Iles	tristate "Support for picoXcell IPSEC and Layer2 crypto engines"
270fad8fa47SJamie Iles	depends on ARCH_PICOXCELL && HAVE_CLK
271ce921368SJamie Iles	select CRYPTO_AES
272ce921368SJamie Iles	select CRYPTO_AUTHENC
273ce921368SJamie Iles	select CRYPTO_ALGAPI
274ce921368SJamie Iles	select CRYPTO_DES
275ce921368SJamie Iles	select CRYPTO_CBC
276ce921368SJamie Iles	select CRYPTO_ECB
277ce921368SJamie Iles	select CRYPTO_SEQIV
278ce921368SJamie Iles	help
279ce921368SJamie Iles	  This option enables support for the hardware offload engines in the
280ce921368SJamie Iles	  Picochip picoXcell SoC devices. Select this for IPSEC ESP offload
281ce921368SJamie Iles	  and for 3gpp Layer 2 ciphering support.
282ce921368SJamie Iles
283ce921368SJamie Iles	  Saying m here will build a module named pipcoxcell_crypto.
284ce921368SJamie Iles
285a49e490cSVladimir Zapolskiyconfig CRYPTO_DEV_S5P
286a49e490cSVladimir Zapolskiy	tristate "Support for Samsung S5PV210 crypto accelerator"
287a49e490cSVladimir Zapolskiy	depends on ARCH_S5PV210
288a49e490cSVladimir Zapolskiy	select CRYPTO_AES
289a49e490cSVladimir Zapolskiy	select CRYPTO_ALGAPI
290a49e490cSVladimir Zapolskiy	select CRYPTO_BLKCIPHER
291a49e490cSVladimir Zapolskiy	help
292a49e490cSVladimir Zapolskiy	  This option allows you to have support for S5P crypto acceleration.
293a49e490cSVladimir Zapolskiy	  Select this to offload Samsung S5PV210 or S5PC110 from AES
294a49e490cSVladimir Zapolskiy	  algorithms execution.
295a49e490cSVladimir Zapolskiy
296b511431dSJan Engelhardtendif # CRYPTO_HW
297