1# SPDX-License-Identifier: GPL-2.0-only 2 3menuconfig CRYPTO_HW 4 bool "Hardware crypto devices" 5 default y 6 ---help--- 7 Say Y here to get to see options for hardware crypto devices and 8 processors. This option alone does not add any kernel code. 9 10 If you say N, all options in this submenu will be skipped and disabled. 11 12if CRYPTO_HW 13 14source "drivers/crypto/allwinner/Kconfig" 15 16config CRYPTO_DEV_PADLOCK 17 tristate "Support for VIA PadLock ACE" 18 depends on X86 && !UML 19 help 20 Some VIA processors come with an integrated crypto engine 21 (so called VIA PadLock ACE, Advanced Cryptography Engine) 22 that provides instructions for very fast cryptographic 23 operations with supported algorithms. 24 25 The instructions are used only when the CPU supports them. 26 Otherwise software encryption is used. 27 28config CRYPTO_DEV_PADLOCK_AES 29 tristate "PadLock driver for AES algorithm" 30 depends on CRYPTO_DEV_PADLOCK 31 select CRYPTO_SKCIPHER 32 select CRYPTO_LIB_AES 33 help 34 Use VIA PadLock for AES algorithm. 35 36 Available in VIA C3 and newer CPUs. 37 38 If unsure say M. The compiled module will be 39 called padlock-aes. 40 41config CRYPTO_DEV_PADLOCK_SHA 42 tristate "PadLock driver for SHA1 and SHA256 algorithms" 43 depends on CRYPTO_DEV_PADLOCK 44 select CRYPTO_HASH 45 select CRYPTO_SHA1 46 select CRYPTO_SHA256 47 help 48 Use VIA PadLock for SHA1/SHA256 algorithms. 49 50 Available in VIA C7 and newer processors. 51 52 If unsure say M. The compiled module will be 53 called padlock-sha. 54 55config CRYPTO_DEV_GEODE 56 tristate "Support for the Geode LX AES engine" 57 depends on X86_32 && PCI 58 select CRYPTO_ALGAPI 59 select CRYPTO_SKCIPHER 60 help 61 Say 'Y' here to use the AMD Geode LX processor on-board AES 62 engine for the CryptoAPI AES algorithm. 63 64 To compile this driver as a module, choose M here: the module 65 will be called geode-aes. 66 67config ZCRYPT 68 tristate "Support for s390 cryptographic adapters" 69 depends on S390 70 select HW_RANDOM 71 help 72 Select this option if you want to enable support for 73 s390 cryptographic adapters like: 74 + PCI-X Cryptographic Coprocessor (PCIXCC) 75 + Crypto Express 2,3,4 or 5 Coprocessor (CEXxC) 76 + Crypto Express 2,3,4 or 5 Accelerator (CEXxA) 77 + Crypto Express 4 or 5 EP11 Coprocessor (CEXxP) 78 79config ZCRYPT_MULTIDEVNODES 80 bool "Support for multiple zcrypt device nodes" 81 default y 82 depends on S390 83 depends on ZCRYPT 84 help 85 With this option enabled the zcrypt device driver can 86 provide multiple devices nodes in /dev. Each device 87 node can get customized to limit access and narrow 88 down the use of the available crypto hardware. 89 90config PKEY 91 tristate "Kernel API for protected key handling" 92 depends on S390 93 depends on ZCRYPT 94 help 95 With this option enabled the pkey kernel module provides an API 96 for creation and handling of protected keys. Other parts of the 97 kernel or userspace applications may use these functions. 98 99 Select this option if you want to enable the kernel and userspace 100 API for proteced key handling. 101 102 Please note that creation of protected keys from secure keys 103 requires to have at least one CEX card in coprocessor mode 104 available at runtime. 105 106config CRYPTO_PAES_S390 107 tristate "PAES cipher algorithms" 108 depends on S390 109 depends on ZCRYPT 110 depends on PKEY 111 select CRYPTO_ALGAPI 112 select CRYPTO_SKCIPHER 113 help 114 This is the s390 hardware accelerated implementation of the 115 AES cipher algorithms for use with protected key. 116 117 Select this option if you want to use the paes cipher 118 for example to use protected key encrypted devices. 119 120config CRYPTO_SHA1_S390 121 tristate "SHA1 digest algorithm" 122 depends on S390 123 select CRYPTO_HASH 124 help 125 This is the s390 hardware accelerated implementation of the 126 SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). 127 128 It is available as of z990. 129 130config CRYPTO_SHA256_S390 131 tristate "SHA256 digest algorithm" 132 depends on S390 133 select CRYPTO_HASH 134 help 135 This is the s390 hardware accelerated implementation of the 136 SHA256 secure hash standard (DFIPS 180-2). 137 138 It is available as of z9. 139 140config CRYPTO_SHA512_S390 141 tristate "SHA384 and SHA512 digest algorithm" 142 depends on S390 143 select CRYPTO_HASH 144 help 145 This is the s390 hardware accelerated implementation of the 146 SHA512 secure hash standard. 147 148 It is available as of z10. 149 150config CRYPTO_SHA3_256_S390 151 tristate "SHA3_224 and SHA3_256 digest algorithm" 152 depends on S390 153 select CRYPTO_HASH 154 help 155 This is the s390 hardware accelerated implementation of the 156 SHA3_256 secure hash standard. 157 158 It is available as of z14. 159 160config CRYPTO_SHA3_512_S390 161 tristate "SHA3_384 and SHA3_512 digest algorithm" 162 depends on S390 163 select CRYPTO_HASH 164 help 165 This is the s390 hardware accelerated implementation of the 166 SHA3_512 secure hash standard. 167 168 It is available as of z14. 169 170config CRYPTO_DES_S390 171 tristate "DES and Triple DES cipher algorithms" 172 depends on S390 173 select CRYPTO_ALGAPI 174 select CRYPTO_SKCIPHER 175 select CRYPTO_LIB_DES 176 help 177 This is the s390 hardware accelerated implementation of the 178 DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). 179 180 As of z990 the ECB and CBC mode are hardware accelerated. 181 As of z196 the CTR mode is hardware accelerated. 182 183config CRYPTO_AES_S390 184 tristate "AES cipher algorithms" 185 depends on S390 186 select CRYPTO_ALGAPI 187 select CRYPTO_SKCIPHER 188 help 189 This is the s390 hardware accelerated implementation of the 190 AES cipher algorithms (FIPS-197). 191 192 As of z9 the ECB and CBC modes are hardware accelerated 193 for 128 bit keys. 194 As of z10 the ECB and CBC modes are hardware accelerated 195 for all AES key sizes. 196 As of z196 the CTR mode is hardware accelerated for all AES 197 key sizes and XTS mode is hardware accelerated for 256 and 198 512 bit keys. 199 200config S390_PRNG 201 tristate "Pseudo random number generator device driver" 202 depends on S390 203 default "m" 204 help 205 Select this option if you want to use the s390 pseudo random number 206 generator. The PRNG is part of the cryptographic processor functions 207 and uses triple-DES to generate secure random numbers like the 208 ANSI X9.17 standard. User-space programs access the 209 pseudo-random-number device through the char device /dev/prandom. 210 211 It is available as of z9. 212 213config CRYPTO_GHASH_S390 214 tristate "GHASH hash function" 215 depends on S390 216 select CRYPTO_HASH 217 help 218 This is the s390 hardware accelerated implementation of GHASH, 219 the hash function used in GCM (Galois/Counter mode). 220 221 It is available as of z196. 222 223config CRYPTO_CRC32_S390 224 tristate "CRC-32 algorithms" 225 depends on S390 226 select CRYPTO_HASH 227 select CRC32 228 help 229 Select this option if you want to use hardware accelerated 230 implementations of CRC algorithms. With this option, you 231 can optimize the computation of CRC-32 (IEEE 802.3 Ethernet) 232 and CRC-32C (Castagnoli). 233 234 It is available with IBM z13 or later. 235 236config CRYPTO_DEV_MARVELL_CESA 237 tristate "Marvell's Cryptographic Engine driver" 238 depends on PLAT_ORION || ARCH_MVEBU 239 select CRYPTO_LIB_AES 240 select CRYPTO_LIB_DES 241 select CRYPTO_SKCIPHER 242 select CRYPTO_HASH 243 select SRAM 244 help 245 This driver allows you to utilize the Cryptographic Engines and 246 Security Accelerator (CESA) which can be found on MVEBU and ORION 247 platforms. 248 This driver supports CPU offload through DMA transfers. 249 250config CRYPTO_DEV_NIAGARA2 251 tristate "Niagara2 Stream Processing Unit driver" 252 select CRYPTO_LIB_DES 253 select CRYPTO_SKCIPHER 254 select CRYPTO_HASH 255 select CRYPTO_MD5 256 select CRYPTO_SHA1 257 select CRYPTO_SHA256 258 depends on SPARC64 259 help 260 Each core of a Niagara2 processor contains a Stream 261 Processing Unit, which itself contains several cryptographic 262 sub-units. One set provides the Modular Arithmetic Unit, 263 used for SSL offload. The other set provides the Cipher 264 Group, which can perform encryption, decryption, hashing, 265 checksumming, and raw copies. 266 267config CRYPTO_DEV_HIFN_795X 268 tristate "Driver HIFN 795x crypto accelerator chips" 269 select CRYPTO_LIB_DES 270 select CRYPTO_SKCIPHER 271 select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG 272 depends on PCI 273 depends on !ARCH_DMA_ADDR_T_64BIT 274 help 275 This option allows you to have support for HIFN 795x crypto adapters. 276 277config CRYPTO_DEV_HIFN_795X_RNG 278 bool "HIFN 795x random number generator" 279 depends on CRYPTO_DEV_HIFN_795X 280 help 281 Select this option if you want to enable the random number generator 282 on the HIFN 795x crypto adapters. 283 284source "drivers/crypto/caam/Kconfig" 285 286config CRYPTO_DEV_TALITOS 287 tristate "Talitos Freescale Security Engine (SEC)" 288 select CRYPTO_AEAD 289 select CRYPTO_AUTHENC 290 select CRYPTO_SKCIPHER 291 select CRYPTO_HASH 292 select HW_RANDOM 293 depends on FSL_SOC 294 help 295 Say 'Y' here to use the Freescale Security Engine (SEC) 296 to offload cryptographic algorithm computation. 297 298 The Freescale SEC is present on PowerQUICC 'E' processors, such 299 as the MPC8349E and MPC8548E. 300 301 To compile this driver as a module, choose M here: the module 302 will be called talitos. 303 304config CRYPTO_DEV_TALITOS1 305 bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" 306 depends on CRYPTO_DEV_TALITOS 307 depends on PPC_8xx || PPC_82xx 308 default y 309 help 310 Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 311 found on MPC82xx or the Freescale Security Engine (SEC Lite) 312 version 1.2 found on MPC8xx 313 314config CRYPTO_DEV_TALITOS2 315 bool "SEC2+ (SEC version 2.0 or upper)" 316 depends on CRYPTO_DEV_TALITOS 317 default y if !PPC_8xx 318 help 319 Say 'Y' here to use the Freescale Security Engine (SEC) 320 version 2 and following as found on MPC83xx, MPC85xx, etc ... 321 322config CRYPTO_DEV_IXP4XX 323 tristate "Driver for IXP4xx crypto hardware acceleration" 324 depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE 325 select CRYPTO_LIB_DES 326 select CRYPTO_AEAD 327 select CRYPTO_AUTHENC 328 select CRYPTO_SKCIPHER 329 help 330 Driver for the IXP4xx NPE crypto engine. 331 332config CRYPTO_DEV_PPC4XX 333 tristate "Driver AMCC PPC4xx crypto accelerator" 334 depends on PPC && 4xx 335 select CRYPTO_HASH 336 select CRYPTO_AEAD 337 select CRYPTO_AES 338 select CRYPTO_LIB_AES 339 select CRYPTO_CCM 340 select CRYPTO_CTR 341 select CRYPTO_GCM 342 select CRYPTO_SKCIPHER 343 help 344 This option allows you to have support for AMCC crypto acceleration. 345 346config HW_RANDOM_PPC4XX 347 bool "PowerPC 4xx generic true random number generator support" 348 depends on CRYPTO_DEV_PPC4XX && HW_RANDOM 349 default y 350 ---help--- 351 This option provides the kernel-side support for the TRNG hardware 352 found in the security function of some PowerPC 4xx SoCs. 353 354config CRYPTO_DEV_OMAP 355 tristate "Support for OMAP crypto HW accelerators" 356 depends on ARCH_OMAP2PLUS 357 help 358 OMAP processors have various crypto HW accelerators. Select this if 359 you want to use the OMAP modules for any of the crypto algorithms. 360 361if CRYPTO_DEV_OMAP 362 363config CRYPTO_DEV_OMAP_SHAM 364 tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" 365 depends on ARCH_OMAP2PLUS 366 select CRYPTO_SHA1 367 select CRYPTO_MD5 368 select CRYPTO_SHA256 369 select CRYPTO_SHA512 370 select CRYPTO_HMAC 371 help 372 OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you 373 want to use the OMAP module for MD5/SHA1/SHA2 algorithms. 374 375config CRYPTO_DEV_OMAP_AES 376 tristate "Support for OMAP AES hw engine" 377 depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS 378 select CRYPTO_AES 379 select CRYPTO_SKCIPHER 380 select CRYPTO_ENGINE 381 select CRYPTO_CBC 382 select CRYPTO_ECB 383 select CRYPTO_CTR 384 select CRYPTO_AEAD 385 help 386 OMAP processors have AES module accelerator. Select this if you 387 want to use the OMAP module for AES algorithms. 388 389config CRYPTO_DEV_OMAP_DES 390 tristate "Support for OMAP DES/3DES hw engine" 391 depends on ARCH_OMAP2PLUS 392 select CRYPTO_LIB_DES 393 select CRYPTO_SKCIPHER 394 select CRYPTO_ENGINE 395 help 396 OMAP processors have DES/3DES module accelerator. Select this if you 397 want to use the OMAP module for DES and 3DES algorithms. Currently 398 the ECB and CBC modes of operation are supported by the driver. Also 399 accesses made on unaligned boundaries are supported. 400 401endif # CRYPTO_DEV_OMAP 402 403config CRYPTO_DEV_PICOXCELL 404 tristate "Support for picoXcell IPSEC and Layer2 crypto engines" 405 depends on (ARCH_PICOXCELL || COMPILE_TEST) && HAVE_CLK 406 select CRYPTO_AEAD 407 select CRYPTO_AES 408 select CRYPTO_AUTHENC 409 select CRYPTO_SKCIPHER 410 select CRYPTO_LIB_DES 411 select CRYPTO_CBC 412 select CRYPTO_ECB 413 select CRYPTO_SEQIV 414 help 415 This option enables support for the hardware offload engines in the 416 Picochip picoXcell SoC devices. Select this for IPSEC ESP offload 417 and for 3gpp Layer 2 ciphering support. 418 419 Saying m here will build a module named picoxcell_crypto. 420 421config CRYPTO_DEV_SAHARA 422 tristate "Support for SAHARA crypto accelerator" 423 depends on ARCH_MXC && OF 424 select CRYPTO_SKCIPHER 425 select CRYPTO_AES 426 select CRYPTO_ECB 427 help 428 This option enables support for the SAHARA HW crypto accelerator 429 found in some Freescale i.MX chips. 430 431config CRYPTO_DEV_EXYNOS_RNG 432 tristate "EXYNOS HW pseudo random number generator support" 433 depends on ARCH_EXYNOS || COMPILE_TEST 434 depends on HAS_IOMEM 435 select CRYPTO_RNG 436 ---help--- 437 This driver provides kernel-side support through the 438 cryptographic API for the pseudo random number generator hardware 439 found on Exynos SoCs. 440 441 To compile this driver as a module, choose M here: the 442 module will be called exynos-rng. 443 444 If unsure, say Y. 445 446config CRYPTO_DEV_S5P 447 tristate "Support for Samsung S5PV210/Exynos crypto accelerator" 448 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 449 depends on HAS_IOMEM 450 select CRYPTO_AES 451 select CRYPTO_SKCIPHER 452 help 453 This option allows you to have support for S5P crypto acceleration. 454 Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES 455 algorithms execution. 456 457config CRYPTO_DEV_EXYNOS_HASH 458 bool "Support for Samsung Exynos HASH accelerator" 459 depends on CRYPTO_DEV_S5P 460 depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m 461 select CRYPTO_SHA1 462 select CRYPTO_MD5 463 select CRYPTO_SHA256 464 help 465 Select this to offload Exynos from HASH MD5/SHA1/SHA256. 466 This will select software SHA1, MD5 and SHA256 as they are 467 needed for small and zero-size messages. 468 HASH algorithms will be disabled if EXYNOS_RNG 469 is enabled due to hw conflict. 470 471config CRYPTO_DEV_NX 472 bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" 473 depends on PPC64 474 help 475 This enables support for the NX hardware cryptographic accelerator 476 coprocessor that is in IBM PowerPC P7+ or later processors. This 477 does not actually enable any drivers, it only allows you to select 478 which acceleration type (encryption and/or compression) to enable. 479 480if CRYPTO_DEV_NX 481 source "drivers/crypto/nx/Kconfig" 482endif 483 484config CRYPTO_DEV_UX500 485 tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" 486 depends on ARCH_U8500 487 help 488 Driver for ST-Ericsson UX500 crypto engine. 489 490if CRYPTO_DEV_UX500 491 source "drivers/crypto/ux500/Kconfig" 492endif # if CRYPTO_DEV_UX500 493 494config CRYPTO_DEV_ATMEL_AUTHENC 495 bool "Support for Atmel IPSEC/SSL hw accelerator" 496 depends on ARCH_AT91 || COMPILE_TEST 497 depends on CRYPTO_DEV_ATMEL_AES 498 help 499 Some Atmel processors can combine the AES and SHA hw accelerators 500 to enhance support of IPSEC/SSL. 501 Select this if you want to use the Atmel modules for 502 authenc(hmac(shaX),Y(cbc)) algorithms. 503 504config CRYPTO_DEV_ATMEL_AES 505 tristate "Support for Atmel AES hw accelerator" 506 depends on ARCH_AT91 || COMPILE_TEST 507 select CRYPTO_AES 508 select CRYPTO_AEAD 509 select CRYPTO_SKCIPHER 510 select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC 511 select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC 512 help 513 Some Atmel processors have AES hw accelerator. 514 Select this if you want to use the Atmel module for 515 AES algorithms. 516 517 To compile this driver as a module, choose M here: the module 518 will be called atmel-aes. 519 520config CRYPTO_DEV_ATMEL_TDES 521 tristate "Support for Atmel DES/TDES hw accelerator" 522 depends on ARCH_AT91 || COMPILE_TEST 523 select CRYPTO_LIB_DES 524 select CRYPTO_SKCIPHER 525 help 526 Some Atmel processors have DES/TDES hw accelerator. 527 Select this if you want to use the Atmel module for 528 DES/TDES algorithms. 529 530 To compile this driver as a module, choose M here: the module 531 will be called atmel-tdes. 532 533config CRYPTO_DEV_ATMEL_SHA 534 tristate "Support for Atmel SHA hw accelerator" 535 depends on ARCH_AT91 || COMPILE_TEST 536 select CRYPTO_HASH 537 help 538 Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 539 hw accelerator. 540 Select this if you want to use the Atmel module for 541 SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. 542 543 To compile this driver as a module, choose M here: the module 544 will be called atmel-sha. 545 546config CRYPTO_DEV_ATMEL_I2C 547 tristate 548 549config CRYPTO_DEV_ATMEL_ECC 550 tristate "Support for Microchip / Atmel ECC hw accelerator" 551 depends on I2C 552 select CRYPTO_DEV_ATMEL_I2C 553 select CRYPTO_ECDH 554 select CRC16 555 help 556 Microhip / Atmel ECC hw accelerator. 557 Select this if you want to use the Microchip / Atmel module for 558 ECDH algorithm. 559 560 To compile this driver as a module, choose M here: the module 561 will be called atmel-ecc. 562 563config CRYPTO_DEV_ATMEL_SHA204A 564 tristate "Support for Microchip / Atmel SHA accelerator and RNG" 565 depends on I2C 566 select CRYPTO_DEV_ATMEL_I2C 567 select HW_RANDOM 568 select CRC16 569 help 570 Microhip / Atmel SHA accelerator and RNG. 571 Select this if you want to use the Microchip / Atmel SHA204A 572 module as a random number generator. (Other functions of the 573 chip are currently not exposed by this driver) 574 575 To compile this driver as a module, choose M here: the module 576 will be called atmel-sha204a. 577 578config CRYPTO_DEV_CCP 579 bool "Support for AMD Secure Processor" 580 depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM 581 help 582 The AMD Secure Processor provides support for the Cryptographic Coprocessor 583 (CCP) and the Platform Security Processor (PSP) devices. 584 585if CRYPTO_DEV_CCP 586 source "drivers/crypto/ccp/Kconfig" 587endif 588 589config CRYPTO_DEV_MXS_DCP 590 tristate "Support for Freescale MXS DCP" 591 depends on (ARCH_MXS || ARCH_MXC) 592 select STMP_DEVICE 593 select CRYPTO_CBC 594 select CRYPTO_ECB 595 select CRYPTO_AES 596 select CRYPTO_SKCIPHER 597 select CRYPTO_HASH 598 help 599 The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB 600 co-processor on the die. 601 602 To compile this driver as a module, choose M here: the module 603 will be called mxs-dcp. 604 605source "drivers/crypto/qat/Kconfig" 606source "drivers/crypto/cavium/cpt/Kconfig" 607source "drivers/crypto/cavium/nitrox/Kconfig" 608 609config CRYPTO_DEV_CAVIUM_ZIP 610 tristate "Cavium ZIP driver" 611 depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 612 ---help--- 613 Select this option if you want to enable compression/decompression 614 acceleration on Cavium's ARM based SoCs 615 616config CRYPTO_DEV_QCE 617 tristate "Qualcomm crypto engine accelerator" 618 depends on ARCH_QCOM || COMPILE_TEST 619 depends on HAS_IOMEM 620 select CRYPTO_AES 621 select CRYPTO_LIB_DES 622 select CRYPTO_ECB 623 select CRYPTO_CBC 624 select CRYPTO_XTS 625 select CRYPTO_CTR 626 select CRYPTO_SKCIPHER 627 help 628 This driver supports Qualcomm crypto engine accelerator 629 hardware. To compile this driver as a module, choose M here. The 630 module will be called qcrypto. 631 632config CRYPTO_DEV_QCOM_RNG 633 tristate "Qualcomm Random Number Generator Driver" 634 depends on ARCH_QCOM || COMPILE_TEST 635 select CRYPTO_RNG 636 help 637 This driver provides support for the Random Number 638 Generator hardware found on Qualcomm SoCs. 639 640 To compile this driver as a module, choose M here. The 641 module will be called qcom-rng. If unsure, say N. 642 643config CRYPTO_DEV_VMX 644 bool "Support for VMX cryptographic acceleration instructions" 645 depends on PPC64 && VSX 646 help 647 Support for VMX cryptographic acceleration instructions. 648 649source "drivers/crypto/vmx/Kconfig" 650 651config CRYPTO_DEV_IMGTEC_HASH 652 tristate "Imagination Technologies hardware hash accelerator" 653 depends on MIPS || COMPILE_TEST 654 select CRYPTO_MD5 655 select CRYPTO_SHA1 656 select CRYPTO_SHA256 657 select CRYPTO_HASH 658 help 659 This driver interfaces with the Imagination Technologies 660 hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 661 hashing algorithms. 662 663config CRYPTO_DEV_ROCKCHIP 664 tristate "Rockchip's Cryptographic Engine driver" 665 depends on OF && ARCH_ROCKCHIP 666 select CRYPTO_AES 667 select CRYPTO_LIB_DES 668 select CRYPTO_MD5 669 select CRYPTO_SHA1 670 select CRYPTO_SHA256 671 select CRYPTO_HASH 672 select CRYPTO_SKCIPHER 673 674 help 675 This driver interfaces with the hardware crypto accelerator. 676 Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. 677 678config CRYPTO_DEV_MEDIATEK 679 tristate "MediaTek's EIP97 Cryptographic Engine driver" 680 depends on (ARM && ARCH_MEDIATEK) || COMPILE_TEST 681 select CRYPTO_AES 682 select CRYPTO_AEAD 683 select CRYPTO_SKCIPHER 684 select CRYPTO_CTR 685 select CRYPTO_SHA1 686 select CRYPTO_SHA256 687 select CRYPTO_SHA512 688 select CRYPTO_HMAC 689 help 690 This driver allows you to utilize the hardware crypto accelerator 691 EIP97 which can be found on the MT7623 MT2701, MT8521p, etc .... 692 Select this if you want to use it for AES/SHA1/SHA2 algorithms. 693 694source "drivers/crypto/chelsio/Kconfig" 695 696source "drivers/crypto/virtio/Kconfig" 697 698config CRYPTO_DEV_BCM_SPU 699 tristate "Broadcom symmetric crypto/hash acceleration support" 700 depends on ARCH_BCM_IPROC 701 depends on MAILBOX 702 default m 703 select CRYPTO_AUTHENC 704 select CRYPTO_LIB_DES 705 select CRYPTO_MD5 706 select CRYPTO_SHA1 707 select CRYPTO_SHA256 708 select CRYPTO_SHA512 709 help 710 This driver provides support for Broadcom crypto acceleration using the 711 Secure Processing Unit (SPU). The SPU driver registers skcipher, 712 ahash, and aead algorithms with the kernel cryptographic API. 713 714source "drivers/crypto/stm32/Kconfig" 715 716config CRYPTO_DEV_SAFEXCEL 717 tristate "Inside Secure's SafeXcel cryptographic engine driver" 718 depends on OF || PCI || COMPILE_TEST 719 select CRYPTO_LIB_AES 720 select CRYPTO_AUTHENC 721 select CRYPTO_SKCIPHER 722 select CRYPTO_LIB_DES 723 select CRYPTO_HASH 724 select CRYPTO_HMAC 725 select CRYPTO_MD5 726 select CRYPTO_SHA1 727 select CRYPTO_SHA256 728 select CRYPTO_SHA512 729 select CRYPTO_CHACHA20POLY1305 730 select CRYPTO_SHA3 731 help 732 This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic 733 engines designed by Inside Secure. It currently accelerates DES, 3DES and 734 AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, 735 SHA384 and SHA512 hash algorithms for both basic hash and HMAC. 736 Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. 737 738config CRYPTO_DEV_ARTPEC6 739 tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." 740 depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) 741 depends on OF 742 select CRYPTO_AEAD 743 select CRYPTO_AES 744 select CRYPTO_ALGAPI 745 select CRYPTO_SKCIPHER 746 select CRYPTO_CTR 747 select CRYPTO_HASH 748 select CRYPTO_SHA1 749 select CRYPTO_SHA256 750 select CRYPTO_SHA512 751 help 752 Enables the driver for the on-chip crypto accelerator 753 of Axis ARTPEC SoCs. 754 755 To compile this driver as a module, choose M here. 756 757config CRYPTO_DEV_CCREE 758 tristate "Support for ARM TrustZone CryptoCell family of security processors" 759 depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA 760 default n 761 select CRYPTO_HASH 762 select CRYPTO_SKCIPHER 763 select CRYPTO_LIB_DES 764 select CRYPTO_AEAD 765 select CRYPTO_AUTHENC 766 select CRYPTO_SHA1 767 select CRYPTO_MD5 768 select CRYPTO_SHA256 769 select CRYPTO_SHA512 770 select CRYPTO_HMAC 771 select CRYPTO_AES 772 select CRYPTO_CBC 773 select CRYPTO_ECB 774 select CRYPTO_CTR 775 select CRYPTO_XTS 776 select CRYPTO_SM4 777 select CRYPTO_SM3 778 help 779 Say 'Y' to enable a driver for the REE interface of the Arm 780 TrustZone CryptoCell family of processors. Currently the 781 CryptoCell 713, 703, 712, 710 and 630 are supported. 782 Choose this if you wish to use hardware acceleration of 783 cryptographic operations on the system REE. 784 If unsure say Y. 785 786source "drivers/crypto/hisilicon/Kconfig" 787 788source "drivers/crypto/amlogic/Kconfig" 789 790endif # CRYPTO_HW 791