# SPDX-License-Identifier: GPL-2.0-only
# Generic Trusted Execution Environment Configuration
config DEVICE_MODULES_TEE
	tristate "Trusted Execution Environment support"
	depends on HAVE_ARM_SMCCC || COMPILE_TEST || CPU_SUP_AMD
	select CRYPTO
	select CRYPTO_SHA1
	select DMA_SHARED_BUFFER
	select GENERIC_ALLOCATOR
	help
	  This implements a generic interface towards a Trusted Execution
	  Environment (TEE).

if DEVICE_MODULES_TEE

menu "DEVICE_MODULES_TEE drivers"

config MTK_TEE_GP_SUPPORT
	bool "Enable MTK GlobalPlatform support in TEE related modules"
	default n
	depends on (TRUSTONIC_TEE_SUPPORT) || (MICROTRUST_TEE_SUPPORT)
	help
	  GlobalPlatform defines common/consistent APIs and this option
	  enables TEE related modules to use GPAPIs. (depending on
	  Trustonic TEE Support or Microtrust TEE Support or Google Trusty
	  TEE or other 3rd-party TEE)

source "$(KCONFIG_EXT_PREFIX)drivers/tee/optee/Kconfig"
source "$(KCONFIG_EXT_PREFIX)drivers/tee/teeperf/Kconfig"
source "$(KCONFIG_EXT_PREFIX)drivers/tee/gud/Kconfig"
source "$(KCONFIG_EXT_PREFIX)drivers/tee/teei/Kconfig"
endmenu

endif
