162306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
262306a36Sopenharmony_ci	tristate "Support for Intel Keem Bay OCS AES/SM4 HW acceleration"
362306a36Sopenharmony_ci	depends on HAS_IOMEM
462306a36Sopenharmony_ci	depends on ARCH_KEEMBAY || COMPILE_TEST
562306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
662306a36Sopenharmony_ci	select CRYPTO_AEAD
762306a36Sopenharmony_ci	select CRYPTO_ENGINE
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) AES and
1062306a36Sopenharmony_ci	  SM4 cipher hardware acceleration for use with Crypto API.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  Provides HW acceleration for the following transformations:
1362306a36Sopenharmony_ci	  cbc(aes), ctr(aes), ccm(aes), gcm(aes), cbc(sm4), ctr(sm4), ccm(sm4)
1462306a36Sopenharmony_ci	  and gcm(sm4).
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	  Optionally, support for the following transformations can also be
1762306a36Sopenharmony_ci	  enabled: ecb(aes), cts(cbc(aes)), ecb(sm4) and cts(cbc(sm4)).
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB
2062306a36Sopenharmony_ci	bool "Support for Intel Keem Bay OCS AES/SM4 ECB HW acceleration"
2162306a36Sopenharmony_ci	depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
2462306a36Sopenharmony_ci	  AES/SM4 ECB mode hardware acceleration for use with Crypto API.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  Provides OCS version of ecb(aes) and ecb(sm4)
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  Intel does not recommend use of ECB mode with AES/SM4.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS
3162306a36Sopenharmony_ci	bool "Support for Intel Keem Bay OCS AES/SM4 CTS HW acceleration"
3262306a36Sopenharmony_ci	depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
3562306a36Sopenharmony_ci	  AES/SM4 CBC with CTS mode hardware acceleration for use with
3662306a36Sopenharmony_ci	  Crypto API.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  Provides OCS version of cts(cbc(aes)) and cts(cbc(sm4)).
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  Intel does not recommend use of CTS mode with AES/SM4.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_ECC
4362306a36Sopenharmony_ci	tristate "Support for Intel Keem Bay OCS ECC HW acceleration"
4462306a36Sopenharmony_ci	depends on ARCH_KEEMBAY || COMPILE_TEST
4562306a36Sopenharmony_ci	depends on OF
4662306a36Sopenharmony_ci	depends on HAS_IOMEM
4762306a36Sopenharmony_ci	select CRYPTO_ECDH
4862306a36Sopenharmony_ci	select CRYPTO_ENGINE
4962306a36Sopenharmony_ci	help
5062306a36Sopenharmony_ci	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
5162306a36Sopenharmony_ci	  Elliptic Curve Cryptography (ECC) hardware acceleration for use with
5262306a36Sopenharmony_ci	  Crypto API.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	  Provides OCS acceleration for ECDH-256 and ECDH-384.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  Say Y or M if you are compiling for the Intel Keem Bay SoC. The
5762306a36Sopenharmony_ci	  module will be called keembay-ocs-ecc.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	  If unsure, say N.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_HCU
6262306a36Sopenharmony_ci	tristate "Support for Intel Keem Bay OCS HCU HW acceleration"
6362306a36Sopenharmony_ci	select CRYPTO_HASH
6462306a36Sopenharmony_ci	select CRYPTO_ENGINE
6562306a36Sopenharmony_ci	depends on HAS_IOMEM
6662306a36Sopenharmony_ci	depends on ARCH_KEEMBAY || COMPILE_TEST
6762306a36Sopenharmony_ci	depends on OF
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) Hash
7062306a36Sopenharmony_ci	  Control Unit (HCU) hardware acceleration for use with Crypto API.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	  Provides OCS HCU hardware acceleration of sha256, sha384, sha512, and
7362306a36Sopenharmony_ci	  sm3, as well as the HMAC variant of these algorithms.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	  Say Y or M if you're building for the Intel Keem Bay SoC. If compiled
7662306a36Sopenharmony_ci	  as a module, the module will be called keembay-ocs-hcu.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci	  If unsure, say N.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224
8162306a36Sopenharmony_ci	bool "Enable sha224 and hmac(sha224) support in Intel Keem Bay OCS HCU"
8262306a36Sopenharmony_ci	depends on CRYPTO_DEV_KEEMBAY_OCS_HCU
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  Enables support for sha224 and hmac(sha224) algorithms in the Intel
8562306a36Sopenharmony_ci	  Keem Bay OCS HCU driver. Intel recommends not to use these
8662306a36Sopenharmony_ci	  algorithms.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	  Provides OCS HCU hardware acceleration of sha224 and hmac(224).
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	  If unsure, say N.
91