#
# Trace(debugging) driver configuration
#

menuconfig TRACE
	bool "TRACE driver support"
	default y
	help
	  The "TRACE driver" is a kind of driver for debugging

if TRACE

config EXYNOS_ITMON
        bool "Exynos IPs Traffic Monitor"
        default y
        depends on ARCH_EXYNOS

menuconfig EXYNOS_SNAPSHOT
	bool "Exynos SnapShot(ESS) support for debugging"
	default y
	depends on ARCH_EXYNOS

config EXYNOS_SNAPSHOT_CALLSTACK
	int "shown callstack level"
	depends on EXYNOS_SNAPSHOT
	range 1 4
	default 4

config EXYNOS_SNAPSHOT_IRQ_EXIT
	bool "Enable debugging of interrupt exit event by kevent"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_IRQ_EXIT_THRESHOLD
	int "threshold of detection(microsecond)"
	depends on EXYNOS_SNAPSHOT_IRQ_EXIT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	range 0 1000000
	default 0

config EXYNOS_SNAPSHOT_IRQ_DISABLED
	bool "Enable debugging of interrupt disable event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default n

config EXYNOS_SNAPSHOT_SPINLOCK
	bool "Enable debugging of spinlock event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && DEBUG_SPINLOCK && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_CLK
	bool "Enable debugging of clock event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_PMU
	bool "Enable debugging of pmu event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_FREQ
	bool "Enable debugging of frequence event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && PM_DEVFREQ && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_DM
	bool "Enable debugging of dvfs manager event by kevent(EXPERIMENTAL)"
	depends on EXYNOS_SNAPSHOT && EXYNOS_DVFS_MANAGER && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_HRTIMER
	bool "Enable debugging of hrtimer by kevent"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_REG
	bool "Enable debugging of accessing register by kevent"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default n

config EXYNOS_SNAPSHOT_REGULATOR
	bool "Enable debugging of regulator and pmic driver"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_ACPM
	bool "Enable debugging of acpm framework"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_THERMAL
	bool "Enable debugging of thermal driver"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE && EXYNOS_THERMAL
	default y

config EXYNOS_SNAPSHOT_I2C
	bool "Enable debugging of i2c driver"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_SPI
	bool "Enable debugging of spi driver"
	depends on EXYNOS_SNAPSHOT && !EXYNOS_SNAPSHOT_MINIMIZED_MODE
	default y

config EXYNOS_SNAPSHOT_PANIC_REBOOT
	bool "Enable forced reboot after panic for ramdump"
	depends on EXYNOS_SNAPSHOT
	default y

config EXYNOS_SNAPSHOT_WATCHDOG_RESET
	bool "Support watchdog reset when hardlockup detect"
	depends on EXYNOS_SNAPSHOT && EXYNOS_SNAPSHOT_PANIC_REBOOT
	default y

config EXYNOS_SNAPSHOT_CRASH_KEY
	bool "Support Crash Key to artificial panic for debugging"
	depends on EXYNOS_SNAPSHOT && KEYBOARD_GPIO
	default y

config EXYNOS_SNAPSHOT_MINIMIZED_MODE
	bool "Support minimized feature configuration"
	depends on EXYNOS_SNAPSHOT
	default n

menuconfig EXYNOS_CORESIGHT
        bool "Enable Coresight of exynos"
        depends on ARCH_EXYNOS
        default n

config EXYNOS_CORESIGHT_PC_INFO
        bool "Show Porgram Counter information"
        depends on EXYNOS_CORESIGHT
        default y
        help
          Show Program Counter information When kernel panic.

config PC_ITERATION
        int "Number of Program Coutner information"
        depends on EXYNOS_CORESIGHT_PC_INFO
        range 1 10
        default 5
        help
          Print out Program Counter as iteration value.

config EXYNOS_CORESIGHT_MAINTAIN_DBG_REG
        bool "Save/Restore Debug Registers"
        depends on EXYNOS_CORESIGHT
        default n
        help
          When core power is down, debug registers are not mainained data
          and OS-lock is set. To maintain data, debug registers's data must
          save in /restore from memory. If OS-lock is set, debugging to use
          trace32 is impossible. So OS-lock must clear when core power is up.
          This config must enable only using iTSP program.

menuconfig EXYNOS_CONSOLE_DEBUGGER
	bool "Exynos Console Debugger(ECD) Support for debugging"
	default y
	depends on ARCH_EXYNOS

config EXYNOS_CONSOLE_DEBUGGER_INTERFACE
	bool "Specific Console Debugger Interface Support and Console Support"
	depends on EXYNOS_CONSOLE_DEBUGGER
	default y

menuconfig EXYNOS_CORESIGHT_ETM
        bool "Enable ETM driver of exynos"
        depends on ARCH_EXYNOS
        default n
        help
          ETM driver is a driver for debugging. Also this driver enable ETR of
          coresight feature.

config EXYNOS_CORESIGHT_ETB
        bool "This system has ETB feature"
        depends on EXYNOS_CORESIGHT_ETM && SOC_EXYNOS7580
        default n
        help
          ETB driver is the sink part of coresight components. Some coresights has
          ETR.

config EXYNOS_CORESIGHT_ETF
        bool "This system has ETF feature"
        depends on EXYNOS_CORESIGHT_ETM
        default n
        help
          ETF driver is the sink part of coresight components. Some coresights has
          ETR.

config EXYNOS_CORESIGHT_ETR
        bool "This system has ETR feature"
        depends on EXYNOS_CORESIGHT_ETF && EXYNOS_SNAPSHOT
        default n
        help
          ETR driver is a driver for debugging. Also this driver is thr sink part of
          coresight feature. Coresight consists of source, link, sink part.
          This routes to DRAM or USB.


config EXYNOS_CORESIGHT_ETM_SYSFS
        bool "This system has ETM Sysfs feature"
        depends on EXYNOS_CORESIGHT_ETM
        default n
        help
          Show ETM, FUNNEL, ETB, ETF and ETR status through sysfs.
config SYSTEM_LOAD_ANALYZER
	bool "Monitoring tool for system load analysis"

config SLUGGISH_ANALYZER
	bool "Monitoring, detecting and logging sluggishness"
	default n
	help
	  print available memory, io wait, etc for debugging sluggishness.

config FRAME_DROP_DETECTOR
	bool "Detecting frames drop at display controller"
	depends on SYSTEM_LOAD_ANALYZER
	default n
endif
