1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2b511431dSJan Engelhardt 3b511431dSJan Engelhardtmenuconfig CRYPTO_HW 4b511431dSJan Engelhardt bool "Hardware crypto devices" 5b511431dSJan Engelhardt default y 6a7f7f624SMasahiro Yamada help 706bfb7ebSJan Engelhardt Say Y here to get to see options for hardware crypto devices and 806bfb7ebSJan Engelhardt processors. This option alone does not add any kernel code. 906bfb7ebSJan Engelhardt 1006bfb7ebSJan Engelhardt If you say N, all options in this submenu will be skipped and disabled. 11b511431dSJan Engelhardt 12b511431dSJan Engelhardtif CRYPTO_HW 131da177e4SLinus Torvalds 143914b931SCorentin Labbesource "drivers/crypto/allwinner/Kconfig" 153914b931SCorentin Labbe 161da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK 17d158325eSHerbert Xu tristate "Support for VIA PadLock ACE" 182f817418SHerbert Xu depends on X86 && !UML 191da177e4SLinus Torvalds help 201da177e4SLinus Torvalds Some VIA processors come with an integrated crypto engine 211da177e4SLinus Torvalds (so called VIA PadLock ACE, Advanced Cryptography Engine) 221191f0a4SMichal Ludvig that provides instructions for very fast cryptographic 231191f0a4SMichal Ludvig operations with supported algorithms. 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds The instructions are used only when the CPU supports them. 265644bda5SMichal Ludvig Otherwise software encryption is used. 275644bda5SMichal Ludvig 281da177e4SLinus Torvaldsconfig CRYPTO_DEV_PADLOCK_AES 291191f0a4SMichal Ludvig tristate "PadLock driver for AES algorithm" 301da177e4SLinus Torvalds depends on CRYPTO_DEV_PADLOCK 31b95bba5dSEric Biggers select CRYPTO_SKCIPHER 328131878dSArd Biesheuvel select CRYPTO_LIB_AES 331da177e4SLinus Torvalds help 341da177e4SLinus Torvalds Use VIA PadLock for AES algorithm. 351da177e4SLinus Torvalds 361191f0a4SMichal Ludvig Available in VIA C3 and newer CPUs. 371191f0a4SMichal Ludvig 381191f0a4SMichal Ludvig If unsure say M. The compiled module will be 394737f097SPavel Machek called padlock-aes. 401191f0a4SMichal Ludvig 416c833275SMichal Ludvigconfig CRYPTO_DEV_PADLOCK_SHA 426c833275SMichal Ludvig tristate "PadLock driver for SHA1 and SHA256 algorithms" 436c833275SMichal Ludvig depends on CRYPTO_DEV_PADLOCK 44bbbee467SHerbert Xu select CRYPTO_HASH 456c833275SMichal Ludvig select CRYPTO_SHA1 466c833275SMichal Ludvig select CRYPTO_SHA256 476c833275SMichal Ludvig help 486c833275SMichal Ludvig Use VIA PadLock for SHA1/SHA256 algorithms. 496c833275SMichal Ludvig 506c833275SMichal Ludvig Available in VIA C7 and newer processors. 516c833275SMichal Ludvig 526c833275SMichal Ludvig If unsure say M. The compiled module will be 534737f097SPavel Machek called padlock-sha. 546c833275SMichal Ludvig 559fe757b0SJordan Crouseconfig CRYPTO_DEV_GEODE 569fe757b0SJordan Crouse tristate "Support for the Geode LX AES engine" 57f6259deaSSimon Arlott depends on X86_32 && PCI 589fe757b0SJordan Crouse select CRYPTO_ALGAPI 59b95bba5dSEric Biggers select CRYPTO_SKCIPHER 609fe757b0SJordan Crouse help 619fe757b0SJordan Crouse Say 'Y' here to use the AMD Geode LX processor on-board AES 623dde6ad8SDavid Sterba engine for the CryptoAPI AES algorithm. 639fe757b0SJordan Crouse 649fe757b0SJordan Crouse To compile this driver as a module, choose M here: the module 659fe757b0SJordan Crouse will be called geode-aes. 669fe757b0SJordan Crouse 6761d48c2cSMartin Schwidefskyconfig ZCRYPT 68a3358e3dSHarald Freudenberger tristate "Support for s390 cryptographic adapters" 6961d48c2cSMartin Schwidefsky depends on S390 702f7c8bd6SRalph Wuerthner select HW_RANDOM 7161d48c2cSMartin Schwidefsky help 72a3358e3dSHarald Freudenberger Select this option if you want to enable support for 73a3358e3dSHarald Freudenberger s390 cryptographic adapters like: 740ae88ccfSHarald Freudenberger + Crypto Express 2 up to 7 Coprocessor (CEXxC) 750ae88ccfSHarald Freudenberger + Crypto Express 2 up to 7 Accelerator (CEXxA) 760ae88ccfSHarald Freudenberger + Crypto Express 4 up to 7 EP11 Coprocessor (CEXxP) 770ae88ccfSHarald Freudenberger 780ae88ccfSHarald Freudenbergerconfig ZCRYPT_DEBUG 790ae88ccfSHarald Freudenberger bool "Enable debug features for s390 cryptographic adapters" 800ae88ccfSHarald Freudenberger default n 810ae88ccfSHarald Freudenberger depends on DEBUG_KERNEL 820ae88ccfSHarald Freudenberger depends on ZCRYPT 830ae88ccfSHarald Freudenberger help 840ae88ccfSHarald Freudenberger Say 'Y' here to enable some additional debug features on the 850ae88ccfSHarald Freudenberger s390 cryptographic adapters driver. 860ae88ccfSHarald Freudenberger 870ae88ccfSHarald Freudenberger There will be some more sysfs attributes displayed for ap cards 880ae88ccfSHarald Freudenberger and queues and some flags on crypto requests are interpreted as 890ae88ccfSHarald Freudenberger debugging messages to force error injection. 900ae88ccfSHarald Freudenberger 910ae88ccfSHarald Freudenberger Do not enable on production level kernel build. 920ae88ccfSHarald Freudenberger 930ae88ccfSHarald Freudenberger If unsure, say N. 9461d48c2cSMartin Schwidefsky 9500fab235SHarald Freudenbergerconfig ZCRYPT_MULTIDEVNODES 9600fab235SHarald Freudenberger bool "Support for multiple zcrypt device nodes" 9700fab235SHarald Freudenberger default y 9800fab235SHarald Freudenberger depends on S390 9900fab235SHarald Freudenberger depends on ZCRYPT 10000fab235SHarald Freudenberger help 10100fab235SHarald Freudenberger With this option enabled the zcrypt device driver can 10200fab235SHarald Freudenberger provide multiple devices nodes in /dev. Each device 10300fab235SHarald Freudenberger node can get customized to limit access and narrow 10400fab235SHarald Freudenberger down the use of the available crypto hardware. 10500fab235SHarald Freudenberger 106e80d4af0SHarald Freudenbergerconfig PKEY 107e80d4af0SHarald Freudenberger tristate "Kernel API for protected key handling" 108e80d4af0SHarald Freudenberger depends on S390 109e80d4af0SHarald Freudenberger depends on ZCRYPT 110e80d4af0SHarald Freudenberger help 111e80d4af0SHarald Freudenberger With this option enabled the pkey kernel module provides an API 112e80d4af0SHarald Freudenberger for creation and handling of protected keys. Other parts of the 113e80d4af0SHarald Freudenberger kernel or userspace applications may use these functions. 114e80d4af0SHarald Freudenberger 115e80d4af0SHarald Freudenberger Select this option if you want to enable the kernel and userspace 116e80d4af0SHarald Freudenberger API for proteced key handling. 117e80d4af0SHarald Freudenberger 118e80d4af0SHarald Freudenberger Please note that creation of protected keys from secure keys 119e80d4af0SHarald Freudenberger requires to have at least one CEX card in coprocessor mode 120e80d4af0SHarald Freudenberger available at runtime. 12161d48c2cSMartin Schwidefsky 122c4684f98SHarald Freudenbergerconfig CRYPTO_PAES_S390 123c4684f98SHarald Freudenberger tristate "PAES cipher algorithms" 124c4684f98SHarald Freudenberger depends on S390 125c4684f98SHarald Freudenberger depends on ZCRYPT 126c4684f98SHarald Freudenberger depends on PKEY 127c4684f98SHarald Freudenberger select CRYPTO_ALGAPI 128b95bba5dSEric Biggers select CRYPTO_SKCIPHER 129c4684f98SHarald Freudenberger help 130c4684f98SHarald Freudenberger This is the s390 hardware accelerated implementation of the 131c4684f98SHarald Freudenberger AES cipher algorithms for use with protected key. 132c4684f98SHarald Freudenberger 133c4684f98SHarald Freudenberger Select this option if you want to use the paes cipher 134c4684f98SHarald Freudenberger for example to use protected key encrypted devices. 135c4684f98SHarald Freudenberger 1363f5615e0SJan Glauberconfig S390_PRNG 1373f5615e0SJan Glauber tristate "Pseudo random number generator device driver" 1383f5615e0SJan Glauber depends on S390 1393f5615e0SJan Glauber default "m" 1403f5615e0SJan Glauber help 1413f5615e0SJan Glauber Select this option if you want to use the s390 pseudo random number 1423f5615e0SJan Glauber generator. The PRNG is part of the cryptographic processor functions 1433f5615e0SJan Glauber and uses triple-DES to generate secure random numbers like the 144d393d9b8SJan Glauber ANSI X9.17 standard. User-space programs access the 145d393d9b8SJan Glauber pseudo-random-number device through the char device /dev/prandom. 146d393d9b8SJan Glauber 147d393d9b8SJan Glauber It is available as of z9. 1483f5615e0SJan Glauber 1490a625fd2SDavid S. Millerconfig CRYPTO_DEV_NIAGARA2 1500a625fd2SDavid S. Miller tristate "Niagara2 Stream Processing Unit driver" 15104007b0eSArd Biesheuvel select CRYPTO_LIB_DES 152b95bba5dSEric Biggers select CRYPTO_SKCIPHER 153596103cfSHerbert Xu select CRYPTO_HASH 1548054b800SLABBE Corentin select CRYPTO_MD5 1558054b800SLABBE Corentin select CRYPTO_SHA1 1568054b800SLABBE Corentin select CRYPTO_SHA256 1570a625fd2SDavid S. Miller depends on SPARC64 1580a625fd2SDavid S. Miller help 1590a625fd2SDavid S. Miller Each core of a Niagara2 processor contains a Stream 1600a625fd2SDavid S. Miller Processing Unit, which itself contains several cryptographic 1610a625fd2SDavid S. Miller sub-units. One set provides the Modular Arithmetic Unit, 1620a625fd2SDavid S. Miller used for SSL offload. The other set provides the Cipher 1630a625fd2SDavid S. Miller Group, which can perform encryption, decryption, hashing, 1640a625fd2SDavid S. Miller checksumming, and raw copies. 1650a625fd2SDavid S. Miller 16646c5338dSCorentin Labbeconfig CRYPTO_DEV_SL3516 167df941fddSGeert Uytterhoeven tristate "Storlink SL3516 crypto offloader" 168e29dd5c8SGeert Uytterhoeven depends on ARCH_GEMINI || COMPILE_TEST 169e29dd5c8SGeert Uytterhoeven depends on HAS_IOMEM && PM 17046c5338dSCorentin Labbe select CRYPTO_SKCIPHER 17146c5338dSCorentin Labbe select CRYPTO_ENGINE 17246c5338dSCorentin Labbe select CRYPTO_ECB 17346c5338dSCorentin Labbe select CRYPTO_AES 17446c5338dSCorentin Labbe select HW_RANDOM 17546c5338dSCorentin Labbe help 17646c5338dSCorentin Labbe This option allows you to have support for SL3516 crypto offloader. 17746c5338dSCorentin Labbe 17846c5338dSCorentin Labbeconfig CRYPTO_DEV_SL3516_DEBUG 17946c5338dSCorentin Labbe bool "Enable SL3516 stats" 18046c5338dSCorentin Labbe depends on CRYPTO_DEV_SL3516 18146c5338dSCorentin Labbe depends on DEBUG_FS 18246c5338dSCorentin Labbe help 18346c5338dSCorentin Labbe Say y to enable SL3516 debug stats. 18446c5338dSCorentin Labbe This will create /sys/kernel/debug/sl3516/stats for displaying 18546c5338dSCorentin Labbe the number of requests per algorithm and other internal stats. 18646c5338dSCorentin Labbe 187f7d0561eSEvgeniy Polyakovconfig CRYPTO_DEV_HIFN_795X 188f7d0561eSEvgeniy Polyakov tristate "Driver HIFN 795x crypto accelerator chips" 18904007b0eSArd Biesheuvel select CRYPTO_LIB_DES 190b95bba5dSEric Biggers select CRYPTO_SKCIPHER 191946fef4eSHerbert Xu select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG 1922707b937SJan Glauber depends on PCI 19375b76625SRichard Weinberger depends on !ARCH_DMA_ADDR_T_64BIT 194f7d0561eSEvgeniy Polyakov help 195f7d0561eSEvgeniy Polyakov This option allows you to have support for HIFN 795x crypto adapters. 196f7d0561eSEvgeniy Polyakov 197946fef4eSHerbert Xuconfig CRYPTO_DEV_HIFN_795X_RNG 198946fef4eSHerbert Xu bool "HIFN 795x random number generator" 199946fef4eSHerbert Xu depends on CRYPTO_DEV_HIFN_795X 200946fef4eSHerbert Xu help 201946fef4eSHerbert Xu Select this option if you want to enable the random number generator 202946fef4eSHerbert Xu on the HIFN 795x crypto adapters. 203f7d0561eSEvgeniy Polyakov 2048636a1f9SMasahiro Yamadasource "drivers/crypto/caam/Kconfig" 2058e8ec596SKim Phillips 2069c4a7965SKim Phillipsconfig CRYPTO_DEV_TALITOS 2079c4a7965SKim Phillips tristate "Talitos Freescale Security Engine (SEC)" 208596103cfSHerbert Xu select CRYPTO_AEAD 2099c4a7965SKim Phillips select CRYPTO_AUTHENC 210b95bba5dSEric Biggers select CRYPTO_SKCIPHER 211596103cfSHerbert Xu select CRYPTO_HASH 212dbc2e87bSHerbert Xu select CRYPTO_LIB_DES 2139c4a7965SKim Phillips select HW_RANDOM 2149c4a7965SKim Phillips depends on FSL_SOC 2159c4a7965SKim Phillips help 2169c4a7965SKim Phillips Say 'Y' here to use the Freescale Security Engine (SEC) 2179c4a7965SKim Phillips to offload cryptographic algorithm computation. 2189c4a7965SKim Phillips 2199c4a7965SKim Phillips The Freescale SEC is present on PowerQUICC 'E' processors, such 2209c4a7965SKim Phillips as the MPC8349E and MPC8548E. 2219c4a7965SKim Phillips 2229c4a7965SKim Phillips To compile this driver as a module, choose M here: the module 2239c4a7965SKim Phillips will be called talitos. 2249c4a7965SKim Phillips 2255b841a65SLEROY Christopheconfig CRYPTO_DEV_TALITOS1 2265b841a65SLEROY Christophe bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" 2275b841a65SLEROY Christophe depends on CRYPTO_DEV_TALITOS 2285b841a65SLEROY Christophe depends on PPC_8xx || PPC_82xx 2295b841a65SLEROY Christophe default y 2305b841a65SLEROY Christophe help 2315b841a65SLEROY Christophe Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 2325b841a65SLEROY Christophe found on MPC82xx or the Freescale Security Engine (SEC Lite) 2335b841a65SLEROY Christophe version 1.2 found on MPC8xx 2345b841a65SLEROY Christophe 2355b841a65SLEROY Christopheconfig CRYPTO_DEV_TALITOS2 2365b841a65SLEROY Christophe bool "SEC2+ (SEC version 2.0 or upper)" 2375b841a65SLEROY Christophe depends on CRYPTO_DEV_TALITOS 2385b841a65SLEROY Christophe default y if !PPC_8xx 2395b841a65SLEROY Christophe help 2405b841a65SLEROY Christophe Say 'Y' here to use the Freescale Security Engine (SEC) 2415b841a65SLEROY Christophe version 2 and following as found on MPC83xx, MPC85xx, etc ... 2425b841a65SLEROY Christophe 243049359d6SJames Hsiaoconfig CRYPTO_DEV_PPC4XX 244049359d6SJames Hsiao tristate "Driver AMCC PPC4xx crypto accelerator" 245049359d6SJames Hsiao depends on PPC && 4xx 246049359d6SJames Hsiao select CRYPTO_HASH 247a0aae821SChristian Lamparter select CRYPTO_AEAD 248298b4c60SChristian Lamparter select CRYPTO_AES 249da3e7a97SArd Biesheuvel select CRYPTO_LIB_AES 250a0aae821SChristian Lamparter select CRYPTO_CCM 25198e87e3dSChristian Lamparter select CRYPTO_CTR 252a0aae821SChristian Lamparter select CRYPTO_GCM 253b95bba5dSEric Biggers select CRYPTO_SKCIPHER 254049359d6SJames Hsiao help 255049359d6SJames Hsiao This option allows you to have support for AMCC crypto acceleration. 256049359d6SJames Hsiao 2575343e674SChristian Lamparterconfig HW_RANDOM_PPC4XX 2585343e674SChristian Lamparter bool "PowerPC 4xx generic true random number generator support" 25963b8ee4fSFlorian Fainelli depends on CRYPTO_DEV_PPC4XX && HW_RANDOM=y 2605343e674SChristian Lamparter default y 261a7f7f624SMasahiro Yamada help 2625343e674SChristian Lamparter This option provides the kernel-side support for the TRNG hardware 2635343e674SChristian Lamparter found in the security function of some PowerPC 4xx SoCs. 2645343e674SChristian Lamparter 26574ed87e7STero Kristoconfig CRYPTO_DEV_OMAP 26674ed87e7STero Kristo tristate "Support for OMAP crypto HW accelerators" 26774ed87e7STero Kristo depends on ARCH_OMAP2PLUS 26874ed87e7STero Kristo help 26974ed87e7STero Kristo OMAP processors have various crypto HW accelerators. Select this if 27074ed87e7STero Kristo you want to use the OMAP modules for any of the crypto algorithms. 27174ed87e7STero Kristo 27274ed87e7STero Kristoif CRYPTO_DEV_OMAP 27374ed87e7STero Kristo 2748628e7c8SDmitry Kasatkinconfig CRYPTO_DEV_OMAP_SHAM 275eaef7e3fSLokesh Vutla tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" 276eaef7e3fSLokesh Vutla depends on ARCH_OMAP2PLUS 27738281194SArnd Bergmann select CRYPTO_ENGINE 2788628e7c8SDmitry Kasatkin select CRYPTO_SHA1 2798628e7c8SDmitry Kasatkin select CRYPTO_MD5 280eaef7e3fSLokesh Vutla select CRYPTO_SHA256 281eaef7e3fSLokesh Vutla select CRYPTO_SHA512 282eaef7e3fSLokesh Vutla select CRYPTO_HMAC 2838628e7c8SDmitry Kasatkin help 284eaef7e3fSLokesh Vutla OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you 285eaef7e3fSLokesh Vutla want to use the OMAP module for MD5/SHA1/SHA2 algorithms. 2868628e7c8SDmitry Kasatkin 287537559a5SDmitry Kasatkinconfig CRYPTO_DEV_OMAP_AES 288537559a5SDmitry Kasatkin tristate "Support for OMAP AES hw engine" 2891bbf6437SJoel Fernandes depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS 290537559a5SDmitry Kasatkin select CRYPTO_AES 291b95bba5dSEric Biggers select CRYPTO_SKCIPHER 2920529900aSBaolin Wang select CRYPTO_ENGINE 2939fcb191aSLokesh Vutla select CRYPTO_CBC 2949fcb191aSLokesh Vutla select CRYPTO_ECB 2959fcb191aSLokesh Vutla select CRYPTO_CTR 296ad18cc9dSTero Kristo select CRYPTO_AEAD 297537559a5SDmitry Kasatkin help 298537559a5SDmitry Kasatkin OMAP processors have AES module accelerator. Select this if you 299537559a5SDmitry Kasatkin want to use the OMAP module for AES algorithms. 300537559a5SDmitry Kasatkin 301701d0f19SJoel Fernandesconfig CRYPTO_DEV_OMAP_DES 30297ee7ed3SPeter Meerwald tristate "Support for OMAP DES/3DES hw engine" 303701d0f19SJoel Fernandes depends on ARCH_OMAP2PLUS 30404007b0eSArd Biesheuvel select CRYPTO_LIB_DES 305b95bba5dSEric Biggers select CRYPTO_SKCIPHER 306f1b77aacSBaolin Wang select CRYPTO_ENGINE 307701d0f19SJoel Fernandes help 308701d0f19SJoel Fernandes OMAP processors have DES/3DES module accelerator. Select this if you 309701d0f19SJoel Fernandes want to use the OMAP module for DES and 3DES algorithms. Currently 31097ee7ed3SPeter Meerwald the ECB and CBC modes of operation are supported by the driver. Also 31197ee7ed3SPeter Meerwald accesses made on unaligned boundaries are supported. 312701d0f19SJoel Fernandes 31374ed87e7STero Kristoendif # CRYPTO_DEV_OMAP 31474ed87e7STero Kristo 3155de88752SJavier Martinconfig CRYPTO_DEV_SAHARA 3165de88752SJavier Martin tristate "Support for SAHARA crypto accelerator" 31774d24d83SPaul Bolle depends on ARCH_MXC && OF 318b95bba5dSEric Biggers select CRYPTO_SKCIPHER 3195de88752SJavier Martin select CRYPTO_AES 3205de88752SJavier Martin select CRYPTO_ECB 3215de88752SJavier Martin help 3225de88752SJavier Martin This option enables support for the SAHARA HW crypto accelerator 3235de88752SJavier Martin found in some Freescale i.MX chips. 3245de88752SJavier Martin 325c46ea13fSKrzysztof Kozlowskiconfig CRYPTO_DEV_EXYNOS_RNG 326b279997fSKrzysztof Kozlowski tristate "Exynos HW pseudo random number generator support" 327c46ea13fSKrzysztof Kozlowski depends on ARCH_EXYNOS || COMPILE_TEST 328c46ea13fSKrzysztof Kozlowski depends on HAS_IOMEM 329c46ea13fSKrzysztof Kozlowski select CRYPTO_RNG 330a7f7f624SMasahiro Yamada help 331c46ea13fSKrzysztof Kozlowski This driver provides kernel-side support through the 332c46ea13fSKrzysztof Kozlowski cryptographic API for the pseudo random number generator hardware 333c46ea13fSKrzysztof Kozlowski found on Exynos SoCs. 334c46ea13fSKrzysztof Kozlowski 335c46ea13fSKrzysztof Kozlowski To compile this driver as a module, choose M here: the 336c46ea13fSKrzysztof Kozlowski module will be called exynos-rng. 337c46ea13fSKrzysztof Kozlowski 338c46ea13fSKrzysztof Kozlowski If unsure, say Y. 339c46ea13fSKrzysztof Kozlowski 340a49e490cSVladimir Zapolskiyconfig CRYPTO_DEV_S5P 341e922e96fSNaveen Krishna Chatradhi tristate "Support for Samsung S5PV210/Exynos crypto accelerator" 342dc1d9deeSKrzysztof Kozlowski depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 343ee1b23d1SGeert Uytterhoeven depends on HAS_IOMEM 344a49e490cSVladimir Zapolskiy select CRYPTO_AES 345b95bba5dSEric Biggers select CRYPTO_SKCIPHER 346a49e490cSVladimir Zapolskiy help 347a49e490cSVladimir Zapolskiy This option allows you to have support for S5P crypto acceleration. 348e922e96fSNaveen Krishna Chatradhi Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES 349a49e490cSVladimir Zapolskiy algorithms execution. 350a49e490cSVladimir Zapolskiy 351c2afad6cSKamil Koniecznyconfig CRYPTO_DEV_EXYNOS_HASH 352c2afad6cSKamil Konieczny bool "Support for Samsung Exynos HASH accelerator" 353c2afad6cSKamil Konieczny depends on CRYPTO_DEV_S5P 354c2afad6cSKamil Konieczny depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m 355c2afad6cSKamil Konieczny select CRYPTO_SHA1 356c2afad6cSKamil Konieczny select CRYPTO_MD5 357c2afad6cSKamil Konieczny select CRYPTO_SHA256 358c2afad6cSKamil Konieczny help 359c2afad6cSKamil Konieczny Select this to offload Exynos from HASH MD5/SHA1/SHA256. 360c2afad6cSKamil Konieczny This will select software SHA1, MD5 and SHA256 as they are 361c2afad6cSKamil Konieczny needed for small and zero-size messages. 362c2afad6cSKamil Konieczny HASH algorithms will be disabled if EXYNOS_RNG 363c2afad6cSKamil Konieczny is enabled due to hw conflict. 364c2afad6cSKamil Konieczny 365aef7b31cSKent Yoderconfig CRYPTO_DEV_NX 3667011a122SDan Streetman bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" 3677011a122SDan Streetman depends on PPC64 368aef7b31cSKent Yoder help 3697011a122SDan Streetman This enables support for the NX hardware cryptographic accelerator 3707011a122SDan Streetman coprocessor that is in IBM PowerPC P7+ or later processors. This 3717011a122SDan Streetman does not actually enable any drivers, it only allows you to select 3727011a122SDan Streetman which acceleration type (encryption and/or compression) to enable. 373322cacceSSeth Jennings 374322cacceSSeth Jenningsif CRYPTO_DEV_NX 375322cacceSSeth Jennings source "drivers/crypto/nx/Kconfig" 376322cacceSSeth Jenningsendif 377aef7b31cSKent Yoder 37889a82ef8SCyrille Pitchenconfig CRYPTO_DEV_ATMEL_AUTHENC 379aee1f9f3SYueHaibing bool "Support for Atmel IPSEC/SSL hw accelerator" 380ceb4afb3SArnd Bergmann depends on ARCH_AT91 || COMPILE_TEST 381aee1f9f3SYueHaibing depends on CRYPTO_DEV_ATMEL_AES 38289a82ef8SCyrille Pitchen help 38389a82ef8SCyrille Pitchen Some Atmel processors can combine the AES and SHA hw accelerators 38489a82ef8SCyrille Pitchen to enhance support of IPSEC/SSL. 38589a82ef8SCyrille Pitchen Select this if you want to use the Atmel modules for 38689a82ef8SCyrille Pitchen authenc(hmac(shaX),Y(cbc)) algorithms. 38789a82ef8SCyrille Pitchen 388bd3c7b5cSNicolas Royerconfig CRYPTO_DEV_ATMEL_AES 389bd3c7b5cSNicolas Royer tristate "Support for Atmel AES hw accelerator" 390ceb4afb3SArnd Bergmann depends on ARCH_AT91 || COMPILE_TEST 391bd3c7b5cSNicolas Royer select CRYPTO_AES 392d4419548SCyrille Pitchen select CRYPTO_AEAD 393b95bba5dSEric Biggers select CRYPTO_SKCIPHER 394aee1f9f3SYueHaibing select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC 395aee1f9f3SYueHaibing select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC 396bd3c7b5cSNicolas Royer help 397bd3c7b5cSNicolas Royer Some Atmel processors have AES hw accelerator. 398bd3c7b5cSNicolas Royer Select this if you want to use the Atmel module for 399bd3c7b5cSNicolas Royer AES algorithms. 400bd3c7b5cSNicolas Royer 401bd3c7b5cSNicolas Royer To compile this driver as a module, choose M here: the module 402bd3c7b5cSNicolas Royer will be called atmel-aes. 403bd3c7b5cSNicolas Royer 40413802005SNicolas Royerconfig CRYPTO_DEV_ATMEL_TDES 40513802005SNicolas Royer tristate "Support for Atmel DES/TDES hw accelerator" 406ceb4afb3SArnd Bergmann depends on ARCH_AT91 || COMPILE_TEST 40704007b0eSArd Biesheuvel select CRYPTO_LIB_DES 408b95bba5dSEric Biggers select CRYPTO_SKCIPHER 40913802005SNicolas Royer help 41013802005SNicolas Royer Some Atmel processors have DES/TDES hw accelerator. 41113802005SNicolas Royer Select this if you want to use the Atmel module for 41213802005SNicolas Royer DES/TDES algorithms. 41313802005SNicolas Royer 41413802005SNicolas Royer To compile this driver as a module, choose M here: the module 41513802005SNicolas Royer will be called atmel-tdes. 41613802005SNicolas Royer 417ebc82efaSNicolas Royerconfig CRYPTO_DEV_ATMEL_SHA 418d4905b38SNicolas Royer tristate "Support for Atmel SHA hw accelerator" 419ceb4afb3SArnd Bergmann depends on ARCH_AT91 || COMPILE_TEST 420596103cfSHerbert Xu select CRYPTO_HASH 421ebc82efaSNicolas Royer help 422d4905b38SNicolas Royer Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 423d4905b38SNicolas Royer hw accelerator. 424ebc82efaSNicolas Royer Select this if you want to use the Atmel module for 425d4905b38SNicolas Royer SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. 426ebc82efaSNicolas Royer 427ebc82efaSNicolas Royer To compile this driver as a module, choose M here: the module 428ebc82efaSNicolas Royer will be called atmel-sha. 429ebc82efaSNicolas Royer 430c34a3201SArd Biesheuvelconfig CRYPTO_DEV_ATMEL_I2C 431c34a3201SArd Biesheuvel tristate 432d33a23b0SArnd Bergmann select BITREVERSE 433c34a3201SArd Biesheuvel 43411105693STudor-Dan Ambarusconfig CRYPTO_DEV_ATMEL_ECC 43511105693STudor-Dan Ambarus tristate "Support for Microchip / Atmel ECC hw accelerator" 43611105693STudor-Dan Ambarus depends on I2C 437c34a3201SArd Biesheuvel select CRYPTO_DEV_ATMEL_I2C 43811105693STudor-Dan Ambarus select CRYPTO_ECDH 43911105693STudor-Dan Ambarus select CRC16 44011105693STudor-Dan Ambarus help 44111105693STudor-Dan Ambarus Microhip / Atmel ECC hw accelerator. 44211105693STudor-Dan Ambarus Select this if you want to use the Microchip / Atmel module for 44311105693STudor-Dan Ambarus ECDH algorithm. 44411105693STudor-Dan Ambarus 44511105693STudor-Dan Ambarus To compile this driver as a module, choose M here: the module 44611105693STudor-Dan Ambarus will be called atmel-ecc. 44711105693STudor-Dan Ambarus 448da001fb6SArd Biesheuvelconfig CRYPTO_DEV_ATMEL_SHA204A 449da001fb6SArd Biesheuvel tristate "Support for Microchip / Atmel SHA accelerator and RNG" 450da001fb6SArd Biesheuvel depends on I2C 451da001fb6SArd Biesheuvel select CRYPTO_DEV_ATMEL_I2C 452da001fb6SArd Biesheuvel select HW_RANDOM 4534bb02dbdSYueHaibing select CRC16 454da001fb6SArd Biesheuvel help 455da001fb6SArd Biesheuvel Microhip / Atmel SHA accelerator and RNG. 456da001fb6SArd Biesheuvel Select this if you want to use the Microchip / Atmel SHA204A 457da001fb6SArd Biesheuvel module as a random number generator. (Other functions of the 458da001fb6SArd Biesheuvel chip are currently not exposed by this driver) 459da001fb6SArd Biesheuvel 460da001fb6SArd Biesheuvel To compile this driver as a module, choose M here: the module 461da001fb6SArd Biesheuvel will be called atmel-sha204a. 462da001fb6SArd Biesheuvel 463f1147660STom Lendackyconfig CRYPTO_DEV_CCP 464720419f0SBrijesh Singh bool "Support for AMD Secure Processor" 4656c506343STom Lendacky depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM 466f1147660STom Lendacky help 467720419f0SBrijesh Singh The AMD Secure Processor provides support for the Cryptographic Coprocessor 468720419f0SBrijesh Singh (CCP) and the Platform Security Processor (PSP) devices. 469f1147660STom Lendacky 470f1147660STom Lendackyif CRYPTO_DEV_CCP 471f1147660STom Lendacky source "drivers/crypto/ccp/Kconfig" 472f1147660STom Lendackyendif 473f1147660STom Lendacky 47415b59e7cSMarek Vasutconfig CRYPTO_DEV_MXS_DCP 47515b59e7cSMarek Vasut tristate "Support for Freescale MXS DCP" 476a2712e6cSFabio Estevam depends on (ARCH_MXS || ARCH_MXC) 477dc97fa02SArnd Bergmann select STMP_DEVICE 47815b59e7cSMarek Vasut select CRYPTO_CBC 47915b59e7cSMarek Vasut select CRYPTO_ECB 48015b59e7cSMarek Vasut select CRYPTO_AES 481b95bba5dSEric Biggers select CRYPTO_SKCIPHER 482596103cfSHerbert Xu select CRYPTO_HASH 48315b59e7cSMarek Vasut help 48415b59e7cSMarek Vasut The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB 48515b59e7cSMarek Vasut co-processor on the die. 48615b59e7cSMarek Vasut 48715b59e7cSMarek Vasut To compile this driver as a module, choose M here: the module 48815b59e7cSMarek Vasut will be called mxs-dcp. 48915b59e7cSMarek Vasut 49062ad8b5cSGeorge Cheriansource "drivers/crypto/cavium/cpt/Kconfig" 49114fa93cdSSrikanth Jampalasource "drivers/crypto/cavium/nitrox/Kconfig" 492655ff1a1SSrujanaChallasource "drivers/crypto/marvell/Kconfig" 493fbf31dd5STom Zanussisource "drivers/crypto/intel/Kconfig" 494c672752dSStanimir Varbanov 495640035a2SMahipal Challaconfig CRYPTO_DEV_CAVIUM_ZIP 496640035a2SMahipal Challa tristate "Cavium ZIP driver" 497640035a2SMahipal Challa depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 498a7f7f624SMasahiro Yamada help 499640035a2SMahipal Challa Select this option if you want to enable compression/decompression 500640035a2SMahipal Challa acceleration on Cavium's ARM based SoCs 501640035a2SMahipal Challa 502c672752dSStanimir Varbanovconfig CRYPTO_DEV_QCE 503c672752dSStanimir Varbanov tristate "Qualcomm crypto engine accelerator" 504ee1b23d1SGeert Uytterhoeven depends on ARCH_QCOM || COMPILE_TEST 505ee1b23d1SGeert Uytterhoeven depends on HAS_IOMEM 50659e056cdSEneas U de Queiroz help 50759e056cdSEneas U de Queiroz This driver supports Qualcomm crypto engine accelerator 50859e056cdSEneas U de Queiroz hardware. To compile this driver as a module, choose M here. The 50959e056cdSEneas U de Queiroz module will be called qcrypto. 51059e056cdSEneas U de Queiroz 51159e056cdSEneas U de Queirozconfig CRYPTO_DEV_QCE_SKCIPHER 51259e056cdSEneas U de Queiroz bool 51359e056cdSEneas U de Queiroz depends on CRYPTO_DEV_QCE 514c672752dSStanimir Varbanov select CRYPTO_AES 51504007b0eSArd Biesheuvel select CRYPTO_LIB_DES 516c672752dSStanimir Varbanov select CRYPTO_ECB 517c672752dSStanimir Varbanov select CRYPTO_CBC 518c672752dSStanimir Varbanov select CRYPTO_XTS 519c672752dSStanimir Varbanov select CRYPTO_CTR 520b95bba5dSEric Biggers select CRYPTO_SKCIPHER 52159e056cdSEneas U de Queiroz 52259e056cdSEneas U de Queirozconfig CRYPTO_DEV_QCE_SHA 52359e056cdSEneas U de Queiroz bool 52459e056cdSEneas U de Queiroz depends on CRYPTO_DEV_QCE 5258ac1b9ccSSivaprakash Murugesan select CRYPTO_SHA1 5268ac1b9ccSSivaprakash Murugesan select CRYPTO_SHA256 52759e056cdSEneas U de Queiroz 5289363efb4SThara Gopinathconfig CRYPTO_DEV_QCE_AEAD 5299363efb4SThara Gopinath bool 5309363efb4SThara Gopinath depends on CRYPTO_DEV_QCE 5319363efb4SThara Gopinath select CRYPTO_AUTHENC 5329363efb4SThara Gopinath select CRYPTO_LIB_DES 5339363efb4SThara Gopinath 53459e056cdSEneas U de Queirozchoice 53559e056cdSEneas U de Queiroz prompt "Algorithms enabled for QCE acceleration" 53659e056cdSEneas U de Queiroz default CRYPTO_DEV_QCE_ENABLE_ALL 53759e056cdSEneas U de Queiroz depends on CRYPTO_DEV_QCE 538c672752dSStanimir Varbanov help 5392e0e386aSColin Ian King This option allows to choose whether to build support for all algorithms 54059e056cdSEneas U de Queiroz (default), hashes-only, or skciphers-only. 54159e056cdSEneas U de Queiroz 54259e056cdSEneas U de Queiroz The QCE engine does not appear to scale as well as the CPU to handle 54359e056cdSEneas U de Queiroz multiple crypto requests. While the ipq40xx chips have 4-core CPUs, the 54459e056cdSEneas U de Queiroz QCE handles only 2 requests in parallel. 54559e056cdSEneas U de Queiroz 54659e056cdSEneas U de Queiroz Ipsec throughput seems to improve when disabling either family of 54759e056cdSEneas U de Queiroz algorithms, sharing the load with the CPU. Enabling skciphers-only 54859e056cdSEneas U de Queiroz appears to work best. 54959e056cdSEneas U de Queiroz 55059e056cdSEneas U de Queiroz config CRYPTO_DEV_QCE_ENABLE_ALL 55159e056cdSEneas U de Queiroz bool "All supported algorithms" 55259e056cdSEneas U de Queiroz select CRYPTO_DEV_QCE_SKCIPHER 55359e056cdSEneas U de Queiroz select CRYPTO_DEV_QCE_SHA 5549363efb4SThara Gopinath select CRYPTO_DEV_QCE_AEAD 55559e056cdSEneas U de Queiroz help 55659e056cdSEneas U de Queiroz Enable all supported algorithms: 55759e056cdSEneas U de Queiroz - AES (CBC, CTR, ECB, XTS) 55859e056cdSEneas U de Queiroz - 3DES (CBC, ECB) 55959e056cdSEneas U de Queiroz - DES (CBC, ECB) 56059e056cdSEneas U de Queiroz - SHA1, HMAC-SHA1 56159e056cdSEneas U de Queiroz - SHA256, HMAC-SHA256 56259e056cdSEneas U de Queiroz 56359e056cdSEneas U de Queiroz config CRYPTO_DEV_QCE_ENABLE_SKCIPHER 56459e056cdSEneas U de Queiroz bool "Symmetric-key ciphers only" 56559e056cdSEneas U de Queiroz select CRYPTO_DEV_QCE_SKCIPHER 56659e056cdSEneas U de Queiroz help 56759e056cdSEneas U de Queiroz Enable symmetric-key ciphers only: 56859e056cdSEneas U de Queiroz - AES (CBC, CTR, ECB, XTS) 56959e056cdSEneas U de Queiroz - 3DES (ECB, CBC) 57059e056cdSEneas U de Queiroz - DES (ECB, CBC) 57159e056cdSEneas U de Queiroz 57259e056cdSEneas U de Queiroz config CRYPTO_DEV_QCE_ENABLE_SHA 57359e056cdSEneas U de Queiroz bool "Hash/HMAC only" 57459e056cdSEneas U de Queiroz select CRYPTO_DEV_QCE_SHA 57559e056cdSEneas U de Queiroz help 57659e056cdSEneas U de Queiroz Enable hashes/HMAC algorithms only: 57759e056cdSEneas U de Queiroz - SHA1, HMAC-SHA1 57859e056cdSEneas U de Queiroz - SHA256, HMAC-SHA256 57959e056cdSEneas U de Queiroz 5809363efb4SThara Gopinath config CRYPTO_DEV_QCE_ENABLE_AEAD 5819363efb4SThara Gopinath bool "AEAD algorithms only" 5829363efb4SThara Gopinath select CRYPTO_DEV_QCE_AEAD 5839363efb4SThara Gopinath help 5849363efb4SThara Gopinath Enable AEAD algorithms only: 5859363efb4SThara Gopinath - authenc() 5869363efb4SThara Gopinath - ccm(aes) 5879363efb4SThara Gopinath - rfc4309(ccm(aes)) 58859e056cdSEneas U de Queirozendchoice 589c672752dSStanimir Varbanov 590ce163ba0SEneas U de Queirozconfig CRYPTO_DEV_QCE_SW_MAX_LEN 591ce163ba0SEneas U de Queiroz int "Default maximum request size to use software for AES" 592ce163ba0SEneas U de Queiroz depends on CRYPTO_DEV_QCE && CRYPTO_DEV_QCE_SKCIPHER 593ce163ba0SEneas U de Queiroz default 512 594ce163ba0SEneas U de Queiroz help 595ce163ba0SEneas U de Queiroz This sets the default maximum request size to perform AES requests 596ce163ba0SEneas U de Queiroz using software instead of the crypto engine. It can be changed by 597ce163ba0SEneas U de Queiroz setting the aes_sw_max_len parameter. 598ce163ba0SEneas U de Queiroz 599ce163ba0SEneas U de Queiroz Small blocks are processed faster in software than hardware. 600ce163ba0SEneas U de Queiroz Considering the 256-bit ciphers, software is 2-3 times faster than 601ce163ba0SEneas U de Queiroz qce at 256-bytes, 30% faster at 512, and about even at 768-bytes. 602ce163ba0SEneas U de Queiroz With 128-bit keys, the break-even point would be around 1024-bytes. 603ce163ba0SEneas U de Queiroz 604ce163ba0SEneas U de Queiroz The default is set a little lower, to 512 bytes, to balance the 605ce163ba0SEneas U de Queiroz cost in CPU usage. The minimum recommended setting is 16-bytes 606ce163ba0SEneas U de Queiroz (1 AES block), since AES-GCM will fail if you set it lower. 607ce163ba0SEneas U de Queiroz Setting this to zero will send all requests to the hardware. 608ce163ba0SEneas U de Queiroz 609ce163ba0SEneas U de Queiroz Note that 192-bit keys are not supported by the hardware and are 610ce163ba0SEneas U de Queiroz always processed by the software fallback, and all DES requests 611ce163ba0SEneas U de Queiroz are done by the hardware. 612ce163ba0SEneas U de Queiroz 613ceec5f5bSVinod Koulconfig CRYPTO_DEV_QCOM_RNG 614ceec5f5bSVinod Koul tristate "Qualcomm Random Number Generator Driver" 615ceec5f5bSVinod Koul depends on ARCH_QCOM || COMPILE_TEST 616ceec5f5bSVinod Koul select CRYPTO_RNG 617ceec5f5bSVinod Koul help 618ceec5f5bSVinod Koul This driver provides support for the Random Number 619ceec5f5bSVinod Koul Generator hardware found on Qualcomm SoCs. 620ceec5f5bSVinod Koul 621ceec5f5bSVinod Koul To compile this driver as a module, choose M here. The 622ceec5f5bSVinod Koul module will be called qcom-rng. If unsure, say N. 623ceec5f5bSVinod Koul 624d2e3ae6fSLeonidas S. Barbosaconfig CRYPTO_DEV_VMX 625d2e3ae6fSLeonidas S. Barbosa bool "Support for VMX cryptographic acceleration instructions" 626f1ab4287SMichael Ellerman depends on PPC64 && VSX 627d2e3ae6fSLeonidas S. Barbosa help 628d2e3ae6fSLeonidas S. Barbosa Support for VMX cryptographic acceleration instructions. 629d2e3ae6fSLeonidas S. Barbosa 630d2e3ae6fSLeonidas S. Barbosasource "drivers/crypto/vmx/Kconfig" 631d2e3ae6fSLeonidas S. Barbosa 632d358f1abSJames Hartleyconfig CRYPTO_DEV_IMGTEC_HASH 633d358f1abSJames Hartley tristate "Imagination Technologies hardware hash accelerator" 6348c98ebd7SGeert Uytterhoeven depends on MIPS || COMPILE_TEST 635d358f1abSJames Hartley select CRYPTO_MD5 636d358f1abSJames Hartley select CRYPTO_SHA1 637d358f1abSJames Hartley select CRYPTO_SHA256 638d358f1abSJames Hartley select CRYPTO_HASH 639d358f1abSJames Hartley help 640d358f1abSJames Hartley This driver interfaces with the Imagination Technologies 641d358f1abSJames Hartley hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 642d358f1abSJames Hartley hashing algorithms. 643d358f1abSJames Hartley 644433cd2c6SZain Wangconfig CRYPTO_DEV_ROCKCHIP 645433cd2c6SZain Wang tristate "Rockchip's Cryptographic Engine driver" 646433cd2c6SZain Wang depends on OF && ARCH_ROCKCHIP 64768ef8af0SCorentin Labbe depends on PM 64868ef8af0SCorentin Labbe select CRYPTO_ECB 64968ef8af0SCorentin Labbe select CRYPTO_CBC 65068ef8af0SCorentin Labbe select CRYPTO_DES 651433cd2c6SZain Wang select CRYPTO_AES 65257d67c6eSCorentin Labbe select CRYPTO_ENGINE 65304007b0eSArd Biesheuvel select CRYPTO_LIB_DES 654bfd927ffSZain Wang select CRYPTO_MD5 655bfd927ffSZain Wang select CRYPTO_SHA1 656bfd927ffSZain Wang select CRYPTO_SHA256 657bfd927ffSZain Wang select CRYPTO_HASH 658b95bba5dSEric Biggers select CRYPTO_SKCIPHER 659433cd2c6SZain Wang 660433cd2c6SZain Wang help 661433cd2c6SZain Wang This driver interfaces with the hardware crypto accelerator. 662433cd2c6SZain Wang Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. 663433cd2c6SZain Wang 66448d904d4SCorentin Labbeconfig CRYPTO_DEV_ROCKCHIP_DEBUG 66548d904d4SCorentin Labbe bool "Enable Rockchip crypto stats" 66648d904d4SCorentin Labbe depends on CRYPTO_DEV_ROCKCHIP 66748d904d4SCorentin Labbe depends on DEBUG_FS 66848d904d4SCorentin Labbe help 66948d904d4SCorentin Labbe Say y to enable Rockchip crypto debug stats. 67048d904d4SCorentin Labbe This will create /sys/kernel/debug/rk3288_crypto/stats for displaying 67148d904d4SCorentin Labbe the number of requests per algorithm and other internal stats. 67248d904d4SCorentin Labbe 67348d904d4SCorentin Labbe 6744d96f7d4SKalyani Akulaconfig CRYPTO_DEV_ZYNQMP_AES 6754d96f7d4SKalyani Akula tristate "Support for Xilinx ZynqMP AES hw accelerator" 6764d96f7d4SKalyani Akula depends on ZYNQMP_FIRMWARE || COMPILE_TEST 6774d96f7d4SKalyani Akula select CRYPTO_AES 6784d96f7d4SKalyani Akula select CRYPTO_ENGINE 6794d96f7d4SKalyani Akula select CRYPTO_AEAD 6804d96f7d4SKalyani Akula help 6814d96f7d4SKalyani Akula Xilinx ZynqMP has AES-GCM engine used for symmetric key 6824d96f7d4SKalyani Akula encryption and decryption. This driver interfaces with AES hw 6834d96f7d4SKalyani Akula accelerator. Select this if you want to use the ZynqMP module 6844d96f7d4SKalyani Akula for AES algorithms. 6854d96f7d4SKalyani Akula 6867ecc3e34SHarshaconfig CRYPTO_DEV_ZYNQMP_SHA3 6870e03b8fdSHerbert Xu tristate "Support for Xilinx ZynqMP SHA3 hardware accelerator" 6880e03b8fdSHerbert Xu depends on ZYNQMP_FIRMWARE || COMPILE_TEST 6897ecc3e34SHarsha select CRYPTO_SHA3 6907ecc3e34SHarsha help 6917ecc3e34SHarsha Xilinx ZynqMP has SHA3 engine used for secure hash calculation. 6927ecc3e34SHarsha This driver interfaces with SHA3 hardware engine. 6937ecc3e34SHarsha Select this if you want to use the ZynqMP module 6947ecc3e34SHarsha for SHA3 hash computation. 6957ecc3e34SHarsha 69602038fd6SHariprasad Shenaisource "drivers/crypto/chelsio/Kconfig" 69702038fd6SHariprasad Shenai 698dbaf0624SGongleisource "drivers/crypto/virtio/Kconfig" 699dbaf0624SGonglei 7009d12ba86SRob Riceconfig CRYPTO_DEV_BCM_SPU 7019d12ba86SRob Rice tristate "Broadcom symmetric crypto/hash acceleration support" 7029d12ba86SRob Rice depends on ARCH_BCM_IPROC 703efc856edSraveendra padasalagi depends on MAILBOX 7049d12ba86SRob Rice default m 705ab57b335SEric Biggers select CRYPTO_AUTHENC 70604007b0eSArd Biesheuvel select CRYPTO_LIB_DES 7079d12ba86SRob Rice select CRYPTO_MD5 7089d12ba86SRob Rice select CRYPTO_SHA1 7099d12ba86SRob Rice select CRYPTO_SHA256 7109d12ba86SRob Rice select CRYPTO_SHA512 7119d12ba86SRob Rice help 7129d12ba86SRob Rice This driver provides support for Broadcom crypto acceleration using the 713a9c01cd6SArd Biesheuvel Secure Processing Unit (SPU). The SPU driver registers skcipher, 7149d12ba86SRob Rice ahash, and aead algorithms with the kernel cryptographic API. 7159d12ba86SRob Rice 716b51dbe90SFabien DESSENNEsource "drivers/crypto/stm32/Kconfig" 717b51dbe90SFabien DESSENNE 7181b44c5a6SAntoine Ténartconfig CRYPTO_DEV_SAFEXCEL 7191b44c5a6SAntoine Ténart tristate "Inside Secure's SafeXcel cryptographic engine driver" 7206dc0e310SBrendan Higgins depends on (OF || PCI || COMPILE_TEST) && HAS_IOMEM 721363a90c2SArd Biesheuvel select CRYPTO_LIB_AES 722f6beaea3SAntoine Tenart select CRYPTO_AUTHENC 723b95bba5dSEric Biggers select CRYPTO_SKCIPHER 72404007b0eSArd Biesheuvel select CRYPTO_LIB_DES 7251b44c5a6SAntoine Ténart select CRYPTO_HASH 7261b44c5a6SAntoine Ténart select CRYPTO_HMAC 727293f89cfSOfer Heifetz select CRYPTO_MD5 7281b44c5a6SAntoine Ténart select CRYPTO_SHA1 7291b44c5a6SAntoine Ténart select CRYPTO_SHA256 7301b44c5a6SAntoine Ténart select CRYPTO_SHA512 731fc0f82b1SPascal van Leeuwen select CRYPTO_CHACHA20POLY1305 7321d448f27SPascal van Leeuwen select CRYPTO_SHA3 7331b44c5a6SAntoine Ténart help 7340f6e5c82SPascal van Leeuwen This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic 7350f6e5c82SPascal van Leeuwen engines designed by Inside Secure. It currently accelerates DES, 3DES and 7360f6e5c82SPascal van Leeuwen AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, 7370f6e5c82SPascal van Leeuwen SHA384 and SHA512 hash algorithms for both basic hash and HMAC. 7380f6e5c82SPascal van Leeuwen Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. 7391b44c5a6SAntoine Ténart 740a21eb94fSLars Perssonconfig CRYPTO_DEV_ARTPEC6 741a21eb94fSLars Persson tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." 742a21eb94fSLars Persson depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) 743a21eb94fSLars Persson depends on OF 744a21eb94fSLars Persson select CRYPTO_AEAD 745a21eb94fSLars Persson select CRYPTO_AES 746a21eb94fSLars Persson select CRYPTO_ALGAPI 747b95bba5dSEric Biggers select CRYPTO_SKCIPHER 748a21eb94fSLars Persson select CRYPTO_CTR 749a21eb94fSLars Persson select CRYPTO_HASH 750a21eb94fSLars Persson select CRYPTO_SHA1 751a21eb94fSLars Persson select CRYPTO_SHA256 752a21eb94fSLars Persson select CRYPTO_SHA512 753a21eb94fSLars Persson help 754a21eb94fSLars Persson Enables the driver for the on-chip crypto accelerator 755a21eb94fSLars Persson of Axis ARTPEC SoCs. 756a21eb94fSLars Persson 757a21eb94fSLars Persson To compile this driver as a module, choose M here. 758a21eb94fSLars Persson 7594c3f9727SGilad Ben-Yossefconfig CRYPTO_DEV_CCREE 7604c3f9727SGilad Ben-Yossef tristate "Support for ARM TrustZone CryptoCell family of security processors" 7614c3f9727SGilad Ben-Yossef depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA 762ed490503SHerbert Xu depends on HAS_IOMEM 7634c3f9727SGilad Ben-Yossef select CRYPTO_HASH 764b95bba5dSEric Biggers select CRYPTO_SKCIPHER 76504007b0eSArd Biesheuvel select CRYPTO_LIB_DES 7664c3f9727SGilad Ben-Yossef select CRYPTO_AEAD 7674c3f9727SGilad Ben-Yossef select CRYPTO_AUTHENC 7684c3f9727SGilad Ben-Yossef select CRYPTO_SHA1 7694c3f9727SGilad Ben-Yossef select CRYPTO_MD5 7704c3f9727SGilad Ben-Yossef select CRYPTO_SHA256 7714c3f9727SGilad Ben-Yossef select CRYPTO_SHA512 7724c3f9727SGilad Ben-Yossef select CRYPTO_HMAC 7734c3f9727SGilad Ben-Yossef select CRYPTO_AES 7744c3f9727SGilad Ben-Yossef select CRYPTO_CBC 7754c3f9727SGilad Ben-Yossef select CRYPTO_ECB 7764c3f9727SGilad Ben-Yossef select CRYPTO_CTR 7774c3f9727SGilad Ben-Yossef select CRYPTO_XTS 7782ae6feb1STianjia Zhang select CRYPTO_SM4_GENERIC 7792ae6feb1STianjia Zhang select CRYPTO_SM3_GENERIC 7804c3f9727SGilad Ben-Yossef help 78127b3b22dSGilad Ben-Yossef Say 'Y' to enable a driver for the REE interface of the Arm 78227b3b22dSGilad Ben-Yossef TrustZone CryptoCell family of processors. Currently the 7831c876a90SGilad Ben-Yossef CryptoCell 713, 703, 712, 710 and 630 are supported. 7844c3f9727SGilad Ben-Yossef Choose this if you wish to use hardware acceleration of 7854c3f9727SGilad Ben-Yossef cryptographic operations on the system REE. 7864c3f9727SGilad Ben-Yossef If unsure say Y. 7874c3f9727SGilad Ben-Yossef 788915e4e84SJonathan Cameronsource "drivers/crypto/hisilicon/Kconfig" 789915e4e84SJonathan Cameron 79048fe583fSCorentin Labbesource "drivers/crypto/amlogic/Kconfig" 79148fe583fSCorentin Labbe 7927694b6caSKeerthyconfig CRYPTO_DEV_SA2UL 7937694b6caSKeerthy tristate "Support for TI security accelerator" 7947694b6caSKeerthy depends on ARCH_K3 || COMPILE_TEST 7957694b6caSKeerthy select CRYPTO_AES 7967694b6caSKeerthy select CRYPTO_ALGAPI 79761f033baSHerbert Xu select CRYPTO_AUTHENC 7988832023eSSuman Anna select CRYPTO_DES 799bfe8fe93SRandy Dunlap select CRYPTO_SHA1 800bfe8fe93SRandy Dunlap select CRYPTO_SHA256 801bfe8fe93SRandy Dunlap select CRYPTO_SHA512 8027694b6caSKeerthy select HW_RANDOM 8037694b6caSKeerthy select SG_SPLIT 8047694b6caSKeerthy help 8057694b6caSKeerthy K3 devices include a security accelerator engine that may be 8067694b6caSKeerthy used for crypto offload. Select this if you want to use hardware 8077694b6caSKeerthy acceleration for cryptographic algorithms on these devices. 8087694b6caSKeerthy 809108713a7SNeal Liusource "drivers/crypto/aspeed/Kconfig" 810*42ef0e94SJia Jie Hosource "drivers/crypto/starfive/Kconfig" 81188574332SMike Healy 812b511431dSJan Engelhardtendif # CRYPTO_HW 813