menu "Trusty"

# NOTE
# TRUSTY does not be selected by MTK_ENABLE_GENIEZONE.
# Just use MTK_ENABLE_GENIEZONE to substitute it.
# See gz-trusty/Kconfig
config TRUSTY
	tristate "Trusty"
	default n

config TRUSTY_LOG
	tristate
	depends on TRUSTY
	default y

config TRUSTY_VIRTIO
	tristate "Trusty virtio support"
	depends on TRUSTY
	select VIRTIO
	default y

config TRUSTY_VIRTIO_IPC
	tristate "Trusty Virtio IPC driver"
	depends on TRUSTY_VIRTIO
	default y
	help
	  This module adds support for communications with Trusty Services

	  If you choose to build a module, it'll be called trusty-ipc.
	  Say N if unsure.

config MT_TRUSTY_DEBUGFS
	tristate "Trusty debugfs for Mediatek platforms"
	default n

config TRUSTY_INTERRUPT_MAP
	tristate "Trusty interrupt map"
	depends on TRUSTY
	default y

config TRUSTY_INTERRUPT_FIQ_ONLY
	tristate "Trusty interrupt fiq support"
	depends on TRUSTY && MTK_GIC_V3_EXT
	default y
	help
	  This is used for Trusty to support handling new flow in GICv3
	  If this is selected, NWd will not route IRQ to Secure OS
	  but just fire NOP.
	  This is MUST for us to handle G0S IRQ for Secure OS.

# NOTE
# The MTEE TIPC drivers are moved to /driver/misc/mediatek/geniezone/gz-trusty/.
# Disable below CONFIGs to avoid conflict and also disable CONFIG_TRUSTY.
# If CONFIG_TRUSTY is enabled, the kernel build will fail.
#
#config MTK_ENABLE_GENIEZONE
#	tristate "MTK GenieZone enable"
#	select TRUSTY
#	default n
#	help
#	  This is used for Trusty to support MTK Geniezone
#	  Irq will be masked in trusty irq handler
#	  for irq routing to GenieZone.
#	  Irq work will be put to global queue when cpu dead.
#
#config MTK_NEBULA_VM_SUPPORT
#	tristate "Nebula VM OS Enable"
#	depends on MTK_ENABLE_GENIEZONE
#	select MT_TRUSTY_DEBUGFS if (MTK_ENG_BUILD)
#	default n
#	help
#	  This is used for MTK Geniezone to Support Nebula VM OS.
#	  Nebula's IRQ will be routed by Linux to Geniezone.
#	  Say Y if you would like to enable this feature.
#	  If unsure, say N.
#
#config GZ_SMC_CALL_REMAP
#	tristate "GZ Use Remapped SMC Calls"
#	depends on MTK_NEBULA_VM_SUPPORT
#	default y
#	help
#	  This is used for MTK Geniezone to use remapped SMC Calls.
#	  Nebula's IRQ will be routed by Linux to Geniezone.
#	  Trusty virtio will be connected to Nebula Guest OS directly.
#	  Say Y if you would like to enable this feature.
#	  If unsure, say N.

config TRUSTY_WDT_FIQ_ARMV7_SUPPORT
	tristate "Trusty WDT FIQ for arm"
	depends on TRUSTY && MTK_NO_ATF && !MTK_KERNEL_IN_SECURE_MODE
	default y
endmenu
