18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CCP_DD
38c2ecf20Sopenharmony_ci	tristate "Secure Processor device driver"
48c2ecf20Sopenharmony_ci	depends on CPU_SUP_AMD || ARM64
58c2ecf20Sopenharmony_ci	default m
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  Provides AMD Secure Processor device driver.
88c2ecf20Sopenharmony_ci	  If you choose 'M' here, this module will be called ccp.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_SP_CCP
118c2ecf20Sopenharmony_ci	bool "Cryptographic Coprocessor device"
128c2ecf20Sopenharmony_ci	default y
138c2ecf20Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
148c2ecf20Sopenharmony_ci	select HW_RANDOM
158c2ecf20Sopenharmony_ci	select DMA_ENGINE
168c2ecf20Sopenharmony_ci	select CRYPTO_SHA1
178c2ecf20Sopenharmony_ci	select CRYPTO_SHA256
188c2ecf20Sopenharmony_ci	help
198c2ecf20Sopenharmony_ci	  Provides the support for AMD Cryptographic Coprocessor (CCP) device
208c2ecf20Sopenharmony_ci	  which can be used to offload encryption operations such as SHA, AES
218c2ecf20Sopenharmony_ci	  and more.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CCP_CRYPTO
248c2ecf20Sopenharmony_ci	tristate "Encryption and hashing offload support"
258c2ecf20Sopenharmony_ci	default m
268c2ecf20Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD
278c2ecf20Sopenharmony_ci	depends on CRYPTO_DEV_SP_CCP
288c2ecf20Sopenharmony_ci	select CRYPTO_HASH
298c2ecf20Sopenharmony_ci	select CRYPTO_SKCIPHER
308c2ecf20Sopenharmony_ci	select CRYPTO_AUTHENC
318c2ecf20Sopenharmony_ci	select CRYPTO_RSA
328c2ecf20Sopenharmony_ci	select CRYPTO_LIB_AES
338c2ecf20Sopenharmony_ci	help
348c2ecf20Sopenharmony_ci	  Support for using the cryptographic API with the AMD Cryptographic
358c2ecf20Sopenharmony_ci	  Coprocessor. This module supports offload of SHA and AES algorithms.
368c2ecf20Sopenharmony_ci	  If you choose 'M' here, this module will be called ccp_crypto.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_SP_PSP
398c2ecf20Sopenharmony_ci	bool "Platform Security Processor (PSP) device"
408c2ecf20Sopenharmony_ci	default y
418c2ecf20Sopenharmony_ci	depends on CRYPTO_DEV_CCP_DD && X86_64
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	 Provide support for the AMD Platform Security Processor (PSP).
448c2ecf20Sopenharmony_ci	 The PSP is a dedicated processor that provides support for key
458c2ecf20Sopenharmony_ci	 management commands in Secure Encrypted Virtualization (SEV) mode,
468c2ecf20Sopenharmony_ci	 along with software-based Trusted Execution Environment (TEE) to
478c2ecf20Sopenharmony_ci	 enable third-party trusted applications.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig CRYPTO_DEV_CCP_DEBUGFS
508c2ecf20Sopenharmony_ci	bool "Enable CCP Internals in DebugFS"
518c2ecf20Sopenharmony_ci	default n
528c2ecf20Sopenharmony_ci	depends on CRYPTO_DEV_SP_CCP
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  Expose CCP device information such as operation statistics, feature
558c2ecf20Sopenharmony_ci	  information, and descriptor queue contents.
56