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