162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_SEC
462306a36Sopenharmony_ci	tristate "Support for Hisilicon SEC crypto block cipher accelerator"
562306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
662306a36Sopenharmony_ci	select CRYPTO_ALGAPI
762306a36Sopenharmony_ci	select CRYPTO_LIB_DES
862306a36Sopenharmony_ci	select SG_SPLIT
962306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
1062306a36Sopenharmony_ci	depends on HAS_IOMEM
1162306a36Sopenharmony_ci	help
1262306a36Sopenharmony_ci	  Support for Hisilicon SEC Engine in Hip06 and Hip07
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  To compile this as a module, choose M here: the module
1562306a36Sopenharmony_ci	  will be called hisi_sec.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_SEC2
1862306a36Sopenharmony_ci	tristate "Support for HiSilicon SEC2 crypto block cipher accelerator"
1962306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
2062306a36Sopenharmony_ci	select CRYPTO_ALGAPI
2162306a36Sopenharmony_ci	select CRYPTO_LIB_DES
2262306a36Sopenharmony_ci	select CRYPTO_DEV_HISI_QM
2362306a36Sopenharmony_ci	select CRYPTO_AEAD
2462306a36Sopenharmony_ci	select CRYPTO_AUTHENC
2562306a36Sopenharmony_ci	select CRYPTO_HMAC
2662306a36Sopenharmony_ci	select CRYPTO_SHA1
2762306a36Sopenharmony_ci	select CRYPTO_SHA256
2862306a36Sopenharmony_ci	select CRYPTO_SHA512
2962306a36Sopenharmony_ci	select CRYPTO_SM4_GENERIC
3062306a36Sopenharmony_ci	depends on PCI_MSI
3162306a36Sopenharmony_ci	depends on UACCE || UACCE=n
3262306a36Sopenharmony_ci	depends on ARM64 || (COMPILE_TEST && 64BIT)
3362306a36Sopenharmony_ci	depends on ACPI
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Support for HiSilicon SEC Engine of version 2 in crypto subsystem.
3662306a36Sopenharmony_ci	  It provides AES, SM4, and 3DES algorithms with ECB
3762306a36Sopenharmony_ci	  CBC, and XTS cipher mode, and AEAD algorithms.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  To compile this as a module, choose M here: the module
4062306a36Sopenharmony_ci          will be called hisi_sec2.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_QM
4362306a36Sopenharmony_ci	tristate
4462306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
4562306a36Sopenharmony_ci	depends on PCI_MSI
4662306a36Sopenharmony_ci	depends on UACCE || UACCE=n
4762306a36Sopenharmony_ci	depends on ACPI
4862306a36Sopenharmony_ci	help
4962306a36Sopenharmony_ci	  HiSilicon accelerator engines use a common queue management
5062306a36Sopenharmony_ci	  interface. Specific engine driver may use this module.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_ZIP
5362306a36Sopenharmony_ci	tristate "Support for HiSilicon ZIP accelerator"
5462306a36Sopenharmony_ci	depends on PCI_MSI
5562306a36Sopenharmony_ci	depends on ARM64 || (COMPILE_TEST && 64BIT)
5662306a36Sopenharmony_ci	depends on !CPU_BIG_ENDIAN || COMPILE_TEST
5762306a36Sopenharmony_ci	depends on UACCE || UACCE=n
5862306a36Sopenharmony_ci	depends on ACPI
5962306a36Sopenharmony_ci	select CRYPTO_DEV_HISI_QM
6062306a36Sopenharmony_ci	help
6162306a36Sopenharmony_ci	  Support for HiSilicon ZIP Driver
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_HPRE
6462306a36Sopenharmony_ci	tristate "Support for HISI HPRE accelerator"
6562306a36Sopenharmony_ci	depends on PCI_MSI
6662306a36Sopenharmony_ci	depends on UACCE || UACCE=n
6762306a36Sopenharmony_ci	depends on ARM64 || (COMPILE_TEST && 64BIT)
6862306a36Sopenharmony_ci	depends on ACPI
6962306a36Sopenharmony_ci	select CRYPTO_DEV_HISI_QM
7062306a36Sopenharmony_ci	select CRYPTO_DH
7162306a36Sopenharmony_ci	select CRYPTO_RSA
7262306a36Sopenharmony_ci	select CRYPTO_CURVE25519
7362306a36Sopenharmony_ci	select CRYPTO_ECDH
7462306a36Sopenharmony_ci	help
7562306a36Sopenharmony_ci	  Support for HiSilicon HPRE(High Performance RSA Engine)
7662306a36Sopenharmony_ci	  accelerator, which can accelerate RSA and DH algorithms.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig CRYPTO_DEV_HISI_TRNG
7962306a36Sopenharmony_ci	tristate "Support for HISI TRNG Driver"
8062306a36Sopenharmony_ci	depends on ARM64 && ACPI
8162306a36Sopenharmony_ci	select HW_RANDOM
8262306a36Sopenharmony_ci	select CRYPTO_RNG
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  Support for HiSilicon TRNG Driver.
85