menuconfig TZDEV
	bool "Samsung TZ Based Secure OS Support"
	default n
	depends on ARM || ARM64
	help
	  Samsung TZ Based Secure OS interface driver.

if TZDEV
config TZDEV_SK_PFNS_64BIT
	bool "Secure kernel works with 64-bit PFNs"
	default n
	help
	  Enables passing of PFNs into secure kernel as 64-bit values. Should
	  correspond to similar config in SK.

config TZDEV_USE_ARM_CALLING_CONVENTION
	bool "Comply to ARM calling convention"
	default y
	help
	  Comply to ARM calling convention. New software architectures use
	  EL3 code comply to this convention compared to old architectures
	  when Secure kernel contains non-compatible commands handler.

config TZDEV_CMA
	bool "Allocate TrustZone environment CMA region"
	depends on (CMA || DMA_CMA) && !ARCH_MSM
	default n
	help
	  Use CMA region to allocate TrustZone environment memory.

config TZDEV_MEMRESSZ
	hex "TrustZone environment memory reservation size"
	depends on TZDEV_CMA
	default 0x01000000
	help
	  Provide reservation of memory for usage in secure world - allocation size.

config TZDEV_MEMRESSZPROT
	hex "TrustZone environment memory reservation size - protected"
	depends on TZDEV_CMA
	help
	  Provide reservation of memory for usage in secure world - bootloader-protected size.

config TZDEV_MEMRESADDR
	hex "TrustZone environment memory reservation address"
	depends on TZDEV_CMA
	help
	  Provide reservation of memory for usage in secure world - allocation address.

config TZDEV_IWI_EVENT
	int "IWI_EVENT interrupt number"
	default 280 if ARCH_MSM
	default 125 if ARCH_EXYNOS3
	default 113 if ARCH_EXYNOS4
	default 501 if ARCH_EXYNOS5
	default 446 if ARCH_EXYNOS7

config TZDEV_IWI_PANIC
	int "IWI_PANIC interrupt number"
	default 0 if ARCH_MSM
	default 126 if ARCH_EXYNOS3
	default 114 if ARCH_EXYNOS4
	default 502 if ARCH_EXYNOS5
	default 447 if ARCH_EXYNOS7

config TZDEV_SWD_PANIC_IS_CRITICAL
	bool "Panic NWd if secure world panics"
	default n
	help
	  Enable support of NWd panic generation in tzdev when secure world panics.

config TZDEV_NWD_PANIC_ON_CLOSE
	bool "Panic NWd if tzdev is closed"
	default n
	help
	  Panic system on crash/close of NWd components.

config TZLOG
	bool "TZDEV LOGGER support"
	default n
	help
	  Enable support for Samsung Secure OS Logger.

config TZLOG_POLLING
	bool "TZDEV LOGGER polling"
	depends on TZLOG
	default n
	help
	  Enable periodic logs polling by TZDEV.

config TZLOG_POLLING_PERIOD
	int "TZDEV LOGGER polling period (in ms)"
	depends on TZLOG_POLLING
	default 100
	help
	  Define logs polling period in milliseconds. The resolution is 1/Hz ms
	  rounded down (e.g. for Hz = 100, value 117 would mean 110 ms period).

config TZLOG_PG_CNT
	int "TZDEV LOGGER per-CPU buffer size (in pages)"
	depends on TZLOG
	default 1
	help
	  Select TZDEV logger buffer size in pages per CPU.

config TZDEV_SK_MULTICORE
	bool "TZDEV SK multicore"
	default n
	help
	  Define if secure kernel can work in multicore mode.

config ION_FD2PHYS
	tristate "ION FD to physical address converter"
	depends on ION && (ARCH_EXYNOS || ARCH_MSM || ARCH_WHALE || ARCH_MT6755 || ARCH_MT6735 || ARCH_RANCHU || MACH_MT6757)
	default y
	help
	  Provide a method for userspace to get physical address from ION buffer
	  descriptor.

config TZIRS
	bool "Integrity reporting system"
	default n
	help
	  Enable Integrity reporintg system for Samsung Secure OS.

config TZTUI
	bool "Trusted user interface"
	default n
	help
	  Enable Trusted user interface support for Samsung Secure OS.

config TZDEV_PAGE_MIGRATION
	bool "Page migration"
	depends on MIGRATION && CMA
	default n
	help
	  Enable Page migration functionality for CMA Migration.

config TZ_TRANSPORT
	bool "Transport module"
	depends on TZDEV
	default n
	help
	  Enable Transport module. It is used for transfering data from SK to NWd.

config TZ_TRANSPORT_PG_CNT
	int "TZDEV transport module per-CPU buffer size (in pages)"
	depends on TZ_TRANSPORT
	default 1
	help
	  Select TZDEV transport buffer size in pages per CPU.

config TZDEV_HOTPLUG
	bool "Core hotplug"
	depends on HOTPLUG_CPU
	default n
	help
	  Enable CPU Cores requested by Samsung Secure OS.

config TZDEV_BOOST
	bool "TZ booster"
	depends on ARCH_EXYNOS
	default n
	help
	  Switch high performance cluster to maximum frequency by NWd client
	  request.

config TZ_BOOT_LOG
	bool "TZ boot stage log"
	default n
	help
	  Provide ability to print TZ boot stage logs.

config TZ_BOOT_LOG_PG_CNT
	int "TZ boot stage log buffer size (in pages)"
	depends on TZ_BOOT_LOG
	default 1
	help
	  Select TZ boot stage logger buffer size in pages.

config TZ_SHMEM_VALIDATOR
	bool "TZ shared memory registration requests validator"
	default n
	help
	  Enable additional tz device, that helps tzdev to validate shared
	  memory registration requests.

config TZDEV_EARLY_SWD_INIT
	bool "TZDEV early SWD initialization"
	default n
	help
	  Provide ability of early SWD initialization (on modules init stage).

config TZ_WORMHOLE
	bool "enable/disable sockets-like IPC and fd tunneling"
	default n
	help
	  Provide hand-made sockets-like IPC and fd tunneling between client and daemon
	  to satisfy Android O Treble requirements.

if TZDEV_DEBUG

config TZ_TELEMETRY
	bool "Telemetry module"
	select TZ_TRANSPORT
	default n
	help
	  Enable Telemetry module. It is used for collecting runtime information
	  about Secure OS state.

config TZPROFILER
	bool "TZDEV PROFILING support"
	default n
	help
	  Enable support for secure kernel and userspace profiling.

config TZPROFILER_BUF_PG_CNT
	int "TZDEV PROFILER buffer size (in pages)"
	depends on TZPROFILER
	default 1
	help
	  Select TZDEV profiler buffer size in pages. Profiler uses pool
	  of buffers. This is size of each buffer. Minimum size is a 1 page.
	  Select the sufficient size for profiling of the target.

config TZPROFILER_BUFS_CNT
	int "TZDEV PROFILER buffers quantity"
	depends on TZPROFILER
	default 20
	help
	  Select the sufficient pool size for profiling of the target.
	  Profiler uses two mechanisms for profiler data transferring.
	  1. Circular buffer.
	  2. Buffer replacing if according to the point 1 NWd had no time for
	     cleaning the previous buffer.
	  The profiler stops working if there are no free buffers in pool.

config TZ_PANIC_DUMP
	bool "TZ panic dump module"
	depends on TZDEV
	default n
	help
	  Enable panic dump module. This module allocates the buffer that will
	  receive SWd memory contents when secure kernel panic
	  occurs (if proper option is set in secure kernel config) and
	  provides interface for userspace to access said memory contents.

endif #TZDEV_DEBUG

endif #TZDEV
