18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_cimenuconfig CRYPTO_HW 48c2ecf20Sopenharmony_ci bool "Hardware crypto devices" 58c2ecf20Sopenharmony_ci default y 68c2ecf20Sopenharmony_ci help 78c2ecf20Sopenharmony_ci Say Y here to get to see options for hardware crypto devices and 88c2ecf20Sopenharmony_ci processors. This option alone does not add any kernel code. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci If you say N, all options in this submenu will be skipped and disabled. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciif CRYPTO_HW 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cisource "drivers/crypto/allwinner/Kconfig" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK 178c2ecf20Sopenharmony_ci tristate "Support for VIA PadLock ACE" 188c2ecf20Sopenharmony_ci depends on X86 && !UML 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci Some VIA processors come with an integrated crypto engine 218c2ecf20Sopenharmony_ci (so called VIA PadLock ACE, Advanced Cryptography Engine) 228c2ecf20Sopenharmony_ci that provides instructions for very fast cryptographic 238c2ecf20Sopenharmony_ci operations with supported algorithms. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci The instructions are used only when the CPU supports them. 268c2ecf20Sopenharmony_ci Otherwise software encryption is used. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK_AES 298c2ecf20Sopenharmony_ci tristate "PadLock driver for AES algorithm" 308c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_PADLOCK 318c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 328c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 338c2ecf20Sopenharmony_ci help 348c2ecf20Sopenharmony_ci Use VIA PadLock for AES algorithm. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci Available in VIA C3 and newer CPUs. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci If unsure say M. The compiled module will be 398c2ecf20Sopenharmony_ci called padlock-aes. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK_SHA 428c2ecf20Sopenharmony_ci tristate "PadLock driver for SHA1 and SHA256 algorithms" 438c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_PADLOCK 448c2ecf20Sopenharmony_ci select CRYPTO_HASH 458c2ecf20Sopenharmony_ci select CRYPTO_SHA1 468c2ecf20Sopenharmony_ci select CRYPTO_SHA256 478c2ecf20Sopenharmony_ci help 488c2ecf20Sopenharmony_ci Use VIA PadLock for SHA1/SHA256 algorithms. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci Available in VIA C7 and newer processors. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci If unsure say M. The compiled module will be 538c2ecf20Sopenharmony_ci called padlock-sha. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_GEODE 568c2ecf20Sopenharmony_ci tristate "Support for the Geode LX AES engine" 578c2ecf20Sopenharmony_ci depends on X86_32 && PCI 588c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 598c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci Say 'Y' here to use the AMD Geode LX processor on-board AES 628c2ecf20Sopenharmony_ci engine for the CryptoAPI AES algorithm. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 658c2ecf20Sopenharmony_ci will be called geode-aes. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ciconfig ZCRYPT 688c2ecf20Sopenharmony_ci tristate "Support for s390 cryptographic adapters" 698c2ecf20Sopenharmony_ci depends on S390 708c2ecf20Sopenharmony_ci select HW_RANDOM 718c2ecf20Sopenharmony_ci help 728c2ecf20Sopenharmony_ci Select this option if you want to enable support for 738c2ecf20Sopenharmony_ci s390 cryptographic adapters like: 748c2ecf20Sopenharmony_ci + Crypto Express 2 up to 7 Coprocessor (CEXxC) 758c2ecf20Sopenharmony_ci + Crypto Express 2 up to 7 Accelerator (CEXxA) 768c2ecf20Sopenharmony_ci + Crypto Express 4 up to 7 EP11 Coprocessor (CEXxP) 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciconfig ZCRYPT_DEBUG 798c2ecf20Sopenharmony_ci bool "Enable debug features for s390 cryptographic adapters" 808c2ecf20Sopenharmony_ci default n 818c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL 828c2ecf20Sopenharmony_ci depends on ZCRYPT 838c2ecf20Sopenharmony_ci help 848c2ecf20Sopenharmony_ci Say 'Y' here to enable some additional debug features on the 858c2ecf20Sopenharmony_ci s390 cryptographic adapters driver. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci There will be some more sysfs attributes displayed for ap cards 888c2ecf20Sopenharmony_ci and queues and some flags on crypto requests are interpreted as 898c2ecf20Sopenharmony_ci debugging messages to force error injection. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci Do not enable on production level kernel build. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci If unsure, say N. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig ZCRYPT_MULTIDEVNODES 968c2ecf20Sopenharmony_ci bool "Support for multiple zcrypt device nodes" 978c2ecf20Sopenharmony_ci default y 988c2ecf20Sopenharmony_ci depends on S390 998c2ecf20Sopenharmony_ci depends on ZCRYPT 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci With this option enabled the zcrypt device driver can 1028c2ecf20Sopenharmony_ci provide multiple devices nodes in /dev. Each device 1038c2ecf20Sopenharmony_ci node can get customized to limit access and narrow 1048c2ecf20Sopenharmony_ci down the use of the available crypto hardware. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ciconfig PKEY 1078c2ecf20Sopenharmony_ci tristate "Kernel API for protected key handling" 1088c2ecf20Sopenharmony_ci depends on S390 1098c2ecf20Sopenharmony_ci depends on ZCRYPT 1108c2ecf20Sopenharmony_ci help 1118c2ecf20Sopenharmony_ci With this option enabled the pkey kernel module provides an API 1128c2ecf20Sopenharmony_ci for creation and handling of protected keys. Other parts of the 1138c2ecf20Sopenharmony_ci kernel or userspace applications may use these functions. 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci Select this option if you want to enable the kernel and userspace 1168c2ecf20Sopenharmony_ci API for proteced key handling. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci Please note that creation of protected keys from secure keys 1198c2ecf20Sopenharmony_ci requires to have at least one CEX card in coprocessor mode 1208c2ecf20Sopenharmony_ci available at runtime. 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ciconfig CRYPTO_PAES_S390 1238c2ecf20Sopenharmony_ci tristate "PAES cipher algorithms" 1248c2ecf20Sopenharmony_ci depends on S390 1258c2ecf20Sopenharmony_ci depends on ZCRYPT 1268c2ecf20Sopenharmony_ci depends on PKEY 1278c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 1288c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 1298c2ecf20Sopenharmony_ci help 1308c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1318c2ecf20Sopenharmony_ci AES cipher algorithms for use with protected key. 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci Select this option if you want to use the paes cipher 1348c2ecf20Sopenharmony_ci for example to use protected key encrypted devices. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ciconfig CRYPTO_SHA1_S390 1378c2ecf20Sopenharmony_ci tristate "SHA1 digest algorithm" 1388c2ecf20Sopenharmony_ci depends on S390 1398c2ecf20Sopenharmony_ci select CRYPTO_HASH 1408c2ecf20Sopenharmony_ci help 1418c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1428c2ecf20Sopenharmony_ci SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci It is available as of z990. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ciconfig CRYPTO_SHA256_S390 1478c2ecf20Sopenharmony_ci tristate "SHA256 digest algorithm" 1488c2ecf20Sopenharmony_ci depends on S390 1498c2ecf20Sopenharmony_ci select CRYPTO_HASH 1508c2ecf20Sopenharmony_ci help 1518c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1528c2ecf20Sopenharmony_ci SHA256 secure hash standard (DFIPS 180-2). 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci It is available as of z9. 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ciconfig CRYPTO_SHA512_S390 1578c2ecf20Sopenharmony_ci tristate "SHA384 and SHA512 digest algorithm" 1588c2ecf20Sopenharmony_ci depends on S390 1598c2ecf20Sopenharmony_ci select CRYPTO_HASH 1608c2ecf20Sopenharmony_ci help 1618c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1628c2ecf20Sopenharmony_ci SHA512 secure hash standard. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci It is available as of z10. 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciconfig CRYPTO_SHA3_256_S390 1678c2ecf20Sopenharmony_ci tristate "SHA3_224 and SHA3_256 digest algorithm" 1688c2ecf20Sopenharmony_ci depends on S390 1698c2ecf20Sopenharmony_ci select CRYPTO_HASH 1708c2ecf20Sopenharmony_ci help 1718c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1728c2ecf20Sopenharmony_ci SHA3_256 secure hash standard. 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci It is available as of z14. 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ciconfig CRYPTO_SHA3_512_S390 1778c2ecf20Sopenharmony_ci tristate "SHA3_384 and SHA3_512 digest algorithm" 1788c2ecf20Sopenharmony_ci depends on S390 1798c2ecf20Sopenharmony_ci select CRYPTO_HASH 1808c2ecf20Sopenharmony_ci help 1818c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1828c2ecf20Sopenharmony_ci SHA3_512 secure hash standard. 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci It is available as of z14. 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ciconfig CRYPTO_DES_S390 1878c2ecf20Sopenharmony_ci tristate "DES and Triple DES cipher algorithms" 1888c2ecf20Sopenharmony_ci depends on S390 1898c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 1908c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 1918c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 1928c2ecf20Sopenharmony_ci help 1938c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 1948c2ecf20Sopenharmony_ci DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci As of z990 the ECB and CBC mode are hardware accelerated. 1978c2ecf20Sopenharmony_ci As of z196 the CTR mode is hardware accelerated. 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ciconfig CRYPTO_AES_S390 2008c2ecf20Sopenharmony_ci tristate "AES cipher algorithms" 2018c2ecf20Sopenharmony_ci depends on S390 2028c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 2038c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 2048c2ecf20Sopenharmony_ci help 2058c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of the 2068c2ecf20Sopenharmony_ci AES cipher algorithms (FIPS-197). 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci As of z9 the ECB and CBC modes are hardware accelerated 2098c2ecf20Sopenharmony_ci for 128 bit keys. 2108c2ecf20Sopenharmony_ci As of z10 the ECB and CBC modes are hardware accelerated 2118c2ecf20Sopenharmony_ci for all AES key sizes. 2128c2ecf20Sopenharmony_ci As of z196 the CTR mode is hardware accelerated for all AES 2138c2ecf20Sopenharmony_ci key sizes and XTS mode is hardware accelerated for 256 and 2148c2ecf20Sopenharmony_ci 512 bit keys. 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ciconfig S390_PRNG 2178c2ecf20Sopenharmony_ci tristate "Pseudo random number generator device driver" 2188c2ecf20Sopenharmony_ci depends on S390 2198c2ecf20Sopenharmony_ci default "m" 2208c2ecf20Sopenharmony_ci help 2218c2ecf20Sopenharmony_ci Select this option if you want to use the s390 pseudo random number 2228c2ecf20Sopenharmony_ci generator. The PRNG is part of the cryptographic processor functions 2238c2ecf20Sopenharmony_ci and uses triple-DES to generate secure random numbers like the 2248c2ecf20Sopenharmony_ci ANSI X9.17 standard. User-space programs access the 2258c2ecf20Sopenharmony_ci pseudo-random-number device through the char device /dev/prandom. 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci It is available as of z9. 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ciconfig CRYPTO_GHASH_S390 2308c2ecf20Sopenharmony_ci tristate "GHASH hash function" 2318c2ecf20Sopenharmony_ci depends on S390 2328c2ecf20Sopenharmony_ci select CRYPTO_HASH 2338c2ecf20Sopenharmony_ci help 2348c2ecf20Sopenharmony_ci This is the s390 hardware accelerated implementation of GHASH, 2358c2ecf20Sopenharmony_ci the hash function used in GCM (Galois/Counter mode). 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci It is available as of z196. 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ciconfig CRYPTO_CRC32_S390 2408c2ecf20Sopenharmony_ci tristate "CRC-32 algorithms" 2418c2ecf20Sopenharmony_ci depends on S390 2428c2ecf20Sopenharmony_ci select CRYPTO_HASH 2438c2ecf20Sopenharmony_ci select CRC32 2448c2ecf20Sopenharmony_ci help 2458c2ecf20Sopenharmony_ci Select this option if you want to use hardware accelerated 2468c2ecf20Sopenharmony_ci implementations of CRC algorithms. With this option, you 2478c2ecf20Sopenharmony_ci can optimize the computation of CRC-32 (IEEE 802.3 Ethernet) 2488c2ecf20Sopenharmony_ci and CRC-32C (Castagnoli). 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci It is available with IBM z13 or later. 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_NIAGARA2 2538c2ecf20Sopenharmony_ci tristate "Niagara2 Stream Processing Unit driver" 2548c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 2558c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 2568c2ecf20Sopenharmony_ci select CRYPTO_HASH 2578c2ecf20Sopenharmony_ci select CRYPTO_MD5 2588c2ecf20Sopenharmony_ci select CRYPTO_SHA1 2598c2ecf20Sopenharmony_ci select CRYPTO_SHA256 2608c2ecf20Sopenharmony_ci depends on SPARC64 2618c2ecf20Sopenharmony_ci help 2628c2ecf20Sopenharmony_ci Each core of a Niagara2 processor contains a Stream 2638c2ecf20Sopenharmony_ci Processing Unit, which itself contains several cryptographic 2648c2ecf20Sopenharmony_ci sub-units. One set provides the Modular Arithmetic Unit, 2658c2ecf20Sopenharmony_ci used for SSL offload. The other set provides the Cipher 2668c2ecf20Sopenharmony_ci Group, which can perform encryption, decryption, hashing, 2678c2ecf20Sopenharmony_ci checksumming, and raw copies. 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_HIFN_795X 2708c2ecf20Sopenharmony_ci tristate "Driver HIFN 795x crypto accelerator chips" 2718c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 2728c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 2738c2ecf20Sopenharmony_ci select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG 2748c2ecf20Sopenharmony_ci depends on PCI 2758c2ecf20Sopenharmony_ci depends on !ARCH_DMA_ADDR_T_64BIT 2768c2ecf20Sopenharmony_ci help 2778c2ecf20Sopenharmony_ci This option allows you to have support for HIFN 795x crypto adapters. 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_HIFN_795X_RNG 2808c2ecf20Sopenharmony_ci bool "HIFN 795x random number generator" 2818c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_HIFN_795X 2828c2ecf20Sopenharmony_ci help 2838c2ecf20Sopenharmony_ci Select this option if you want to enable the random number generator 2848c2ecf20Sopenharmony_ci on the HIFN 795x crypto adapters. 2858c2ecf20Sopenharmony_ci 2868c2ecf20Sopenharmony_cisource "drivers/crypto/caam/Kconfig" 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_TALITOS 2898c2ecf20Sopenharmony_ci tristate "Talitos Freescale Security Engine (SEC)" 2908c2ecf20Sopenharmony_ci select CRYPTO_AEAD 2918c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 2928c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 2938c2ecf20Sopenharmony_ci select CRYPTO_HASH 2948c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 2958c2ecf20Sopenharmony_ci select HW_RANDOM 2968c2ecf20Sopenharmony_ci depends on FSL_SOC 2978c2ecf20Sopenharmony_ci help 2988c2ecf20Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) 2998c2ecf20Sopenharmony_ci to offload cryptographic algorithm computation. 3008c2ecf20Sopenharmony_ci 3018c2ecf20Sopenharmony_ci The Freescale SEC is present on PowerQUICC 'E' processors, such 3028c2ecf20Sopenharmony_ci as the MPC8349E and MPC8548E. 3038c2ecf20Sopenharmony_ci 3048c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 3058c2ecf20Sopenharmony_ci will be called talitos. 3068c2ecf20Sopenharmony_ci 3078c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_TALITOS1 3088c2ecf20Sopenharmony_ci bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" 3098c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_TALITOS 3108c2ecf20Sopenharmony_ci depends on PPC_8xx || PPC_82xx 3118c2ecf20Sopenharmony_ci default y 3128c2ecf20Sopenharmony_ci help 3138c2ecf20Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 3148c2ecf20Sopenharmony_ci found on MPC82xx or the Freescale Security Engine (SEC Lite) 3158c2ecf20Sopenharmony_ci version 1.2 found on MPC8xx 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_TALITOS2 3188c2ecf20Sopenharmony_ci bool "SEC2+ (SEC version 2.0 or upper)" 3198c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_TALITOS 3208c2ecf20Sopenharmony_ci default y if !PPC_8xx 3218c2ecf20Sopenharmony_ci help 3228c2ecf20Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) 3238c2ecf20Sopenharmony_ci version 2 and following as found on MPC83xx, MPC85xx, etc ... 3248c2ecf20Sopenharmony_ci 3258c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_IXP4XX 3268c2ecf20Sopenharmony_ci tristate "Driver for IXP4xx crypto hardware acceleration" 3278c2ecf20Sopenharmony_ci depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE 3288c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 3298c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3308c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 3318c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3328c2ecf20Sopenharmony_ci help 3338c2ecf20Sopenharmony_ci Driver for the IXP4xx NPE crypto engine. 3348c2ecf20Sopenharmony_ci 3358c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_PPC4XX 3368c2ecf20Sopenharmony_ci tristate "Driver AMCC PPC4xx crypto accelerator" 3378c2ecf20Sopenharmony_ci depends on PPC && 4xx 3388c2ecf20Sopenharmony_ci select CRYPTO_HASH 3398c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3408c2ecf20Sopenharmony_ci select CRYPTO_AES 3418c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 3428c2ecf20Sopenharmony_ci select CRYPTO_CCM 3438c2ecf20Sopenharmony_ci select CRYPTO_CTR 3448c2ecf20Sopenharmony_ci select CRYPTO_GCM 3458c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3468c2ecf20Sopenharmony_ci help 3478c2ecf20Sopenharmony_ci This option allows you to have support for AMCC crypto acceleration. 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ciconfig HW_RANDOM_PPC4XX 3508c2ecf20Sopenharmony_ci bool "PowerPC 4xx generic true random number generator support" 3518c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_PPC4XX && HW_RANDOM 3528c2ecf20Sopenharmony_ci default y 3538c2ecf20Sopenharmony_ci help 3548c2ecf20Sopenharmony_ci This option provides the kernel-side support for the TRNG hardware 3558c2ecf20Sopenharmony_ci found in the security function of some PowerPC 4xx SoCs. 3568c2ecf20Sopenharmony_ci 3578c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_OMAP 3588c2ecf20Sopenharmony_ci tristate "Support for OMAP crypto HW accelerators" 3598c2ecf20Sopenharmony_ci depends on ARCH_OMAP2PLUS 3608c2ecf20Sopenharmony_ci help 3618c2ecf20Sopenharmony_ci OMAP processors have various crypto HW accelerators. Select this if 3628c2ecf20Sopenharmony_ci you want to use the OMAP modules for any of the crypto algorithms. 3638c2ecf20Sopenharmony_ci 3648c2ecf20Sopenharmony_ciif CRYPTO_DEV_OMAP 3658c2ecf20Sopenharmony_ci 3668c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_OMAP_SHAM 3678c2ecf20Sopenharmony_ci tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" 3688c2ecf20Sopenharmony_ci depends on ARCH_OMAP2PLUS 3698c2ecf20Sopenharmony_ci select CRYPTO_ENGINE 3708c2ecf20Sopenharmony_ci select CRYPTO_SHA1 3718c2ecf20Sopenharmony_ci select CRYPTO_MD5 3728c2ecf20Sopenharmony_ci select CRYPTO_SHA256 3738c2ecf20Sopenharmony_ci select CRYPTO_SHA512 3748c2ecf20Sopenharmony_ci select CRYPTO_HMAC 3758c2ecf20Sopenharmony_ci help 3768c2ecf20Sopenharmony_ci OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you 3778c2ecf20Sopenharmony_ci want to use the OMAP module for MD5/SHA1/SHA2 algorithms. 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_OMAP_AES 3808c2ecf20Sopenharmony_ci tristate "Support for OMAP AES hw engine" 3818c2ecf20Sopenharmony_ci depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS 3828c2ecf20Sopenharmony_ci select CRYPTO_AES 3838c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3848c2ecf20Sopenharmony_ci select CRYPTO_ENGINE 3858c2ecf20Sopenharmony_ci select CRYPTO_CBC 3868c2ecf20Sopenharmony_ci select CRYPTO_ECB 3878c2ecf20Sopenharmony_ci select CRYPTO_CTR 3888c2ecf20Sopenharmony_ci select CRYPTO_AEAD 3898c2ecf20Sopenharmony_ci help 3908c2ecf20Sopenharmony_ci OMAP processors have AES module accelerator. Select this if you 3918c2ecf20Sopenharmony_ci want to use the OMAP module for AES algorithms. 3928c2ecf20Sopenharmony_ci 3938c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_OMAP_DES 3948c2ecf20Sopenharmony_ci tristate "Support for OMAP DES/3DES hw engine" 3958c2ecf20Sopenharmony_ci depends on ARCH_OMAP2PLUS 3968c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 3978c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 3988c2ecf20Sopenharmony_ci select CRYPTO_ENGINE 3998c2ecf20Sopenharmony_ci help 4008c2ecf20Sopenharmony_ci OMAP processors have DES/3DES module accelerator. Select this if you 4018c2ecf20Sopenharmony_ci want to use the OMAP module for DES and 3DES algorithms. Currently 4028c2ecf20Sopenharmony_ci the ECB and CBC modes of operation are supported by the driver. Also 4038c2ecf20Sopenharmony_ci accesses made on unaligned boundaries are supported. 4048c2ecf20Sopenharmony_ci 4058c2ecf20Sopenharmony_ciendif # CRYPTO_DEV_OMAP 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_PICOXCELL 4088c2ecf20Sopenharmony_ci tristate "Support for picoXcell IPSEC and Layer2 crypto engines" 4098c2ecf20Sopenharmony_ci depends on (ARCH_PICOXCELL || COMPILE_TEST) && HAVE_CLK 4108c2ecf20Sopenharmony_ci select CRYPTO_AEAD 4118c2ecf20Sopenharmony_ci select CRYPTO_AES 4128c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 4138c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4148c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 4158c2ecf20Sopenharmony_ci select CRYPTO_CBC 4168c2ecf20Sopenharmony_ci select CRYPTO_ECB 4178c2ecf20Sopenharmony_ci select CRYPTO_SEQIV 4188c2ecf20Sopenharmony_ci help 4198c2ecf20Sopenharmony_ci This option enables support for the hardware offload engines in the 4208c2ecf20Sopenharmony_ci Picochip picoXcell SoC devices. Select this for IPSEC ESP offload 4218c2ecf20Sopenharmony_ci and for 3gpp Layer 2 ciphering support. 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci Saying m here will build a module named picoxcell_crypto. 4248c2ecf20Sopenharmony_ci 4258c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_SAHARA 4268c2ecf20Sopenharmony_ci tristate "Support for SAHARA crypto accelerator" 4278c2ecf20Sopenharmony_ci depends on ARCH_MXC && OF 4288c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4298c2ecf20Sopenharmony_ci select CRYPTO_AES 4308c2ecf20Sopenharmony_ci select CRYPTO_ECB 4318c2ecf20Sopenharmony_ci help 4328c2ecf20Sopenharmony_ci This option enables support for the SAHARA HW crypto accelerator 4338c2ecf20Sopenharmony_ci found in some Freescale i.MX chips. 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_EXYNOS_RNG 4368c2ecf20Sopenharmony_ci tristate "Exynos HW pseudo random number generator support" 4378c2ecf20Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 4388c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4398c2ecf20Sopenharmony_ci select CRYPTO_RNG 4408c2ecf20Sopenharmony_ci help 4418c2ecf20Sopenharmony_ci This driver provides kernel-side support through the 4428c2ecf20Sopenharmony_ci cryptographic API for the pseudo random number generator hardware 4438c2ecf20Sopenharmony_ci found on Exynos SoCs. 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 4468c2ecf20Sopenharmony_ci module will be called exynos-rng. 4478c2ecf20Sopenharmony_ci 4488c2ecf20Sopenharmony_ci If unsure, say Y. 4498c2ecf20Sopenharmony_ci 4508c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_S5P 4518c2ecf20Sopenharmony_ci tristate "Support for Samsung S5PV210/Exynos crypto accelerator" 4528c2ecf20Sopenharmony_ci depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 4538c2ecf20Sopenharmony_ci depends on HAS_IOMEM 4548c2ecf20Sopenharmony_ci select CRYPTO_AES 4558c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 4568c2ecf20Sopenharmony_ci help 4578c2ecf20Sopenharmony_ci This option allows you to have support for S5P crypto acceleration. 4588c2ecf20Sopenharmony_ci Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES 4598c2ecf20Sopenharmony_ci algorithms execution. 4608c2ecf20Sopenharmony_ci 4618c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_EXYNOS_HASH 4628c2ecf20Sopenharmony_ci bool "Support for Samsung Exynos HASH accelerator" 4638c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_S5P 4648c2ecf20Sopenharmony_ci depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m 4658c2ecf20Sopenharmony_ci select CRYPTO_SHA1 4668c2ecf20Sopenharmony_ci select CRYPTO_MD5 4678c2ecf20Sopenharmony_ci select CRYPTO_SHA256 4688c2ecf20Sopenharmony_ci help 4698c2ecf20Sopenharmony_ci Select this to offload Exynos from HASH MD5/SHA1/SHA256. 4708c2ecf20Sopenharmony_ci This will select software SHA1, MD5 and SHA256 as they are 4718c2ecf20Sopenharmony_ci needed for small and zero-size messages. 4728c2ecf20Sopenharmony_ci HASH algorithms will be disabled if EXYNOS_RNG 4738c2ecf20Sopenharmony_ci is enabled due to hw conflict. 4748c2ecf20Sopenharmony_ci 4758c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_NX 4768c2ecf20Sopenharmony_ci bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" 4778c2ecf20Sopenharmony_ci depends on PPC64 4788c2ecf20Sopenharmony_ci help 4798c2ecf20Sopenharmony_ci This enables support for the NX hardware cryptographic accelerator 4808c2ecf20Sopenharmony_ci coprocessor that is in IBM PowerPC P7+ or later processors. This 4818c2ecf20Sopenharmony_ci does not actually enable any drivers, it only allows you to select 4828c2ecf20Sopenharmony_ci which acceleration type (encryption and/or compression) to enable. 4838c2ecf20Sopenharmony_ci 4848c2ecf20Sopenharmony_ciif CRYPTO_DEV_NX 4858c2ecf20Sopenharmony_ci source "drivers/crypto/nx/Kconfig" 4868c2ecf20Sopenharmony_ciendif 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_UX500 4898c2ecf20Sopenharmony_ci tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" 4908c2ecf20Sopenharmony_ci depends on ARCH_U8500 4918c2ecf20Sopenharmony_ci help 4928c2ecf20Sopenharmony_ci Driver for ST-Ericsson UX500 crypto engine. 4938c2ecf20Sopenharmony_ci 4948c2ecf20Sopenharmony_ciif CRYPTO_DEV_UX500 4958c2ecf20Sopenharmony_ci source "drivers/crypto/ux500/Kconfig" 4968c2ecf20Sopenharmony_ciendif # if CRYPTO_DEV_UX500 4978c2ecf20Sopenharmony_ci 4988c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_AUTHENC 4998c2ecf20Sopenharmony_ci bool "Support for Atmel IPSEC/SSL hw accelerator" 5008c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 5018c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_ATMEL_AES 5028c2ecf20Sopenharmony_ci help 5038c2ecf20Sopenharmony_ci Some Atmel processors can combine the AES and SHA hw accelerators 5048c2ecf20Sopenharmony_ci to enhance support of IPSEC/SSL. 5058c2ecf20Sopenharmony_ci Select this if you want to use the Atmel modules for 5068c2ecf20Sopenharmony_ci authenc(hmac(shaX),Y(cbc)) algorithms. 5078c2ecf20Sopenharmony_ci 5088c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_AES 5098c2ecf20Sopenharmony_ci tristate "Support for Atmel AES hw accelerator" 5108c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 5118c2ecf20Sopenharmony_ci select CRYPTO_AES 5128c2ecf20Sopenharmony_ci select CRYPTO_AEAD 5138c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 5148c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC 5158c2ecf20Sopenharmony_ci select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC 5168c2ecf20Sopenharmony_ci help 5178c2ecf20Sopenharmony_ci Some Atmel processors have AES hw accelerator. 5188c2ecf20Sopenharmony_ci Select this if you want to use the Atmel module for 5198c2ecf20Sopenharmony_ci AES algorithms. 5208c2ecf20Sopenharmony_ci 5218c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5228c2ecf20Sopenharmony_ci will be called atmel-aes. 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_TDES 5258c2ecf20Sopenharmony_ci tristate "Support for Atmel DES/TDES hw accelerator" 5268c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 5278c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 5288c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 5298c2ecf20Sopenharmony_ci help 5308c2ecf20Sopenharmony_ci Some Atmel processors have DES/TDES hw accelerator. 5318c2ecf20Sopenharmony_ci Select this if you want to use the Atmel module for 5328c2ecf20Sopenharmony_ci DES/TDES algorithms. 5338c2ecf20Sopenharmony_ci 5348c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5358c2ecf20Sopenharmony_ci will be called atmel-tdes. 5368c2ecf20Sopenharmony_ci 5378c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_SHA 5388c2ecf20Sopenharmony_ci tristate "Support for Atmel SHA hw accelerator" 5398c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 5408c2ecf20Sopenharmony_ci select CRYPTO_HASH 5418c2ecf20Sopenharmony_ci help 5428c2ecf20Sopenharmony_ci Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 5438c2ecf20Sopenharmony_ci hw accelerator. 5448c2ecf20Sopenharmony_ci Select this if you want to use the Atmel module for 5458c2ecf20Sopenharmony_ci SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. 5468c2ecf20Sopenharmony_ci 5478c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5488c2ecf20Sopenharmony_ci will be called atmel-sha. 5498c2ecf20Sopenharmony_ci 5508c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_I2C 5518c2ecf20Sopenharmony_ci tristate 5528c2ecf20Sopenharmony_ci select BITREVERSE 5538c2ecf20Sopenharmony_ci 5548c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_ECC 5558c2ecf20Sopenharmony_ci tristate "Support for Microchip / Atmel ECC hw accelerator" 5568c2ecf20Sopenharmony_ci depends on I2C 5578c2ecf20Sopenharmony_ci select CRYPTO_DEV_ATMEL_I2C 5588c2ecf20Sopenharmony_ci select CRYPTO_ECDH 5598c2ecf20Sopenharmony_ci select CRC16 5608c2ecf20Sopenharmony_ci help 5618c2ecf20Sopenharmony_ci Microhip / Atmel ECC hw accelerator. 5628c2ecf20Sopenharmony_ci Select this if you want to use the Microchip / Atmel module for 5638c2ecf20Sopenharmony_ci ECDH algorithm. 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5668c2ecf20Sopenharmony_ci will be called atmel-ecc. 5678c2ecf20Sopenharmony_ci 5688c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_SHA204A 5698c2ecf20Sopenharmony_ci tristate "Support for Microchip / Atmel SHA accelerator and RNG" 5708c2ecf20Sopenharmony_ci depends on I2C 5718c2ecf20Sopenharmony_ci select CRYPTO_DEV_ATMEL_I2C 5728c2ecf20Sopenharmony_ci select HW_RANDOM 5738c2ecf20Sopenharmony_ci select CRC16 5748c2ecf20Sopenharmony_ci help 5758c2ecf20Sopenharmony_ci Microhip / Atmel SHA accelerator and RNG. 5768c2ecf20Sopenharmony_ci Select this if you want to use the Microchip / Atmel SHA204A 5778c2ecf20Sopenharmony_ci module as a random number generator. (Other functions of the 5788c2ecf20Sopenharmony_ci chip are currently not exposed by this driver) 5798c2ecf20Sopenharmony_ci 5808c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5818c2ecf20Sopenharmony_ci will be called atmel-sha204a. 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CCP 5848c2ecf20Sopenharmony_ci bool "Support for AMD Secure Processor" 5858c2ecf20Sopenharmony_ci depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM 5868c2ecf20Sopenharmony_ci help 5878c2ecf20Sopenharmony_ci The AMD Secure Processor provides support for the Cryptographic Coprocessor 5888c2ecf20Sopenharmony_ci (CCP) and the Platform Security Processor (PSP) devices. 5898c2ecf20Sopenharmony_ci 5908c2ecf20Sopenharmony_ciif CRYPTO_DEV_CCP 5918c2ecf20Sopenharmony_ci source "drivers/crypto/ccp/Kconfig" 5928c2ecf20Sopenharmony_ciendif 5938c2ecf20Sopenharmony_ci 5948c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_MXS_DCP 5958c2ecf20Sopenharmony_ci tristate "Support for Freescale MXS DCP" 5968c2ecf20Sopenharmony_ci depends on (ARCH_MXS || ARCH_MXC) 5978c2ecf20Sopenharmony_ci select STMP_DEVICE 5988c2ecf20Sopenharmony_ci select CRYPTO_CBC 5998c2ecf20Sopenharmony_ci select CRYPTO_ECB 6008c2ecf20Sopenharmony_ci select CRYPTO_AES 6018c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 6028c2ecf20Sopenharmony_ci select CRYPTO_HASH 6038c2ecf20Sopenharmony_ci help 6048c2ecf20Sopenharmony_ci The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB 6058c2ecf20Sopenharmony_ci co-processor on the die. 6068c2ecf20Sopenharmony_ci 6078c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 6088c2ecf20Sopenharmony_ci will be called mxs-dcp. 6098c2ecf20Sopenharmony_ci 6108c2ecf20Sopenharmony_cisource "drivers/crypto/qat/Kconfig" 6118c2ecf20Sopenharmony_cisource "drivers/crypto/cavium/cpt/Kconfig" 6128c2ecf20Sopenharmony_cisource "drivers/crypto/cavium/nitrox/Kconfig" 6138c2ecf20Sopenharmony_cisource "drivers/crypto/marvell/Kconfig" 6148c2ecf20Sopenharmony_ci 6158c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CAVIUM_ZIP 6168c2ecf20Sopenharmony_ci tristate "Cavium ZIP driver" 6178c2ecf20Sopenharmony_ci depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 6188c2ecf20Sopenharmony_ci help 6198c2ecf20Sopenharmony_ci Select this option if you want to enable compression/decompression 6208c2ecf20Sopenharmony_ci acceleration on Cavium's ARM based SoCs 6218c2ecf20Sopenharmony_ci 6228c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_QCE 6238c2ecf20Sopenharmony_ci tristate "Qualcomm crypto engine accelerator" 6248c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 6258c2ecf20Sopenharmony_ci depends on HAS_IOMEM 6268c2ecf20Sopenharmony_ci help 6278c2ecf20Sopenharmony_ci This driver supports Qualcomm crypto engine accelerator 6288c2ecf20Sopenharmony_ci hardware. To compile this driver as a module, choose M here. The 6298c2ecf20Sopenharmony_ci module will be called qcrypto. 6308c2ecf20Sopenharmony_ci 6318c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_QCE_SKCIPHER 6328c2ecf20Sopenharmony_ci bool 6338c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_QCE 6348c2ecf20Sopenharmony_ci select CRYPTO_AES 6358c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 6368c2ecf20Sopenharmony_ci select CRYPTO_ECB 6378c2ecf20Sopenharmony_ci select CRYPTO_CBC 6388c2ecf20Sopenharmony_ci select CRYPTO_XTS 6398c2ecf20Sopenharmony_ci select CRYPTO_CTR 6408c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 6418c2ecf20Sopenharmony_ci 6428c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_QCE_SHA 6438c2ecf20Sopenharmony_ci bool 6448c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_QCE 6458c2ecf20Sopenharmony_ci select CRYPTO_SHA1 6468c2ecf20Sopenharmony_ci select CRYPTO_SHA256 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_cichoice 6498c2ecf20Sopenharmony_ci prompt "Algorithms enabled for QCE acceleration" 6508c2ecf20Sopenharmony_ci default CRYPTO_DEV_QCE_ENABLE_ALL 6518c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_QCE 6528c2ecf20Sopenharmony_ci help 6538c2ecf20Sopenharmony_ci This option allows to choose whether to build support for all algorihtms 6548c2ecf20Sopenharmony_ci (default), hashes-only, or skciphers-only. 6558c2ecf20Sopenharmony_ci 6568c2ecf20Sopenharmony_ci The QCE engine does not appear to scale as well as the CPU to handle 6578c2ecf20Sopenharmony_ci multiple crypto requests. While the ipq40xx chips have 4-core CPUs, the 6588c2ecf20Sopenharmony_ci QCE handles only 2 requests in parallel. 6598c2ecf20Sopenharmony_ci 6608c2ecf20Sopenharmony_ci Ipsec throughput seems to improve when disabling either family of 6618c2ecf20Sopenharmony_ci algorithms, sharing the load with the CPU. Enabling skciphers-only 6628c2ecf20Sopenharmony_ci appears to work best. 6638c2ecf20Sopenharmony_ci 6648c2ecf20Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_ALL 6658c2ecf20Sopenharmony_ci bool "All supported algorithms" 6668c2ecf20Sopenharmony_ci select CRYPTO_DEV_QCE_SKCIPHER 6678c2ecf20Sopenharmony_ci select CRYPTO_DEV_QCE_SHA 6688c2ecf20Sopenharmony_ci help 6698c2ecf20Sopenharmony_ci Enable all supported algorithms: 6708c2ecf20Sopenharmony_ci - AES (CBC, CTR, ECB, XTS) 6718c2ecf20Sopenharmony_ci - 3DES (CBC, ECB) 6728c2ecf20Sopenharmony_ci - DES (CBC, ECB) 6738c2ecf20Sopenharmony_ci - SHA1, HMAC-SHA1 6748c2ecf20Sopenharmony_ci - SHA256, HMAC-SHA256 6758c2ecf20Sopenharmony_ci 6768c2ecf20Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_SKCIPHER 6778c2ecf20Sopenharmony_ci bool "Symmetric-key ciphers only" 6788c2ecf20Sopenharmony_ci select CRYPTO_DEV_QCE_SKCIPHER 6798c2ecf20Sopenharmony_ci help 6808c2ecf20Sopenharmony_ci Enable symmetric-key ciphers only: 6818c2ecf20Sopenharmony_ci - AES (CBC, CTR, ECB, XTS) 6828c2ecf20Sopenharmony_ci - 3DES (ECB, CBC) 6838c2ecf20Sopenharmony_ci - DES (ECB, CBC) 6848c2ecf20Sopenharmony_ci 6858c2ecf20Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_SHA 6868c2ecf20Sopenharmony_ci bool "Hash/HMAC only" 6878c2ecf20Sopenharmony_ci select CRYPTO_DEV_QCE_SHA 6888c2ecf20Sopenharmony_ci help 6898c2ecf20Sopenharmony_ci Enable hashes/HMAC algorithms only: 6908c2ecf20Sopenharmony_ci - SHA1, HMAC-SHA1 6918c2ecf20Sopenharmony_ci - SHA256, HMAC-SHA256 6928c2ecf20Sopenharmony_ci 6938c2ecf20Sopenharmony_ciendchoice 6948c2ecf20Sopenharmony_ci 6958c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_QCE_SW_MAX_LEN 6968c2ecf20Sopenharmony_ci int "Default maximum request size to use software for AES" 6978c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_QCE && CRYPTO_DEV_QCE_SKCIPHER 6988c2ecf20Sopenharmony_ci default 512 6998c2ecf20Sopenharmony_ci help 7008c2ecf20Sopenharmony_ci This sets the default maximum request size to perform AES requests 7018c2ecf20Sopenharmony_ci using software instead of the crypto engine. It can be changed by 7028c2ecf20Sopenharmony_ci setting the aes_sw_max_len parameter. 7038c2ecf20Sopenharmony_ci 7048c2ecf20Sopenharmony_ci Small blocks are processed faster in software than hardware. 7058c2ecf20Sopenharmony_ci Considering the 256-bit ciphers, software is 2-3 times faster than 7068c2ecf20Sopenharmony_ci qce at 256-bytes, 30% faster at 512, and about even at 768-bytes. 7078c2ecf20Sopenharmony_ci With 128-bit keys, the break-even point would be around 1024-bytes. 7088c2ecf20Sopenharmony_ci 7098c2ecf20Sopenharmony_ci The default is set a little lower, to 512 bytes, to balance the 7108c2ecf20Sopenharmony_ci cost in CPU usage. The minimum recommended setting is 16-bytes 7118c2ecf20Sopenharmony_ci (1 AES block), since AES-GCM will fail if you set it lower. 7128c2ecf20Sopenharmony_ci Setting this to zero will send all requests to the hardware. 7138c2ecf20Sopenharmony_ci 7148c2ecf20Sopenharmony_ci Note that 192-bit keys are not supported by the hardware and are 7158c2ecf20Sopenharmony_ci always processed by the software fallback, and all DES requests 7168c2ecf20Sopenharmony_ci are done by the hardware. 7178c2ecf20Sopenharmony_ci 7188c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_QCOM_RNG 7198c2ecf20Sopenharmony_ci tristate "Qualcomm Random Number Generator Driver" 7208c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 7218c2ecf20Sopenharmony_ci select CRYPTO_RNG 7228c2ecf20Sopenharmony_ci help 7238c2ecf20Sopenharmony_ci This driver provides support for the Random Number 7248c2ecf20Sopenharmony_ci Generator hardware found on Qualcomm SoCs. 7258c2ecf20Sopenharmony_ci 7268c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here. The 7278c2ecf20Sopenharmony_ci module will be called qcom-rng. If unsure, say N. 7288c2ecf20Sopenharmony_ci 7298c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_VMX 7308c2ecf20Sopenharmony_ci bool "Support for VMX cryptographic acceleration instructions" 7318c2ecf20Sopenharmony_ci depends on PPC64 && VSX 7328c2ecf20Sopenharmony_ci help 7338c2ecf20Sopenharmony_ci Support for VMX cryptographic acceleration instructions. 7348c2ecf20Sopenharmony_ci 7358c2ecf20Sopenharmony_cisource "drivers/crypto/vmx/Kconfig" 7368c2ecf20Sopenharmony_ci 7378c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_IMGTEC_HASH 7388c2ecf20Sopenharmony_ci tristate "Imagination Technologies hardware hash accelerator" 7398c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 7408c2ecf20Sopenharmony_ci select CRYPTO_MD5 7418c2ecf20Sopenharmony_ci select CRYPTO_SHA1 7428c2ecf20Sopenharmony_ci select CRYPTO_SHA256 7438c2ecf20Sopenharmony_ci select CRYPTO_HASH 7448c2ecf20Sopenharmony_ci help 7458c2ecf20Sopenharmony_ci This driver interfaces with the Imagination Technologies 7468c2ecf20Sopenharmony_ci hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 7478c2ecf20Sopenharmony_ci hashing algorithms. 7488c2ecf20Sopenharmony_ci 7498c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ROCKCHIP 7508c2ecf20Sopenharmony_ci tristate "Rockchip's Cryptographic Engine driver" 7518c2ecf20Sopenharmony_ci depends on OF && ARCH_ROCKCHIP 7528c2ecf20Sopenharmony_ci depends on PM 7538c2ecf20Sopenharmony_ci select CRYPTO_ECB 7548c2ecf20Sopenharmony_ci select CRYPTO_CBC 7558c2ecf20Sopenharmony_ci select CRYPTO_DES 7568c2ecf20Sopenharmony_ci select CRYPTO_AES 7578c2ecf20Sopenharmony_ci select CRYPTO_ENGINE 7588c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 7598c2ecf20Sopenharmony_ci select CRYPTO_MD5 7608c2ecf20Sopenharmony_ci select CRYPTO_SHA1 7618c2ecf20Sopenharmony_ci select CRYPTO_SHA256 7628c2ecf20Sopenharmony_ci select CRYPTO_HASH 7638c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 7648c2ecf20Sopenharmony_ci 7658c2ecf20Sopenharmony_ci help 7668c2ecf20Sopenharmony_ci This driver interfaces with the hardware crypto accelerator. 7678c2ecf20Sopenharmony_ci Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. 7688c2ecf20Sopenharmony_ci 7698c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ZYNQMP_AES 7708c2ecf20Sopenharmony_ci tristate "Support for Xilinx ZynqMP AES hw accelerator" 7718c2ecf20Sopenharmony_ci depends on ZYNQMP_FIRMWARE || COMPILE_TEST 7728c2ecf20Sopenharmony_ci select CRYPTO_AES 7738c2ecf20Sopenharmony_ci select CRYPTO_ENGINE 7748c2ecf20Sopenharmony_ci select CRYPTO_AEAD 7758c2ecf20Sopenharmony_ci help 7768c2ecf20Sopenharmony_ci Xilinx ZynqMP has AES-GCM engine used for symmetric key 7778c2ecf20Sopenharmony_ci encryption and decryption. This driver interfaces with AES hw 7788c2ecf20Sopenharmony_ci accelerator. Select this if you want to use the ZynqMP module 7798c2ecf20Sopenharmony_ci for AES algorithms. 7808c2ecf20Sopenharmony_ci 7818c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_MEDIATEK 7828c2ecf20Sopenharmony_ci tristate "MediaTek's EIP97 Cryptographic Engine driver" 7838c2ecf20Sopenharmony_ci depends on (ARM && ARCH_MEDIATEK) || COMPILE_TEST 7848c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 7858c2ecf20Sopenharmony_ci select CRYPTO_AEAD 7868c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 7878c2ecf20Sopenharmony_ci select CRYPTO_SHA1 7888c2ecf20Sopenharmony_ci select CRYPTO_SHA256 7898c2ecf20Sopenharmony_ci select CRYPTO_SHA512 7908c2ecf20Sopenharmony_ci select CRYPTO_HMAC 7918c2ecf20Sopenharmony_ci help 7928c2ecf20Sopenharmony_ci This driver allows you to utilize the hardware crypto accelerator 7938c2ecf20Sopenharmony_ci EIP97 which can be found on the MT7623 MT2701, MT8521p, etc .... 7948c2ecf20Sopenharmony_ci Select this if you want to use it for AES/SHA1/SHA2 algorithms. 7958c2ecf20Sopenharmony_ci 7968c2ecf20Sopenharmony_cisource "drivers/crypto/chelsio/Kconfig" 7978c2ecf20Sopenharmony_ci 7988c2ecf20Sopenharmony_cisource "drivers/crypto/virtio/Kconfig" 7998c2ecf20Sopenharmony_ci 8008c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_BCM_SPU 8018c2ecf20Sopenharmony_ci tristate "Broadcom symmetric crypto/hash acceleration support" 8028c2ecf20Sopenharmony_ci depends on ARCH_BCM_IPROC 8038c2ecf20Sopenharmony_ci depends on MAILBOX 8048c2ecf20Sopenharmony_ci default m 8058c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 8068c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 8078c2ecf20Sopenharmony_ci select CRYPTO_MD5 8088c2ecf20Sopenharmony_ci select CRYPTO_SHA1 8098c2ecf20Sopenharmony_ci select CRYPTO_SHA256 8108c2ecf20Sopenharmony_ci select CRYPTO_SHA512 8118c2ecf20Sopenharmony_ci help 8128c2ecf20Sopenharmony_ci This driver provides support for Broadcom crypto acceleration using the 8138c2ecf20Sopenharmony_ci Secure Processing Unit (SPU). The SPU driver registers skcipher, 8148c2ecf20Sopenharmony_ci ahash, and aead algorithms with the kernel cryptographic API. 8158c2ecf20Sopenharmony_ci 8168c2ecf20Sopenharmony_cisource "drivers/crypto/stm32/Kconfig" 8178c2ecf20Sopenharmony_ci 8188c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_SAFEXCEL 8198c2ecf20Sopenharmony_ci tristate "Inside Secure's SafeXcel cryptographic engine driver" 8208c2ecf20Sopenharmony_ci depends on (OF || PCI || COMPILE_TEST) && HAS_IOMEM 8218c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 8228c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 8238c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 8248c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 8258c2ecf20Sopenharmony_ci select CRYPTO_HASH 8268c2ecf20Sopenharmony_ci select CRYPTO_HMAC 8278c2ecf20Sopenharmony_ci select CRYPTO_MD5 8288c2ecf20Sopenharmony_ci select CRYPTO_SHA1 8298c2ecf20Sopenharmony_ci select CRYPTO_SHA256 8308c2ecf20Sopenharmony_ci select CRYPTO_SHA512 8318c2ecf20Sopenharmony_ci select CRYPTO_CHACHA20POLY1305 8328c2ecf20Sopenharmony_ci select CRYPTO_SHA3 8338c2ecf20Sopenharmony_ci help 8348c2ecf20Sopenharmony_ci This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic 8358c2ecf20Sopenharmony_ci engines designed by Inside Secure. It currently accelerates DES, 3DES and 8368c2ecf20Sopenharmony_ci AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, 8378c2ecf20Sopenharmony_ci SHA384 and SHA512 hash algorithms for both basic hash and HMAC. 8388c2ecf20Sopenharmony_ci Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. 8398c2ecf20Sopenharmony_ci 8408c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_ARTPEC6 8418c2ecf20Sopenharmony_ci tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." 8428c2ecf20Sopenharmony_ci depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) 8438c2ecf20Sopenharmony_ci depends on OF 8448c2ecf20Sopenharmony_ci select CRYPTO_AEAD 8458c2ecf20Sopenharmony_ci select CRYPTO_AES 8468c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 8478c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 8488c2ecf20Sopenharmony_ci select CRYPTO_CTR 8498c2ecf20Sopenharmony_ci select CRYPTO_HASH 8508c2ecf20Sopenharmony_ci select CRYPTO_SHA1 8518c2ecf20Sopenharmony_ci select CRYPTO_SHA256 8528c2ecf20Sopenharmony_ci select CRYPTO_SHA512 8538c2ecf20Sopenharmony_ci help 8548c2ecf20Sopenharmony_ci Enables the driver for the on-chip crypto accelerator 8558c2ecf20Sopenharmony_ci of Axis ARTPEC SoCs. 8568c2ecf20Sopenharmony_ci 8578c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here. 8588c2ecf20Sopenharmony_ci 8598c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CCREE 8608c2ecf20Sopenharmony_ci tristate "Support for ARM TrustZone CryptoCell family of security processors" 8618c2ecf20Sopenharmony_ci depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA 8628c2ecf20Sopenharmony_ci default n 8638c2ecf20Sopenharmony_ci select CRYPTO_HASH 8648c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 8658c2ecf20Sopenharmony_ci select CRYPTO_LIB_DES 8668c2ecf20Sopenharmony_ci select CRYPTO_AEAD 8678c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 8688c2ecf20Sopenharmony_ci select CRYPTO_SHA1 8698c2ecf20Sopenharmony_ci select CRYPTO_MD5 8708c2ecf20Sopenharmony_ci select CRYPTO_SHA256 8718c2ecf20Sopenharmony_ci select CRYPTO_SHA512 8728c2ecf20Sopenharmony_ci select CRYPTO_HMAC 8738c2ecf20Sopenharmony_ci select CRYPTO_AES 8748c2ecf20Sopenharmony_ci select CRYPTO_CBC 8758c2ecf20Sopenharmony_ci select CRYPTO_ECB 8768c2ecf20Sopenharmony_ci select CRYPTO_CTR 8778c2ecf20Sopenharmony_ci select CRYPTO_XTS 8788c2ecf20Sopenharmony_ci select CRYPTO_SM4 8798c2ecf20Sopenharmony_ci select CRYPTO_SM3 8808c2ecf20Sopenharmony_ci help 8818c2ecf20Sopenharmony_ci Say 'Y' to enable a driver for the REE interface of the Arm 8828c2ecf20Sopenharmony_ci TrustZone CryptoCell family of processors. Currently the 8838c2ecf20Sopenharmony_ci CryptoCell 713, 703, 712, 710 and 630 are supported. 8848c2ecf20Sopenharmony_ci Choose this if you wish to use hardware acceleration of 8858c2ecf20Sopenharmony_ci cryptographic operations on the system REE. 8868c2ecf20Sopenharmony_ci If unsure say Y. 8878c2ecf20Sopenharmony_ci 8888c2ecf20Sopenharmony_cisource "drivers/crypto/hisilicon/Kconfig" 8898c2ecf20Sopenharmony_ci 8908c2ecf20Sopenharmony_cisource "drivers/crypto/amlogic/Kconfig" 8918c2ecf20Sopenharmony_ci 8928c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_SA2UL 8938c2ecf20Sopenharmony_ci tristate "Support for TI security accelerator" 8948c2ecf20Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 8958c2ecf20Sopenharmony_ci select ARM64_CRYPTO 8968c2ecf20Sopenharmony_ci select CRYPTO_AES 8978c2ecf20Sopenharmony_ci select CRYPTO_AES_ARM64 8988c2ecf20Sopenharmony_ci select CRYPTO_ALGAPI 8998c2ecf20Sopenharmony_ci select CRYPTO_AUTHENC 9008c2ecf20Sopenharmony_ci select CRYPTO_DES 9018c2ecf20Sopenharmony_ci select CRYPTO_SHA1 9028c2ecf20Sopenharmony_ci select CRYPTO_SHA256 9038c2ecf20Sopenharmony_ci select CRYPTO_SHA512 9048c2ecf20Sopenharmony_ci select HW_RANDOM 9058c2ecf20Sopenharmony_ci select SG_SPLIT 9068c2ecf20Sopenharmony_ci help 9078c2ecf20Sopenharmony_ci K3 devices include a security accelerator engine that may be 9088c2ecf20Sopenharmony_ci used for crypto offload. Select this if you want to use hardware 9098c2ecf20Sopenharmony_ci acceleration for cryptographic algorithms on these devices. 9108c2ecf20Sopenharmony_ci 9118c2ecf20Sopenharmony_ciendif # CRYPTO_HW 912