162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig CRYPTO_DEV_CCP_DD
362306a36Sopenharmony_ci	tristate "Secure Processor device driver"
462306a36Sopenharmony_ci	depends on CPU_SUP_AMD || ARM64
562306a36Sopenharmony_ci	default m
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  Provides AMD Secure Processor device driver.
862306a36Sopenharmony_ci	  If you choose 'M' here, this module will be called ccp.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig CRYPTO_DEV_SP_CCP
1162306a36Sopenharmony_ci	bool "Cryptographic Coprocessor device"
1262306a36Sopenharmony_ci	default y
1362306a36Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
1462306a36Sopenharmony_ci	select HW_RANDOM
1562306a36Sopenharmony_ci	select DMA_ENGINE
1662306a36Sopenharmony_ci	select CRYPTO_SHA1
1762306a36Sopenharmony_ci	select CRYPTO_SHA256
1862306a36Sopenharmony_ci	help
1962306a36Sopenharmony_ci	  Provides the support for AMD Cryptographic Coprocessor (CCP) device
2062306a36Sopenharmony_ci	  which can be used to offload encryption operations such as SHA, AES
2162306a36Sopenharmony_ci	  and more.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciconfig CRYPTO_DEV_CCP_CRYPTO
2462306a36Sopenharmony_ci	tristate "Encryption and hashing offload support"
2562306a36Sopenharmony_ci	default m
2662306a36Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD
2762306a36Sopenharmony_ci	depends on CRYPTO_DEV_SP_CCP
2862306a36Sopenharmony_ci	select CRYPTO_HASH
2962306a36Sopenharmony_ci	select CRYPTO_SKCIPHER
3062306a36Sopenharmony_ci	select CRYPTO_AUTHENC
3162306a36Sopenharmony_ci	select CRYPTO_RSA
3262306a36Sopenharmony_ci	select CRYPTO_LIB_AES
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  Support for using the cryptographic API with the AMD Cryptographic
3562306a36Sopenharmony_ci	  Coprocessor. This module supports offload of SHA and AES algorithms.
3662306a36Sopenharmony_ci	  If you choose 'M' here, this module will be called ccp_crypto.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig CRYPTO_DEV_SP_PSP
3962306a36Sopenharmony_ci	bool "Platform Security Processor (PSP) device"
4062306a36Sopenharmony_ci	default y
4162306a36Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD && X86_64
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	 Provide support for the AMD Platform Security Processor (PSP).
4462306a36Sopenharmony_ci	 The PSP is a dedicated processor that provides support for key
4562306a36Sopenharmony_ci	 management commands in Secure Encrypted Virtualization (SEV) mode,
4662306a36Sopenharmony_ci	 along with software-based Trusted Execution Environment (TEE) to
4762306a36Sopenharmony_ci	 enable third-party trusted applications.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig CRYPTO_DEV_CCP_DEBUGFS
5062306a36Sopenharmony_ci	bool "Enable CCP Internals in DebugFS"
5162306a36Sopenharmony_ci	default n
5262306a36Sopenharmony_ci	depends on CRYPTO_DEV_SP_CCP
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  Expose CCP device information such as operation statistics, feature
5562306a36Sopenharmony_ci	  information, and descriptor queue contents.
56