config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
	tristate "Support for Intel Keem Bay OCS AES/SM4 HW acceleration"
	depends on HAS_IOMEM
	depends on ARCH_KEEMBAY || COMPILE_TEST
	select CRYPTO_SKCIPHER
	select CRYPTO_AEAD
	select CRYPTO_ENGINE
	help
	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) AES and
	  SM4 cipher hardware acceleration for use with Crypto API.

	  Provides HW acceleration for the following transformations:
	  cbc(aes), ctr(aes), ccm(aes), gcm(aes), cbc(sm4), ctr(sm4), ccm(sm4)
	  and gcm(sm4).

	  Optionally, support for the following transformations can also be
	  enabled: ecb(aes), cts(cbc(aes)), ecb(sm4) and cts(cbc(sm4)).

config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB
	bool "Support for Intel Keem Bay OCS AES/SM4 ECB HW acceleration"
	depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
	help
	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
	  AES/SM4 ECB mode hardware acceleration for use with Crypto API.

	  Provides OCS version of ecb(aes) and ecb(sm4)

	  Intel does not recommend use of ECB mode with AES/SM4.

config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS
	bool "Support for Intel Keem Bay OCS AES/SM4 CTS HW acceleration"
	depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
	help
	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
	  AES/SM4 CBC with CTS mode hardware acceleration for use with
	  Crypto API.

	  Provides OCS version of cts(cbc(aes)) and cts(cbc(sm4)).

	  Intel does not recommend use of CTS mode with AES/SM4.

config CRYPTO_DEV_KEEMBAY_OCS_ECC
	tristate "Support for Intel Keem Bay OCS ECC HW acceleration"
	depends on ARCH_KEEMBAY || COMPILE_TEST
	depends on OF || COMPILE_TEST
	depends on HAS_IOMEM
	select CRYPTO_ECDH
	select CRYPTO_ENGINE
	help
	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
	  Elliptic Curve Cryptography (ECC) hardware acceleration for use with
	  Crypto API.

	  Provides OCS acceleration for ECDH-256 and ECDH-384.

	  Say Y or M if you are compiling for the Intel Keem Bay SoC. The
	  module will be called keembay-ocs-ecc.

	  If unsure, say N.

config CRYPTO_DEV_KEEMBAY_OCS_HCU
	tristate "Support for Intel Keem Bay OCS HCU HW acceleration"
	select CRYPTO_HASH
	select CRYPTO_ENGINE
	depends on HAS_IOMEM
	depends on ARCH_KEEMBAY || COMPILE_TEST
	depends on OF || COMPILE_TEST
	help
	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) Hash
	  Control Unit (HCU) hardware acceleration for use with Crypto API.

	  Provides OCS HCU hardware acceleration of sha256, sha384, sha512, and
	  sm3, as well as the HMAC variant of these algorithms.

	  Say Y or M if you're building for the Intel Keem Bay SoC. If compiled
	  as a module, the module will be called keembay-ocs-hcu.

	  If unsure, say N.

config CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224
	bool "Enable sha224 and hmac(sha224) support in Intel Keem Bay OCS HCU"
	depends on CRYPTO_DEV_KEEMBAY_OCS_HCU
	help
	  Enables support for sha224 and hmac(sha224) algorithms in the Intel
	  Keem Bay OCS HCU driver. Intel recommends not to use these
	  algorithms.

	  Provides OCS HCU hardware acceleration of sha224 and hmac(224).

	  If unsure, say N.
