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 CRYPTO_LIB_DES 293 select HW_RANDOM 294 depends on FSL_SOC 295 help 296 Say 'Y' here to use the Freescale Security Engine (SEC) 297 to offload cryptographic algorithm computation. 298 299 The Freescale SEC is present on PowerQUICC 'E' processors, such 300 as the MPC8349E and MPC8548E. 301 302 To compile this driver as a module, choose M here: the module 303 will be called talitos. 304 305config CRYPTO_DEV_TALITOS1 306 bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" 307 depends on CRYPTO_DEV_TALITOS 308 depends on PPC_8xx || PPC_82xx 309 default y 310 help 311 Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 312 found on MPC82xx or the Freescale Security Engine (SEC Lite) 313 version 1.2 found on MPC8xx 314 315config CRYPTO_DEV_TALITOS2 316 bool "SEC2+ (SEC version 2.0 or upper)" 317 depends on CRYPTO_DEV_TALITOS 318 default y if !PPC_8xx 319 help 320 Say 'Y' here to use the Freescale Security Engine (SEC) 321 version 2 and following as found on MPC83xx, MPC85xx, etc ... 322 323config CRYPTO_DEV_IXP4XX 324 tristate "Driver for IXP4xx crypto hardware acceleration" 325 depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE 326 select CRYPTO_LIB_DES 327 select CRYPTO_AEAD 328 select CRYPTO_AUTHENC 329 select CRYPTO_SKCIPHER 330 help 331 Driver for the IXP4xx NPE crypto engine. 332 333config CRYPTO_DEV_PPC4XX 334 tristate "Driver AMCC PPC4xx crypto accelerator" 335 depends on PPC && 4xx 336 select CRYPTO_HASH 337 select CRYPTO_AEAD 338 select CRYPTO_AES 339 select CRYPTO_LIB_AES 340 select CRYPTO_CCM 341 select CRYPTO_CTR 342 select CRYPTO_GCM 343 select CRYPTO_SKCIPHER 344 help 345 This option allows you to have support for AMCC crypto acceleration. 346 347config HW_RANDOM_PPC4XX 348 bool "PowerPC 4xx generic true random number generator support" 349 depends on CRYPTO_DEV_PPC4XX && HW_RANDOM 350 default y 351 ---help--- 352 This option provides the kernel-side support for the TRNG hardware 353 found in the security function of some PowerPC 4xx SoCs. 354 355config CRYPTO_DEV_OMAP 356 tristate "Support for OMAP crypto HW accelerators" 357 depends on ARCH_OMAP2PLUS 358 help 359 OMAP processors have various crypto HW accelerators. Select this if 360 you want to use the OMAP modules for any of the crypto algorithms. 361 362if CRYPTO_DEV_OMAP 363 364config CRYPTO_DEV_OMAP_SHAM 365 tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" 366 depends on ARCH_OMAP2PLUS 367 select CRYPTO_SHA1 368 select CRYPTO_MD5 369 select CRYPTO_SHA256 370 select CRYPTO_SHA512 371 select CRYPTO_HMAC 372 help 373 OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you 374 want to use the OMAP module for MD5/SHA1/SHA2 algorithms. 375 376config CRYPTO_DEV_OMAP_AES 377 tristate "Support for OMAP AES hw engine" 378 depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS 379 select CRYPTO_AES 380 select CRYPTO_SKCIPHER 381 select CRYPTO_ENGINE 382 select CRYPTO_CBC 383 select CRYPTO_ECB 384 select CRYPTO_CTR 385 select CRYPTO_AEAD 386 help 387 OMAP processors have AES module accelerator. Select this if you 388 want to use the OMAP module for AES algorithms. 389 390config CRYPTO_DEV_OMAP_DES 391 tristate "Support for OMAP DES/3DES hw engine" 392 depends on ARCH_OMAP2PLUS 393 select CRYPTO_LIB_DES 394 select CRYPTO_SKCIPHER 395 select CRYPTO_ENGINE 396 help 397 OMAP processors have DES/3DES module accelerator. Select this if you 398 want to use the OMAP module for DES and 3DES algorithms. Currently 399 the ECB and CBC modes of operation are supported by the driver. Also 400 accesses made on unaligned boundaries are supported. 401 402endif # CRYPTO_DEV_OMAP 403 404config CRYPTO_DEV_PICOXCELL 405 tristate "Support for picoXcell IPSEC and Layer2 crypto engines" 406 depends on (ARCH_PICOXCELL || COMPILE_TEST) && HAVE_CLK 407 select CRYPTO_AEAD 408 select CRYPTO_AES 409 select CRYPTO_AUTHENC 410 select CRYPTO_SKCIPHER 411 select CRYPTO_LIB_DES 412 select CRYPTO_CBC 413 select CRYPTO_ECB 414 select CRYPTO_SEQIV 415 help 416 This option enables support for the hardware offload engines in the 417 Picochip picoXcell SoC devices. Select this for IPSEC ESP offload 418 and for 3gpp Layer 2 ciphering support. 419 420 Saying m here will build a module named picoxcell_crypto. 421 422config CRYPTO_DEV_SAHARA 423 tristate "Support for SAHARA crypto accelerator" 424 depends on ARCH_MXC && OF 425 select CRYPTO_SKCIPHER 426 select CRYPTO_AES 427 select CRYPTO_ECB 428 help 429 This option enables support for the SAHARA HW crypto accelerator 430 found in some Freescale i.MX chips. 431 432config CRYPTO_DEV_EXYNOS_RNG 433 tristate "EXYNOS HW pseudo random number generator support" 434 depends on ARCH_EXYNOS || COMPILE_TEST 435 depends on HAS_IOMEM 436 select CRYPTO_RNG 437 ---help--- 438 This driver provides kernel-side support through the 439 cryptographic API for the pseudo random number generator hardware 440 found on Exynos SoCs. 441 442 To compile this driver as a module, choose M here: the 443 module will be called exynos-rng. 444 445 If unsure, say Y. 446 447config CRYPTO_DEV_S5P 448 tristate "Support for Samsung S5PV210/Exynos crypto accelerator" 449 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 450 depends on HAS_IOMEM 451 select CRYPTO_AES 452 select CRYPTO_SKCIPHER 453 help 454 This option allows you to have support for S5P crypto acceleration. 455 Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES 456 algorithms execution. 457 458config CRYPTO_DEV_EXYNOS_HASH 459 bool "Support for Samsung Exynos HASH accelerator" 460 depends on CRYPTO_DEV_S5P 461 depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m 462 select CRYPTO_SHA1 463 select CRYPTO_MD5 464 select CRYPTO_SHA256 465 help 466 Select this to offload Exynos from HASH MD5/SHA1/SHA256. 467 This will select software SHA1, MD5 and SHA256 as they are 468 needed for small and zero-size messages. 469 HASH algorithms will be disabled if EXYNOS_RNG 470 is enabled due to hw conflict. 471 472config CRYPTO_DEV_NX 473 bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" 474 depends on PPC64 475 help 476 This enables support for the NX hardware cryptographic accelerator 477 coprocessor that is in IBM PowerPC P7+ or later processors. This 478 does not actually enable any drivers, it only allows you to select 479 which acceleration type (encryption and/or compression) to enable. 480 481if CRYPTO_DEV_NX 482 source "drivers/crypto/nx/Kconfig" 483endif 484 485config CRYPTO_DEV_UX500 486 tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" 487 depends on ARCH_U8500 488 help 489 Driver for ST-Ericsson UX500 crypto engine. 490 491if CRYPTO_DEV_UX500 492 source "drivers/crypto/ux500/Kconfig" 493endif # if CRYPTO_DEV_UX500 494 495config CRYPTO_DEV_ATMEL_AUTHENC 496 bool "Support for Atmel IPSEC/SSL hw accelerator" 497 depends on ARCH_AT91 || COMPILE_TEST 498 depends on CRYPTO_DEV_ATMEL_AES 499 help 500 Some Atmel processors can combine the AES and SHA hw accelerators 501 to enhance support of IPSEC/SSL. 502 Select this if you want to use the Atmel modules for 503 authenc(hmac(shaX),Y(cbc)) algorithms. 504 505config CRYPTO_DEV_ATMEL_AES 506 tristate "Support for Atmel AES hw accelerator" 507 depends on ARCH_AT91 || COMPILE_TEST 508 select CRYPTO_AES 509 select CRYPTO_AEAD 510 select CRYPTO_SKCIPHER 511 select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC 512 select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC 513 help 514 Some Atmel processors have AES hw accelerator. 515 Select this if you want to use the Atmel module for 516 AES algorithms. 517 518 To compile this driver as a module, choose M here: the module 519 will be called atmel-aes. 520 521config CRYPTO_DEV_ATMEL_TDES 522 tristate "Support for Atmel DES/TDES hw accelerator" 523 depends on ARCH_AT91 || COMPILE_TEST 524 select CRYPTO_LIB_DES 525 select CRYPTO_SKCIPHER 526 help 527 Some Atmel processors have DES/TDES hw accelerator. 528 Select this if you want to use the Atmel module for 529 DES/TDES algorithms. 530 531 To compile this driver as a module, choose M here: the module 532 will be called atmel-tdes. 533 534config CRYPTO_DEV_ATMEL_SHA 535 tristate "Support for Atmel SHA hw accelerator" 536 depends on ARCH_AT91 || COMPILE_TEST 537 select CRYPTO_HASH 538 help 539 Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 540 hw accelerator. 541 Select this if you want to use the Atmel module for 542 SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. 543 544 To compile this driver as a module, choose M here: the module 545 will be called atmel-sha. 546 547config CRYPTO_DEV_ATMEL_I2C 548 tristate 549 550config CRYPTO_DEV_ATMEL_ECC 551 tristate "Support for Microchip / Atmel ECC hw accelerator" 552 depends on I2C 553 select CRYPTO_DEV_ATMEL_I2C 554 select CRYPTO_ECDH 555 select CRC16 556 help 557 Microhip / Atmel ECC hw accelerator. 558 Select this if you want to use the Microchip / Atmel module for 559 ECDH algorithm. 560 561 To compile this driver as a module, choose M here: the module 562 will be called atmel-ecc. 563 564config CRYPTO_DEV_ATMEL_SHA204A 565 tristate "Support for Microchip / Atmel SHA accelerator and RNG" 566 depends on I2C 567 select CRYPTO_DEV_ATMEL_I2C 568 select HW_RANDOM 569 select CRC16 570 help 571 Microhip / Atmel SHA accelerator and RNG. 572 Select this if you want to use the Microchip / Atmel SHA204A 573 module as a random number generator. (Other functions of the 574 chip are currently not exposed by this driver) 575 576 To compile this driver as a module, choose M here: the module 577 will be called atmel-sha204a. 578 579config CRYPTO_DEV_CCP 580 bool "Support for AMD Secure Processor" 581 depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM 582 help 583 The AMD Secure Processor provides support for the Cryptographic Coprocessor 584 (CCP) and the Platform Security Processor (PSP) devices. 585 586if CRYPTO_DEV_CCP 587 source "drivers/crypto/ccp/Kconfig" 588endif 589 590config CRYPTO_DEV_MXS_DCP 591 tristate "Support for Freescale MXS DCP" 592 depends on (ARCH_MXS || ARCH_MXC) 593 select STMP_DEVICE 594 select CRYPTO_CBC 595 select CRYPTO_ECB 596 select CRYPTO_AES 597 select CRYPTO_SKCIPHER 598 select CRYPTO_HASH 599 help 600 The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB 601 co-processor on the die. 602 603 To compile this driver as a module, choose M here: the module 604 will be called mxs-dcp. 605 606source "drivers/crypto/qat/Kconfig" 607source "drivers/crypto/cavium/cpt/Kconfig" 608source "drivers/crypto/cavium/nitrox/Kconfig" 609 610config CRYPTO_DEV_CAVIUM_ZIP 611 tristate "Cavium ZIP driver" 612 depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 613 ---help--- 614 Select this option if you want to enable compression/decompression 615 acceleration on Cavium's ARM based SoCs 616 617config CRYPTO_DEV_QCE 618 tristate "Qualcomm crypto engine accelerator" 619 depends on ARCH_QCOM || COMPILE_TEST 620 depends on HAS_IOMEM 621 select CRYPTO_AES 622 select CRYPTO_LIB_DES 623 select CRYPTO_ECB 624 select CRYPTO_CBC 625 select CRYPTO_XTS 626 select CRYPTO_CTR 627 select CRYPTO_SKCIPHER 628 help 629 This driver supports Qualcomm crypto engine accelerator 630 hardware. To compile this driver as a module, choose M here. The 631 module will be called qcrypto. 632 633config CRYPTO_DEV_QCOM_RNG 634 tristate "Qualcomm Random Number Generator Driver" 635 depends on ARCH_QCOM || COMPILE_TEST 636 select CRYPTO_RNG 637 help 638 This driver provides support for the Random Number 639 Generator hardware found on Qualcomm SoCs. 640 641 To compile this driver as a module, choose M here. The 642 module will be called qcom-rng. If unsure, say N. 643 644config CRYPTO_DEV_VMX 645 bool "Support for VMX cryptographic acceleration instructions" 646 depends on PPC64 && VSX 647 help 648 Support for VMX cryptographic acceleration instructions. 649 650source "drivers/crypto/vmx/Kconfig" 651 652config CRYPTO_DEV_IMGTEC_HASH 653 tristate "Imagination Technologies hardware hash accelerator" 654 depends on MIPS || COMPILE_TEST 655 select CRYPTO_MD5 656 select CRYPTO_SHA1 657 select CRYPTO_SHA256 658 select CRYPTO_HASH 659 help 660 This driver interfaces with the Imagination Technologies 661 hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 662 hashing algorithms. 663 664config CRYPTO_DEV_ROCKCHIP 665 tristate "Rockchip's Cryptographic Engine driver" 666 depends on OF && ARCH_ROCKCHIP 667 select CRYPTO_AES 668 select CRYPTO_LIB_DES 669 select CRYPTO_MD5 670 select CRYPTO_SHA1 671 select CRYPTO_SHA256 672 select CRYPTO_HASH 673 select CRYPTO_SKCIPHER 674 675 help 676 This driver interfaces with the hardware crypto accelerator. 677 Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. 678 679config CRYPTO_DEV_MEDIATEK 680 tristate "MediaTek's EIP97 Cryptographic Engine driver" 681 depends on (ARM && ARCH_MEDIATEK) || COMPILE_TEST 682 select CRYPTO_AES 683 select CRYPTO_AEAD 684 select CRYPTO_SKCIPHER 685 select CRYPTO_CTR 686 select CRYPTO_SHA1 687 select CRYPTO_SHA256 688 select CRYPTO_SHA512 689 select CRYPTO_HMAC 690 help 691 This driver allows you to utilize the hardware crypto accelerator 692 EIP97 which can be found on the MT7623 MT2701, MT8521p, etc .... 693 Select this if you want to use it for AES/SHA1/SHA2 algorithms. 694 695source "drivers/crypto/chelsio/Kconfig" 696 697source "drivers/crypto/virtio/Kconfig" 698 699config CRYPTO_DEV_BCM_SPU 700 tristate "Broadcom symmetric crypto/hash acceleration support" 701 depends on ARCH_BCM_IPROC 702 depends on MAILBOX 703 default m 704 select CRYPTO_AUTHENC 705 select CRYPTO_LIB_DES 706 select CRYPTO_MD5 707 select CRYPTO_SHA1 708 select CRYPTO_SHA256 709 select CRYPTO_SHA512 710 help 711 This driver provides support for Broadcom crypto acceleration using the 712 Secure Processing Unit (SPU). The SPU driver registers skcipher, 713 ahash, and aead algorithms with the kernel cryptographic API. 714 715source "drivers/crypto/stm32/Kconfig" 716 717config CRYPTO_DEV_SAFEXCEL 718 tristate "Inside Secure's SafeXcel cryptographic engine driver" 719 depends on OF || PCI || COMPILE_TEST 720 select CRYPTO_LIB_AES 721 select CRYPTO_AUTHENC 722 select CRYPTO_SKCIPHER 723 select CRYPTO_LIB_DES 724 select CRYPTO_HASH 725 select CRYPTO_HMAC 726 select CRYPTO_MD5 727 select CRYPTO_SHA1 728 select CRYPTO_SHA256 729 select CRYPTO_SHA512 730 select CRYPTO_CHACHA20POLY1305 731 select CRYPTO_SHA3 732 help 733 This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic 734 engines designed by Inside Secure. It currently accelerates DES, 3DES and 735 AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, 736 SHA384 and SHA512 hash algorithms for both basic hash and HMAC. 737 Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. 738 739config CRYPTO_DEV_ARTPEC6 740 tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." 741 depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) 742 depends on OF 743 select CRYPTO_AEAD 744 select CRYPTO_AES 745 select CRYPTO_ALGAPI 746 select CRYPTO_SKCIPHER 747 select CRYPTO_CTR 748 select CRYPTO_HASH 749 select CRYPTO_SHA1 750 select CRYPTO_SHA256 751 select CRYPTO_SHA512 752 help 753 Enables the driver for the on-chip crypto accelerator 754 of Axis ARTPEC SoCs. 755 756 To compile this driver as a module, choose M here. 757 758config CRYPTO_DEV_CCREE 759 tristate "Support for ARM TrustZone CryptoCell family of security processors" 760 depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA 761 default n 762 select CRYPTO_HASH 763 select CRYPTO_SKCIPHER 764 select CRYPTO_LIB_DES 765 select CRYPTO_AEAD 766 select CRYPTO_AUTHENC 767 select CRYPTO_SHA1 768 select CRYPTO_MD5 769 select CRYPTO_SHA256 770 select CRYPTO_SHA512 771 select CRYPTO_HMAC 772 select CRYPTO_AES 773 select CRYPTO_CBC 774 select CRYPTO_ECB 775 select CRYPTO_CTR 776 select CRYPTO_XTS 777 select CRYPTO_SM4 778 select CRYPTO_SM3 779 help 780 Say 'Y' to enable a driver for the REE interface of the Arm 781 TrustZone CryptoCell family of processors. Currently the 782 CryptoCell 713, 703, 712, 710 and 630 are supported. 783 Choose this if you wish to use hardware acceleration of 784 cryptographic operations on the system REE. 785 If unsure say Y. 786 787source "drivers/crypto/hisilicon/Kconfig" 788 789source "drivers/crypto/amlogic/Kconfig" 790 791endif # CRYPTO_HW 792