# OP-TEE Trusted Execution Environment Configuration
config OPTEE
	bool "OP-TEE"
	depends on ARM_SMCCC
	help
	  This implements the OP-TEE Trusted Execution Environment (TEE)
	  driver. OP-TEE is a Trusted OS designed primarily to rely on the
	  ARM TrustZone(R) technology as the underlying hardware isolation
	  mechanism. This driver can request services from OP-TEE, but also
	  handle Remote Procedure Calls (RPC) from OP-TEE needed to
	  execute a service. For more information see: https://www.op-tee.org

if OPTEE || SANDBOX

menu "OP-TEE options"

config OPTEE_TA_AVB
	bool "Support AVB TA"
	default y
	help
	  Enables support for the AVB Trusted Application (TA) in OP-TEE.
	  The TA can support the "avb" subcommands "read_rb", "write"rb"
	  and "is_unlocked".

config OPTEE_RAW_PARTITION_IO
	bool "Enable secure storage backed by a raw partition"
	help
	  Enables supplicant support for routing raw IO requests to a designated
	  partition.
	default n

endmenu

endif
