# SPDX-License-Identifier: GPL-2.0

config CRYPTO_DEV_HISI_SEC
	tristate "Support for Hisilicon SEC crypto block cipher accelerator"
	select CRYPTO_SKCIPHER
	select CRYPTO_ALGAPI
	select CRYPTO_LIB_DES
	select SG_SPLIT
	depends on ARM64 || COMPILE_TEST
	depends on HAS_IOMEM
	help
	  Support for Hisilicon SEC Engine in Hip06 and Hip07

	  To compile this as a module, choose M here: the module
	  will be called hisi_sec.

config CRYPTO_DEV_HISI_SEC2
	tristate "Support for HiSilicon SEC2 crypto block cipher accelerator"
	select CRYPTO_SKCIPHER
	select CRYPTO_ALGAPI
	select CRYPTO_LIB_DES
	select CRYPTO_DEV_HISI_QM
	select CRYPTO_AEAD
	select CRYPTO_AUTHENC
	select CRYPTO_HMAC
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	select CRYPTO_SHA512
	select CRYPTO_SM4_GENERIC
	depends on PCI_MSI
	depends on UACCE || UACCE=n
	depends on ARM64 || (COMPILE_TEST && 64BIT)
	depends on ACPI
	help
	  Support for HiSilicon SEC Engine of version 2 in crypto subsystem.
	  It provides AES, SM4, and 3DES algorithms with ECB
	  CBC, and XTS cipher mode, and AEAD algorithms.

	  To compile this as a module, choose M here: the module
          will be called hisi_sec2.

config CRYPTO_DEV_HISI_QM
	tristate
	depends on ARM64 || COMPILE_TEST
	depends on PCI_MSI
	depends on UACCE || UACCE=n
	depends on ACPI
	help
	  HiSilicon accelerator engines use a common queue management
	  interface. Specific engine driver may use this module.

config CRYPTO_DEV_HISI_ZIP
	tristate "Support for HiSilicon ZIP accelerator"
	depends on PCI_MSI
	depends on ARM64 || (COMPILE_TEST && 64BIT)
	depends on !CPU_BIG_ENDIAN || COMPILE_TEST
	depends on UACCE || UACCE=n
	depends on ACPI
	select CRYPTO_DEV_HISI_QM
	help
	  Support for HiSilicon ZIP Driver

config CRYPTO_DEV_HISI_HPRE
	tristate "Support for HISI HPRE accelerator"
	depends on PCI_MSI
	depends on UACCE || UACCE=n
	depends on ARM64 || (COMPILE_TEST && 64BIT)
	depends on ACPI
	select CRYPTO_DEV_HISI_QM
	select CRYPTO_DH
	select CRYPTO_RSA
	select CRYPTO_CURVE25519
	select CRYPTO_ECDH
	help
	  Support for HiSilicon HPRE(High Performance RSA Engine)
	  accelerator, which can accelerate RSA and DH algorithms.

config CRYPTO_DEV_HISI_TRNG
	tristate "Support for HISI TRNG Driver"
	depends on ARM64 && ACPI
	select HW_RANDOM
	select CRYPTO_RNG
	help
	  Support for HiSilicon TRNG Driver.