162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci 362306a36Sopenharmony_cimenuconfig CRYPTO_HW 462306a36Sopenharmony_ci bool "Hardware crypto devices" 562306a36Sopenharmony_ci default y 662306a36Sopenharmony_ci help 762306a36Sopenharmony_ci Say Y here to get to see options for hardware crypto devices and 862306a36Sopenharmony_ci processors. This option alone does not add any kernel code. 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci If you say N, all options in this submenu will be skipped and disabled. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciif CRYPTO_HW 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cisource "drivers/crypto/allwinner/Kconfig" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK 1762306a36Sopenharmony_ci tristate "Support for VIA PadLock ACE" 1862306a36Sopenharmony_ci depends on X86 && !UML 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci Some VIA processors come with an integrated crypto engine 2162306a36Sopenharmony_ci (so called VIA PadLock ACE, Advanced Cryptography Engine) 2262306a36Sopenharmony_ci that provides instructions for very fast cryptographic 2362306a36Sopenharmony_ci operations with supported algorithms. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci The instructions are used only when the CPU supports them. 2662306a36Sopenharmony_ci Otherwise software encryption is used. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK_AES 2962306a36Sopenharmony_ci tristate "PadLock driver for AES algorithm" 3062306a36Sopenharmony_ci depends on CRYPTO_DEV_PADLOCK 3162306a36Sopenharmony_ci select CRYPTO_SKCIPHER 3262306a36Sopenharmony_ci select CRYPTO_LIB_AES 3362306a36Sopenharmony_ci help 3462306a36Sopenharmony_ci Use VIA PadLock for AES algorithm. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci Available in VIA C3 and newer CPUs. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci If unsure say M. The compiled module will be 3962306a36Sopenharmony_ci called padlock-aes. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig CRYPTO_DEV_PADLOCK_SHA 4262306a36Sopenharmony_ci tristate "PadLock driver for SHA1 and SHA256 algorithms" 4362306a36Sopenharmony_ci depends on CRYPTO_DEV_PADLOCK 4462306a36Sopenharmony_ci select CRYPTO_HASH 4562306a36Sopenharmony_ci select CRYPTO_SHA1 4662306a36Sopenharmony_ci select CRYPTO_SHA256 4762306a36Sopenharmony_ci help 4862306a36Sopenharmony_ci Use VIA PadLock for SHA1/SHA256 algorithms. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci Available in VIA C7 and newer processors. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci If unsure say M. The compiled module will be 5362306a36Sopenharmony_ci called padlock-sha. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig CRYPTO_DEV_GEODE 5662306a36Sopenharmony_ci tristate "Support for the Geode LX AES engine" 5762306a36Sopenharmony_ci depends on X86_32 && PCI 5862306a36Sopenharmony_ci select CRYPTO_ALGAPI 5962306a36Sopenharmony_ci select CRYPTO_SKCIPHER 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci Say 'Y' here to use the AMD Geode LX processor on-board AES 6262306a36Sopenharmony_ci engine for the CryptoAPI AES algorithm. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 6562306a36Sopenharmony_ci will be called geode-aes. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciconfig ZCRYPT 6862306a36Sopenharmony_ci tristate "Support for s390 cryptographic adapters" 6962306a36Sopenharmony_ci depends on S390 7062306a36Sopenharmony_ci select HW_RANDOM 7162306a36Sopenharmony_ci help 7262306a36Sopenharmony_ci Select this option if you want to enable support for 7362306a36Sopenharmony_ci s390 cryptographic adapters like Crypto Express 4 up 7462306a36Sopenharmony_ci to 8 in Coprocessor (CEXxC), EP11 Coprocessor (CEXxP) 7562306a36Sopenharmony_ci or Accelerator (CEXxA) mode. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciconfig ZCRYPT_DEBUG 7862306a36Sopenharmony_ci bool "Enable debug features for s390 cryptographic adapters" 7962306a36Sopenharmony_ci default n 8062306a36Sopenharmony_ci depends on DEBUG_KERNEL 8162306a36Sopenharmony_ci depends on ZCRYPT 8262306a36Sopenharmony_ci help 8362306a36Sopenharmony_ci Say 'Y' here to enable some additional debug features on the 8462306a36Sopenharmony_ci s390 cryptographic adapters driver. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci There will be some more sysfs attributes displayed for ap cards 8762306a36Sopenharmony_ci and queues and some flags on crypto requests are interpreted as 8862306a36Sopenharmony_ci debugging messages to force error injection. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci Do not enable on production level kernel build. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci If unsure, say N. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciconfig PKEY 9562306a36Sopenharmony_ci tristate "Kernel API for protected key handling" 9662306a36Sopenharmony_ci depends on S390 9762306a36Sopenharmony_ci depends on ZCRYPT 9862306a36Sopenharmony_ci help 9962306a36Sopenharmony_ci With this option enabled the pkey kernel module provides an API 10062306a36Sopenharmony_ci for creation and handling of protected keys. Other parts of the 10162306a36Sopenharmony_ci kernel or userspace applications may use these functions. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci Select this option if you want to enable the kernel and userspace 10462306a36Sopenharmony_ci API for proteced key handling. 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci Please note that creation of protected keys from secure keys 10762306a36Sopenharmony_ci requires to have at least one CEX card in coprocessor mode 10862306a36Sopenharmony_ci available at runtime. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig CRYPTO_PAES_S390 11162306a36Sopenharmony_ci tristate "PAES cipher algorithms" 11262306a36Sopenharmony_ci depends on S390 11362306a36Sopenharmony_ci depends on ZCRYPT 11462306a36Sopenharmony_ci depends on PKEY 11562306a36Sopenharmony_ci select CRYPTO_ALGAPI 11662306a36Sopenharmony_ci select CRYPTO_SKCIPHER 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci This is the s390 hardware accelerated implementation of the 11962306a36Sopenharmony_ci AES cipher algorithms for use with protected key. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci Select this option if you want to use the paes cipher 12262306a36Sopenharmony_ci for example to use protected key encrypted devices. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciconfig S390_PRNG 12562306a36Sopenharmony_ci tristate "Pseudo random number generator device driver" 12662306a36Sopenharmony_ci depends on S390 12762306a36Sopenharmony_ci default "m" 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci Select this option if you want to use the s390 pseudo random number 13062306a36Sopenharmony_ci generator. The PRNG is part of the cryptographic processor functions 13162306a36Sopenharmony_ci and uses triple-DES to generate secure random numbers like the 13262306a36Sopenharmony_ci ANSI X9.17 standard. User-space programs access the 13362306a36Sopenharmony_ci pseudo-random-number device through the char device /dev/prandom. 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci It is available as of z9. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciconfig CRYPTO_DEV_NIAGARA2 13862306a36Sopenharmony_ci tristate "Niagara2 Stream Processing Unit driver" 13962306a36Sopenharmony_ci select CRYPTO_LIB_DES 14062306a36Sopenharmony_ci select CRYPTO_SKCIPHER 14162306a36Sopenharmony_ci select CRYPTO_HASH 14262306a36Sopenharmony_ci select CRYPTO_MD5 14362306a36Sopenharmony_ci select CRYPTO_SHA1 14462306a36Sopenharmony_ci select CRYPTO_SHA256 14562306a36Sopenharmony_ci depends on SPARC64 14662306a36Sopenharmony_ci help 14762306a36Sopenharmony_ci Each core of a Niagara2 processor contains a Stream 14862306a36Sopenharmony_ci Processing Unit, which itself contains several cryptographic 14962306a36Sopenharmony_ci sub-units. One set provides the Modular Arithmetic Unit, 15062306a36Sopenharmony_ci used for SSL offload. The other set provides the Cipher 15162306a36Sopenharmony_ci Group, which can perform encryption, decryption, hashing, 15262306a36Sopenharmony_ci checksumming, and raw copies. 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciconfig CRYPTO_DEV_SL3516 15562306a36Sopenharmony_ci tristate "Storlink SL3516 crypto offloader" 15662306a36Sopenharmony_ci depends on ARCH_GEMINI || COMPILE_TEST 15762306a36Sopenharmony_ci depends on HAS_IOMEM && PM 15862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 15962306a36Sopenharmony_ci select CRYPTO_ENGINE 16062306a36Sopenharmony_ci select CRYPTO_ECB 16162306a36Sopenharmony_ci select CRYPTO_AES 16262306a36Sopenharmony_ci select HW_RANDOM 16362306a36Sopenharmony_ci help 16462306a36Sopenharmony_ci This option allows you to have support for SL3516 crypto offloader. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig CRYPTO_DEV_SL3516_DEBUG 16762306a36Sopenharmony_ci bool "Enable SL3516 stats" 16862306a36Sopenharmony_ci depends on CRYPTO_DEV_SL3516 16962306a36Sopenharmony_ci depends on DEBUG_FS 17062306a36Sopenharmony_ci help 17162306a36Sopenharmony_ci Say y to enable SL3516 debug stats. 17262306a36Sopenharmony_ci This will create /sys/kernel/debug/sl3516/stats for displaying 17362306a36Sopenharmony_ci the number of requests per algorithm and other internal stats. 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciconfig CRYPTO_DEV_HIFN_795X 17662306a36Sopenharmony_ci tristate "Driver HIFN 795x crypto accelerator chips" 17762306a36Sopenharmony_ci select CRYPTO_LIB_DES 17862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 17962306a36Sopenharmony_ci select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG 18062306a36Sopenharmony_ci depends on PCI 18162306a36Sopenharmony_ci depends on !ARCH_DMA_ADDR_T_64BIT 18262306a36Sopenharmony_ci help 18362306a36Sopenharmony_ci This option allows you to have support for HIFN 795x crypto adapters. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciconfig CRYPTO_DEV_HIFN_795X_RNG 18662306a36Sopenharmony_ci bool "HIFN 795x random number generator" 18762306a36Sopenharmony_ci depends on CRYPTO_DEV_HIFN_795X 18862306a36Sopenharmony_ci help 18962306a36Sopenharmony_ci Select this option if you want to enable the random number generator 19062306a36Sopenharmony_ci on the HIFN 795x crypto adapters. 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_cisource "drivers/crypto/caam/Kconfig" 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciconfig CRYPTO_DEV_TALITOS 19562306a36Sopenharmony_ci tristate "Talitos Freescale Security Engine (SEC)" 19662306a36Sopenharmony_ci select CRYPTO_AEAD 19762306a36Sopenharmony_ci select CRYPTO_AUTHENC 19862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 19962306a36Sopenharmony_ci select CRYPTO_HASH 20062306a36Sopenharmony_ci select CRYPTO_LIB_DES 20162306a36Sopenharmony_ci select HW_RANDOM 20262306a36Sopenharmony_ci depends on FSL_SOC 20362306a36Sopenharmony_ci help 20462306a36Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) 20562306a36Sopenharmony_ci to offload cryptographic algorithm computation. 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci The Freescale SEC is present on PowerQUICC 'E' processors, such 20862306a36Sopenharmony_ci as the MPC8349E and MPC8548E. 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 21162306a36Sopenharmony_ci will be called talitos. 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ciconfig CRYPTO_DEV_TALITOS1 21462306a36Sopenharmony_ci bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" 21562306a36Sopenharmony_ci depends on CRYPTO_DEV_TALITOS 21662306a36Sopenharmony_ci depends on PPC_8xx || PPC_82xx 21762306a36Sopenharmony_ci default y 21862306a36Sopenharmony_ci help 21962306a36Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 22062306a36Sopenharmony_ci found on MPC82xx or the Freescale Security Engine (SEC Lite) 22162306a36Sopenharmony_ci version 1.2 found on MPC8xx 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciconfig CRYPTO_DEV_TALITOS2 22462306a36Sopenharmony_ci bool "SEC2+ (SEC version 2.0 or upper)" 22562306a36Sopenharmony_ci depends on CRYPTO_DEV_TALITOS 22662306a36Sopenharmony_ci default y if !PPC_8xx 22762306a36Sopenharmony_ci help 22862306a36Sopenharmony_ci Say 'Y' here to use the Freescale Security Engine (SEC) 22962306a36Sopenharmony_ci version 2 and following as found on MPC83xx, MPC85xx, etc ... 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig CRYPTO_DEV_PPC4XX 23262306a36Sopenharmony_ci tristate "Driver AMCC PPC4xx crypto accelerator" 23362306a36Sopenharmony_ci depends on PPC && 4xx 23462306a36Sopenharmony_ci select CRYPTO_HASH 23562306a36Sopenharmony_ci select CRYPTO_AEAD 23662306a36Sopenharmony_ci select CRYPTO_AES 23762306a36Sopenharmony_ci select CRYPTO_LIB_AES 23862306a36Sopenharmony_ci select CRYPTO_CCM 23962306a36Sopenharmony_ci select CRYPTO_CTR 24062306a36Sopenharmony_ci select CRYPTO_GCM 24162306a36Sopenharmony_ci select CRYPTO_SKCIPHER 24262306a36Sopenharmony_ci help 24362306a36Sopenharmony_ci This option allows you to have support for AMCC crypto acceleration. 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ciconfig HW_RANDOM_PPC4XX 24662306a36Sopenharmony_ci bool "PowerPC 4xx generic true random number generator support" 24762306a36Sopenharmony_ci depends on CRYPTO_DEV_PPC4XX && HW_RANDOM=y 24862306a36Sopenharmony_ci default y 24962306a36Sopenharmony_ci help 25062306a36Sopenharmony_ci This option provides the kernel-side support for the TRNG hardware 25162306a36Sopenharmony_ci found in the security function of some PowerPC 4xx SoCs. 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciconfig CRYPTO_DEV_OMAP 25462306a36Sopenharmony_ci tristate "Support for OMAP crypto HW accelerators" 25562306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS 25662306a36Sopenharmony_ci help 25762306a36Sopenharmony_ci OMAP processors have various crypto HW accelerators. Select this if 25862306a36Sopenharmony_ci you want to use the OMAP modules for any of the crypto algorithms. 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ciif CRYPTO_DEV_OMAP 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ciconfig CRYPTO_DEV_OMAP_SHAM 26362306a36Sopenharmony_ci tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" 26462306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS 26562306a36Sopenharmony_ci select CRYPTO_ENGINE 26662306a36Sopenharmony_ci select CRYPTO_SHA1 26762306a36Sopenharmony_ci select CRYPTO_MD5 26862306a36Sopenharmony_ci select CRYPTO_SHA256 26962306a36Sopenharmony_ci select CRYPTO_SHA512 27062306a36Sopenharmony_ci select CRYPTO_HMAC 27162306a36Sopenharmony_ci help 27262306a36Sopenharmony_ci OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you 27362306a36Sopenharmony_ci want to use the OMAP module for MD5/SHA1/SHA2 algorithms. 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ciconfig CRYPTO_DEV_OMAP_AES 27662306a36Sopenharmony_ci tristate "Support for OMAP AES hw engine" 27762306a36Sopenharmony_ci depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS 27862306a36Sopenharmony_ci select CRYPTO_AES 27962306a36Sopenharmony_ci select CRYPTO_SKCIPHER 28062306a36Sopenharmony_ci select CRYPTO_ENGINE 28162306a36Sopenharmony_ci select CRYPTO_CBC 28262306a36Sopenharmony_ci select CRYPTO_ECB 28362306a36Sopenharmony_ci select CRYPTO_CTR 28462306a36Sopenharmony_ci select CRYPTO_AEAD 28562306a36Sopenharmony_ci help 28662306a36Sopenharmony_ci OMAP processors have AES module accelerator. Select this if you 28762306a36Sopenharmony_ci want to use the OMAP module for AES algorithms. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciconfig CRYPTO_DEV_OMAP_DES 29062306a36Sopenharmony_ci tristate "Support for OMAP DES/3DES hw engine" 29162306a36Sopenharmony_ci depends on ARCH_OMAP2PLUS 29262306a36Sopenharmony_ci select CRYPTO_LIB_DES 29362306a36Sopenharmony_ci select CRYPTO_SKCIPHER 29462306a36Sopenharmony_ci select CRYPTO_ENGINE 29562306a36Sopenharmony_ci help 29662306a36Sopenharmony_ci OMAP processors have DES/3DES module accelerator. Select this if you 29762306a36Sopenharmony_ci want to use the OMAP module for DES and 3DES algorithms. Currently 29862306a36Sopenharmony_ci the ECB and CBC modes of operation are supported by the driver. Also 29962306a36Sopenharmony_ci accesses made on unaligned boundaries are supported. 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ciendif # CRYPTO_DEV_OMAP 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ciconfig CRYPTO_DEV_SAHARA 30462306a36Sopenharmony_ci tristate "Support for SAHARA crypto accelerator" 30562306a36Sopenharmony_ci depends on ARCH_MXC && OF 30662306a36Sopenharmony_ci select CRYPTO_SKCIPHER 30762306a36Sopenharmony_ci select CRYPTO_AES 30862306a36Sopenharmony_ci select CRYPTO_ECB 30962306a36Sopenharmony_ci help 31062306a36Sopenharmony_ci This option enables support for the SAHARA HW crypto accelerator 31162306a36Sopenharmony_ci found in some Freescale i.MX chips. 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ciconfig CRYPTO_DEV_EXYNOS_RNG 31462306a36Sopenharmony_ci tristate "Exynos HW pseudo random number generator support" 31562306a36Sopenharmony_ci depends on ARCH_EXYNOS || COMPILE_TEST 31662306a36Sopenharmony_ci depends on HAS_IOMEM 31762306a36Sopenharmony_ci select CRYPTO_RNG 31862306a36Sopenharmony_ci help 31962306a36Sopenharmony_ci This driver provides kernel-side support through the 32062306a36Sopenharmony_ci cryptographic API for the pseudo random number generator hardware 32162306a36Sopenharmony_ci found on Exynos SoCs. 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 32462306a36Sopenharmony_ci module will be called exynos-rng. 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci If unsure, say Y. 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ciconfig CRYPTO_DEV_S5P 32962306a36Sopenharmony_ci tristate "Support for Samsung S5PV210/Exynos crypto accelerator" 33062306a36Sopenharmony_ci depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 33162306a36Sopenharmony_ci depends on HAS_IOMEM 33262306a36Sopenharmony_ci select CRYPTO_AES 33362306a36Sopenharmony_ci select CRYPTO_SKCIPHER 33462306a36Sopenharmony_ci help 33562306a36Sopenharmony_ci This option allows you to have support for S5P crypto acceleration. 33662306a36Sopenharmony_ci Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES 33762306a36Sopenharmony_ci algorithms execution. 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ciconfig CRYPTO_DEV_EXYNOS_HASH 34062306a36Sopenharmony_ci bool "Support for Samsung Exynos HASH accelerator" 34162306a36Sopenharmony_ci depends on CRYPTO_DEV_S5P 34262306a36Sopenharmony_ci depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m 34362306a36Sopenharmony_ci select CRYPTO_SHA1 34462306a36Sopenharmony_ci select CRYPTO_MD5 34562306a36Sopenharmony_ci select CRYPTO_SHA256 34662306a36Sopenharmony_ci help 34762306a36Sopenharmony_ci Select this to offload Exynos from HASH MD5/SHA1/SHA256. 34862306a36Sopenharmony_ci This will select software SHA1, MD5 and SHA256 as they are 34962306a36Sopenharmony_ci needed for small and zero-size messages. 35062306a36Sopenharmony_ci HASH algorithms will be disabled if EXYNOS_RNG 35162306a36Sopenharmony_ci is enabled due to hw conflict. 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ciconfig CRYPTO_DEV_NX 35462306a36Sopenharmony_ci bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" 35562306a36Sopenharmony_ci depends on PPC64 35662306a36Sopenharmony_ci help 35762306a36Sopenharmony_ci This enables support for the NX hardware cryptographic accelerator 35862306a36Sopenharmony_ci coprocessor that is in IBM PowerPC P7+ or later processors. This 35962306a36Sopenharmony_ci does not actually enable any drivers, it only allows you to select 36062306a36Sopenharmony_ci which acceleration type (encryption and/or compression) to enable. 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ciif CRYPTO_DEV_NX 36362306a36Sopenharmony_ci source "drivers/crypto/nx/Kconfig" 36462306a36Sopenharmony_ciendif 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_AUTHENC 36762306a36Sopenharmony_ci bool "Support for Atmel IPSEC/SSL hw accelerator" 36862306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 36962306a36Sopenharmony_ci depends on CRYPTO_DEV_ATMEL_AES 37062306a36Sopenharmony_ci help 37162306a36Sopenharmony_ci Some Atmel processors can combine the AES and SHA hw accelerators 37262306a36Sopenharmony_ci to enhance support of IPSEC/SSL. 37362306a36Sopenharmony_ci Select this if you want to use the Atmel modules for 37462306a36Sopenharmony_ci authenc(hmac(shaX),Y(cbc)) algorithms. 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_AES 37762306a36Sopenharmony_ci tristate "Support for Atmel AES hw accelerator" 37862306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 37962306a36Sopenharmony_ci select CRYPTO_AES 38062306a36Sopenharmony_ci select CRYPTO_AEAD 38162306a36Sopenharmony_ci select CRYPTO_SKCIPHER 38262306a36Sopenharmony_ci select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC 38362306a36Sopenharmony_ci select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC 38462306a36Sopenharmony_ci help 38562306a36Sopenharmony_ci Some Atmel processors have AES hw accelerator. 38662306a36Sopenharmony_ci Select this if you want to use the Atmel module for 38762306a36Sopenharmony_ci AES algorithms. 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 39062306a36Sopenharmony_ci will be called atmel-aes. 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_TDES 39362306a36Sopenharmony_ci tristate "Support for Atmel DES/TDES hw accelerator" 39462306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 39562306a36Sopenharmony_ci select CRYPTO_LIB_DES 39662306a36Sopenharmony_ci select CRYPTO_SKCIPHER 39762306a36Sopenharmony_ci help 39862306a36Sopenharmony_ci Some Atmel processors have DES/TDES hw accelerator. 39962306a36Sopenharmony_ci Select this if you want to use the Atmel module for 40062306a36Sopenharmony_ci DES/TDES algorithms. 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 40362306a36Sopenharmony_ci will be called atmel-tdes. 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_SHA 40662306a36Sopenharmony_ci tristate "Support for Atmel SHA hw accelerator" 40762306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 40862306a36Sopenharmony_ci select CRYPTO_HASH 40962306a36Sopenharmony_ci help 41062306a36Sopenharmony_ci Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 41162306a36Sopenharmony_ci hw accelerator. 41262306a36Sopenharmony_ci Select this if you want to use the Atmel module for 41362306a36Sopenharmony_ci SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 41662306a36Sopenharmony_ci will be called atmel-sha. 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_I2C 41962306a36Sopenharmony_ci tristate 42062306a36Sopenharmony_ci select BITREVERSE 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_ECC 42362306a36Sopenharmony_ci tristate "Support for Microchip / Atmel ECC hw accelerator" 42462306a36Sopenharmony_ci depends on I2C 42562306a36Sopenharmony_ci select CRYPTO_DEV_ATMEL_I2C 42662306a36Sopenharmony_ci select CRYPTO_ECDH 42762306a36Sopenharmony_ci select CRC16 42862306a36Sopenharmony_ci help 42962306a36Sopenharmony_ci Microhip / Atmel ECC hw accelerator. 43062306a36Sopenharmony_ci Select this if you want to use the Microchip / Atmel module for 43162306a36Sopenharmony_ci ECDH algorithm. 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 43462306a36Sopenharmony_ci will be called atmel-ecc. 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ciconfig CRYPTO_DEV_ATMEL_SHA204A 43762306a36Sopenharmony_ci tristate "Support for Microchip / Atmel SHA accelerator and RNG" 43862306a36Sopenharmony_ci depends on I2C 43962306a36Sopenharmony_ci select CRYPTO_DEV_ATMEL_I2C 44062306a36Sopenharmony_ci select HW_RANDOM 44162306a36Sopenharmony_ci select CRC16 44262306a36Sopenharmony_ci help 44362306a36Sopenharmony_ci Microhip / Atmel SHA accelerator and RNG. 44462306a36Sopenharmony_ci Select this if you want to use the Microchip / Atmel SHA204A 44562306a36Sopenharmony_ci module as a random number generator. (Other functions of the 44662306a36Sopenharmony_ci chip are currently not exposed by this driver) 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 44962306a36Sopenharmony_ci will be called atmel-sha204a. 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ciconfig CRYPTO_DEV_CCP 45262306a36Sopenharmony_ci bool "Support for AMD Secure Processor" 45362306a36Sopenharmony_ci depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM 45462306a36Sopenharmony_ci help 45562306a36Sopenharmony_ci The AMD Secure Processor provides support for the Cryptographic Coprocessor 45662306a36Sopenharmony_ci (CCP) and the Platform Security Processor (PSP) devices. 45762306a36Sopenharmony_ci 45862306a36Sopenharmony_ciif CRYPTO_DEV_CCP 45962306a36Sopenharmony_ci source "drivers/crypto/ccp/Kconfig" 46062306a36Sopenharmony_ciendif 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ciconfig CRYPTO_DEV_MXS_DCP 46362306a36Sopenharmony_ci tristate "Support for Freescale MXS DCP" 46462306a36Sopenharmony_ci depends on (ARCH_MXS || ARCH_MXC) 46562306a36Sopenharmony_ci select STMP_DEVICE 46662306a36Sopenharmony_ci select CRYPTO_CBC 46762306a36Sopenharmony_ci select CRYPTO_ECB 46862306a36Sopenharmony_ci select CRYPTO_AES 46962306a36Sopenharmony_ci select CRYPTO_SKCIPHER 47062306a36Sopenharmony_ci select CRYPTO_HASH 47162306a36Sopenharmony_ci help 47262306a36Sopenharmony_ci The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB 47362306a36Sopenharmony_ci co-processor on the die. 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 47662306a36Sopenharmony_ci will be called mxs-dcp. 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_cisource "drivers/crypto/cavium/cpt/Kconfig" 47962306a36Sopenharmony_cisource "drivers/crypto/cavium/nitrox/Kconfig" 48062306a36Sopenharmony_cisource "drivers/crypto/marvell/Kconfig" 48162306a36Sopenharmony_cisource "drivers/crypto/intel/Kconfig" 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ciconfig CRYPTO_DEV_CAVIUM_ZIP 48462306a36Sopenharmony_ci tristate "Cavium ZIP driver" 48562306a36Sopenharmony_ci depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 48662306a36Sopenharmony_ci help 48762306a36Sopenharmony_ci Select this option if you want to enable compression/decompression 48862306a36Sopenharmony_ci acceleration on Cavium's ARM based SoCs 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ciconfig CRYPTO_DEV_QCE 49162306a36Sopenharmony_ci tristate "Qualcomm crypto engine accelerator" 49262306a36Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 49362306a36Sopenharmony_ci depends on HAS_IOMEM 49462306a36Sopenharmony_ci help 49562306a36Sopenharmony_ci This driver supports Qualcomm crypto engine accelerator 49662306a36Sopenharmony_ci hardware. To compile this driver as a module, choose M here. The 49762306a36Sopenharmony_ci module will be called qcrypto. 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ciconfig CRYPTO_DEV_QCE_SKCIPHER 50062306a36Sopenharmony_ci bool 50162306a36Sopenharmony_ci depends on CRYPTO_DEV_QCE 50262306a36Sopenharmony_ci select CRYPTO_AES 50362306a36Sopenharmony_ci select CRYPTO_LIB_DES 50462306a36Sopenharmony_ci select CRYPTO_ECB 50562306a36Sopenharmony_ci select CRYPTO_CBC 50662306a36Sopenharmony_ci select CRYPTO_XTS 50762306a36Sopenharmony_ci select CRYPTO_CTR 50862306a36Sopenharmony_ci select CRYPTO_SKCIPHER 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ciconfig CRYPTO_DEV_QCE_SHA 51162306a36Sopenharmony_ci bool 51262306a36Sopenharmony_ci depends on CRYPTO_DEV_QCE 51362306a36Sopenharmony_ci select CRYPTO_SHA1 51462306a36Sopenharmony_ci select CRYPTO_SHA256 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_ciconfig CRYPTO_DEV_QCE_AEAD 51762306a36Sopenharmony_ci bool 51862306a36Sopenharmony_ci depends on CRYPTO_DEV_QCE 51962306a36Sopenharmony_ci select CRYPTO_AUTHENC 52062306a36Sopenharmony_ci select CRYPTO_LIB_DES 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_cichoice 52362306a36Sopenharmony_ci prompt "Algorithms enabled for QCE acceleration" 52462306a36Sopenharmony_ci default CRYPTO_DEV_QCE_ENABLE_ALL 52562306a36Sopenharmony_ci depends on CRYPTO_DEV_QCE 52662306a36Sopenharmony_ci help 52762306a36Sopenharmony_ci This option allows to choose whether to build support for all algorithms 52862306a36Sopenharmony_ci (default), hashes-only, or skciphers-only. 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci The QCE engine does not appear to scale as well as the CPU to handle 53162306a36Sopenharmony_ci multiple crypto requests. While the ipq40xx chips have 4-core CPUs, the 53262306a36Sopenharmony_ci QCE handles only 2 requests in parallel. 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci Ipsec throughput seems to improve when disabling either family of 53562306a36Sopenharmony_ci algorithms, sharing the load with the CPU. Enabling skciphers-only 53662306a36Sopenharmony_ci appears to work best. 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_ALL 53962306a36Sopenharmony_ci bool "All supported algorithms" 54062306a36Sopenharmony_ci select CRYPTO_DEV_QCE_SKCIPHER 54162306a36Sopenharmony_ci select CRYPTO_DEV_QCE_SHA 54262306a36Sopenharmony_ci select CRYPTO_DEV_QCE_AEAD 54362306a36Sopenharmony_ci help 54462306a36Sopenharmony_ci Enable all supported algorithms: 54562306a36Sopenharmony_ci - AES (CBC, CTR, ECB, XTS) 54662306a36Sopenharmony_ci - 3DES (CBC, ECB) 54762306a36Sopenharmony_ci - DES (CBC, ECB) 54862306a36Sopenharmony_ci - SHA1, HMAC-SHA1 54962306a36Sopenharmony_ci - SHA256, HMAC-SHA256 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_SKCIPHER 55262306a36Sopenharmony_ci bool "Symmetric-key ciphers only" 55362306a36Sopenharmony_ci select CRYPTO_DEV_QCE_SKCIPHER 55462306a36Sopenharmony_ci help 55562306a36Sopenharmony_ci Enable symmetric-key ciphers only: 55662306a36Sopenharmony_ci - AES (CBC, CTR, ECB, XTS) 55762306a36Sopenharmony_ci - 3DES (ECB, CBC) 55862306a36Sopenharmony_ci - DES (ECB, CBC) 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_SHA 56162306a36Sopenharmony_ci bool "Hash/HMAC only" 56262306a36Sopenharmony_ci select CRYPTO_DEV_QCE_SHA 56362306a36Sopenharmony_ci help 56462306a36Sopenharmony_ci Enable hashes/HMAC algorithms only: 56562306a36Sopenharmony_ci - SHA1, HMAC-SHA1 56662306a36Sopenharmony_ci - SHA256, HMAC-SHA256 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci config CRYPTO_DEV_QCE_ENABLE_AEAD 56962306a36Sopenharmony_ci bool "AEAD algorithms only" 57062306a36Sopenharmony_ci select CRYPTO_DEV_QCE_AEAD 57162306a36Sopenharmony_ci help 57262306a36Sopenharmony_ci Enable AEAD algorithms only: 57362306a36Sopenharmony_ci - authenc() 57462306a36Sopenharmony_ci - ccm(aes) 57562306a36Sopenharmony_ci - rfc4309(ccm(aes)) 57662306a36Sopenharmony_ciendchoice 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ciconfig CRYPTO_DEV_QCE_SW_MAX_LEN 57962306a36Sopenharmony_ci int "Default maximum request size to use software for AES" 58062306a36Sopenharmony_ci depends on CRYPTO_DEV_QCE && CRYPTO_DEV_QCE_SKCIPHER 58162306a36Sopenharmony_ci default 512 58262306a36Sopenharmony_ci help 58362306a36Sopenharmony_ci This sets the default maximum request size to perform AES requests 58462306a36Sopenharmony_ci using software instead of the crypto engine. It can be changed by 58562306a36Sopenharmony_ci setting the aes_sw_max_len parameter. 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_ci Small blocks are processed faster in software than hardware. 58862306a36Sopenharmony_ci Considering the 256-bit ciphers, software is 2-3 times faster than 58962306a36Sopenharmony_ci qce at 256-bytes, 30% faster at 512, and about even at 768-bytes. 59062306a36Sopenharmony_ci With 128-bit keys, the break-even point would be around 1024-bytes. 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci The default is set a little lower, to 512 bytes, to balance the 59362306a36Sopenharmony_ci cost in CPU usage. The minimum recommended setting is 16-bytes 59462306a36Sopenharmony_ci (1 AES block), since AES-GCM will fail if you set it lower. 59562306a36Sopenharmony_ci Setting this to zero will send all requests to the hardware. 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ci Note that 192-bit keys are not supported by the hardware and are 59862306a36Sopenharmony_ci always processed by the software fallback, and all DES requests 59962306a36Sopenharmony_ci are done by the hardware. 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ciconfig CRYPTO_DEV_QCOM_RNG 60262306a36Sopenharmony_ci tristate "Qualcomm Random Number Generator Driver" 60362306a36Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 60462306a36Sopenharmony_ci select CRYPTO_RNG 60562306a36Sopenharmony_ci help 60662306a36Sopenharmony_ci This driver provides support for the Random Number 60762306a36Sopenharmony_ci Generator hardware found on Qualcomm SoCs. 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci To compile this driver as a module, choose M here. The 61062306a36Sopenharmony_ci module will be called qcom-rng. If unsure, say N. 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ciconfig CRYPTO_DEV_VMX 61362306a36Sopenharmony_ci bool "Support for VMX cryptographic acceleration instructions" 61462306a36Sopenharmony_ci depends on PPC64 && VSX 61562306a36Sopenharmony_ci help 61662306a36Sopenharmony_ci Support for VMX cryptographic acceleration instructions. 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_cisource "drivers/crypto/vmx/Kconfig" 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ciconfig CRYPTO_DEV_IMGTEC_HASH 62162306a36Sopenharmony_ci tristate "Imagination Technologies hardware hash accelerator" 62262306a36Sopenharmony_ci depends on MIPS || COMPILE_TEST 62362306a36Sopenharmony_ci select CRYPTO_MD5 62462306a36Sopenharmony_ci select CRYPTO_SHA1 62562306a36Sopenharmony_ci select CRYPTO_SHA256 62662306a36Sopenharmony_ci select CRYPTO_HASH 62762306a36Sopenharmony_ci help 62862306a36Sopenharmony_ci This driver interfaces with the Imagination Technologies 62962306a36Sopenharmony_ci hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 63062306a36Sopenharmony_ci hashing algorithms. 63162306a36Sopenharmony_ci 63262306a36Sopenharmony_ciconfig CRYPTO_DEV_ROCKCHIP 63362306a36Sopenharmony_ci tristate "Rockchip's Cryptographic Engine driver" 63462306a36Sopenharmony_ci depends on OF && ARCH_ROCKCHIP 63562306a36Sopenharmony_ci depends on PM 63662306a36Sopenharmony_ci select CRYPTO_ECB 63762306a36Sopenharmony_ci select CRYPTO_CBC 63862306a36Sopenharmony_ci select CRYPTO_DES 63962306a36Sopenharmony_ci select CRYPTO_AES 64062306a36Sopenharmony_ci select CRYPTO_ENGINE 64162306a36Sopenharmony_ci select CRYPTO_LIB_DES 64262306a36Sopenharmony_ci select CRYPTO_MD5 64362306a36Sopenharmony_ci select CRYPTO_SHA1 64462306a36Sopenharmony_ci select CRYPTO_SHA256 64562306a36Sopenharmony_ci select CRYPTO_HASH 64662306a36Sopenharmony_ci select CRYPTO_SKCIPHER 64762306a36Sopenharmony_ci 64862306a36Sopenharmony_ci help 64962306a36Sopenharmony_ci This driver interfaces with the hardware crypto accelerator. 65062306a36Sopenharmony_ci Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ciconfig CRYPTO_DEV_ROCKCHIP_DEBUG 65362306a36Sopenharmony_ci bool "Enable Rockchip crypto stats" 65462306a36Sopenharmony_ci depends on CRYPTO_DEV_ROCKCHIP 65562306a36Sopenharmony_ci depends on DEBUG_FS 65662306a36Sopenharmony_ci help 65762306a36Sopenharmony_ci Say y to enable Rockchip crypto debug stats. 65862306a36Sopenharmony_ci This will create /sys/kernel/debug/rk3288_crypto/stats for displaying 65962306a36Sopenharmony_ci the number of requests per algorithm and other internal stats. 66062306a36Sopenharmony_ci 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_ciconfig CRYPTO_DEV_ZYNQMP_AES 66362306a36Sopenharmony_ci tristate "Support for Xilinx ZynqMP AES hw accelerator" 66462306a36Sopenharmony_ci depends on ZYNQMP_FIRMWARE || COMPILE_TEST 66562306a36Sopenharmony_ci select CRYPTO_AES 66662306a36Sopenharmony_ci select CRYPTO_ENGINE 66762306a36Sopenharmony_ci select CRYPTO_AEAD 66862306a36Sopenharmony_ci help 66962306a36Sopenharmony_ci Xilinx ZynqMP has AES-GCM engine used for symmetric key 67062306a36Sopenharmony_ci encryption and decryption. This driver interfaces with AES hw 67162306a36Sopenharmony_ci accelerator. Select this if you want to use the ZynqMP module 67262306a36Sopenharmony_ci for AES algorithms. 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ciconfig CRYPTO_DEV_ZYNQMP_SHA3 67562306a36Sopenharmony_ci tristate "Support for Xilinx ZynqMP SHA3 hardware accelerator" 67662306a36Sopenharmony_ci depends on ZYNQMP_FIRMWARE || COMPILE_TEST 67762306a36Sopenharmony_ci select CRYPTO_SHA3 67862306a36Sopenharmony_ci help 67962306a36Sopenharmony_ci Xilinx ZynqMP has SHA3 engine used for secure hash calculation. 68062306a36Sopenharmony_ci This driver interfaces with SHA3 hardware engine. 68162306a36Sopenharmony_ci Select this if you want to use the ZynqMP module 68262306a36Sopenharmony_ci for SHA3 hash computation. 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_cisource "drivers/crypto/chelsio/Kconfig" 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_cisource "drivers/crypto/virtio/Kconfig" 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ciconfig CRYPTO_DEV_BCM_SPU 68962306a36Sopenharmony_ci tristate "Broadcom symmetric crypto/hash acceleration support" 69062306a36Sopenharmony_ci depends on ARCH_BCM_IPROC 69162306a36Sopenharmony_ci depends on MAILBOX 69262306a36Sopenharmony_ci default m 69362306a36Sopenharmony_ci select CRYPTO_AUTHENC 69462306a36Sopenharmony_ci select CRYPTO_LIB_DES 69562306a36Sopenharmony_ci select CRYPTO_MD5 69662306a36Sopenharmony_ci select CRYPTO_SHA1 69762306a36Sopenharmony_ci select CRYPTO_SHA256 69862306a36Sopenharmony_ci select CRYPTO_SHA512 69962306a36Sopenharmony_ci help 70062306a36Sopenharmony_ci This driver provides support for Broadcom crypto acceleration using the 70162306a36Sopenharmony_ci Secure Processing Unit (SPU). The SPU driver registers skcipher, 70262306a36Sopenharmony_ci ahash, and aead algorithms with the kernel cryptographic API. 70362306a36Sopenharmony_ci 70462306a36Sopenharmony_cisource "drivers/crypto/stm32/Kconfig" 70562306a36Sopenharmony_ci 70662306a36Sopenharmony_ciconfig CRYPTO_DEV_SAFEXCEL 70762306a36Sopenharmony_ci tristate "Inside Secure's SafeXcel cryptographic engine driver" 70862306a36Sopenharmony_ci depends on (OF || PCI || COMPILE_TEST) && HAS_IOMEM 70962306a36Sopenharmony_ci select CRYPTO_LIB_AES 71062306a36Sopenharmony_ci select CRYPTO_AUTHENC 71162306a36Sopenharmony_ci select CRYPTO_SKCIPHER 71262306a36Sopenharmony_ci select CRYPTO_LIB_DES 71362306a36Sopenharmony_ci select CRYPTO_HASH 71462306a36Sopenharmony_ci select CRYPTO_HMAC 71562306a36Sopenharmony_ci select CRYPTO_MD5 71662306a36Sopenharmony_ci select CRYPTO_SHA1 71762306a36Sopenharmony_ci select CRYPTO_SHA256 71862306a36Sopenharmony_ci select CRYPTO_SHA512 71962306a36Sopenharmony_ci select CRYPTO_CHACHA20POLY1305 72062306a36Sopenharmony_ci select CRYPTO_SHA3 72162306a36Sopenharmony_ci help 72262306a36Sopenharmony_ci This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic 72362306a36Sopenharmony_ci engines designed by Inside Secure. It currently accelerates DES, 3DES and 72462306a36Sopenharmony_ci AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, 72562306a36Sopenharmony_ci SHA384 and SHA512 hash algorithms for both basic hash and HMAC. 72662306a36Sopenharmony_ci Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. 72762306a36Sopenharmony_ci 72862306a36Sopenharmony_ciconfig CRYPTO_DEV_ARTPEC6 72962306a36Sopenharmony_ci tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." 73062306a36Sopenharmony_ci depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) 73162306a36Sopenharmony_ci depends on OF 73262306a36Sopenharmony_ci select CRYPTO_AEAD 73362306a36Sopenharmony_ci select CRYPTO_AES 73462306a36Sopenharmony_ci select CRYPTO_ALGAPI 73562306a36Sopenharmony_ci select CRYPTO_SKCIPHER 73662306a36Sopenharmony_ci select CRYPTO_CTR 73762306a36Sopenharmony_ci select CRYPTO_HASH 73862306a36Sopenharmony_ci select CRYPTO_SHA1 73962306a36Sopenharmony_ci select CRYPTO_SHA256 74062306a36Sopenharmony_ci select CRYPTO_SHA512 74162306a36Sopenharmony_ci help 74262306a36Sopenharmony_ci Enables the driver for the on-chip crypto accelerator 74362306a36Sopenharmony_ci of Axis ARTPEC SoCs. 74462306a36Sopenharmony_ci 74562306a36Sopenharmony_ci To compile this driver as a module, choose M here. 74662306a36Sopenharmony_ci 74762306a36Sopenharmony_ciconfig CRYPTO_DEV_CCREE 74862306a36Sopenharmony_ci tristate "Support for ARM TrustZone CryptoCell family of security processors" 74962306a36Sopenharmony_ci depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA 75062306a36Sopenharmony_ci depends on HAS_IOMEM 75162306a36Sopenharmony_ci select CRYPTO_HASH 75262306a36Sopenharmony_ci select CRYPTO_SKCIPHER 75362306a36Sopenharmony_ci select CRYPTO_LIB_DES 75462306a36Sopenharmony_ci select CRYPTO_AEAD 75562306a36Sopenharmony_ci select CRYPTO_AUTHENC 75662306a36Sopenharmony_ci select CRYPTO_SHA1 75762306a36Sopenharmony_ci select CRYPTO_MD5 75862306a36Sopenharmony_ci select CRYPTO_SHA256 75962306a36Sopenharmony_ci select CRYPTO_SHA512 76062306a36Sopenharmony_ci select CRYPTO_HMAC 76162306a36Sopenharmony_ci select CRYPTO_AES 76262306a36Sopenharmony_ci select CRYPTO_CBC 76362306a36Sopenharmony_ci select CRYPTO_ECB 76462306a36Sopenharmony_ci select CRYPTO_CTR 76562306a36Sopenharmony_ci select CRYPTO_XTS 76662306a36Sopenharmony_ci select CRYPTO_SM4_GENERIC 76762306a36Sopenharmony_ci select CRYPTO_SM3_GENERIC 76862306a36Sopenharmony_ci help 76962306a36Sopenharmony_ci Say 'Y' to enable a driver for the REE interface of the Arm 77062306a36Sopenharmony_ci TrustZone CryptoCell family of processors. Currently the 77162306a36Sopenharmony_ci CryptoCell 713, 703, 712, 710 and 630 are supported. 77262306a36Sopenharmony_ci Choose this if you wish to use hardware acceleration of 77362306a36Sopenharmony_ci cryptographic operations on the system REE. 77462306a36Sopenharmony_ci If unsure say Y. 77562306a36Sopenharmony_ci 77662306a36Sopenharmony_cisource "drivers/crypto/hisilicon/Kconfig" 77762306a36Sopenharmony_ci 77862306a36Sopenharmony_cisource "drivers/crypto/amlogic/Kconfig" 77962306a36Sopenharmony_ci 78062306a36Sopenharmony_ciconfig CRYPTO_DEV_SA2UL 78162306a36Sopenharmony_ci tristate "Support for TI security accelerator" 78262306a36Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 78362306a36Sopenharmony_ci select CRYPTO_AES 78462306a36Sopenharmony_ci select CRYPTO_ALGAPI 78562306a36Sopenharmony_ci select CRYPTO_AUTHENC 78662306a36Sopenharmony_ci select CRYPTO_DES 78762306a36Sopenharmony_ci select CRYPTO_SHA1 78862306a36Sopenharmony_ci select CRYPTO_SHA256 78962306a36Sopenharmony_ci select CRYPTO_SHA512 79062306a36Sopenharmony_ci select HW_RANDOM 79162306a36Sopenharmony_ci select SG_SPLIT 79262306a36Sopenharmony_ci help 79362306a36Sopenharmony_ci K3 devices include a security accelerator engine that may be 79462306a36Sopenharmony_ci used for crypto offload. Select this if you want to use hardware 79562306a36Sopenharmony_ci acceleration for cryptographic algorithms on these devices. 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_cisource "drivers/crypto/aspeed/Kconfig" 79862306a36Sopenharmony_cisource "drivers/crypto/starfive/Kconfig" 79962306a36Sopenharmony_ci 80062306a36Sopenharmony_ciendif # CRYPTO_HW 801