config TOUCHSCREEN_HEATMAP
	tristate "Heatmap support for touchscreen"
	depends on (TOUCHSCREEN_FTS || TOUCHSCREEN_SEC_TS)
	select VIDEOBUF2_VMALLOC
	help
	  Do not explicitly select this option. The drivers that utilize
	  this module must select this in their Kconfig.

config TOUCHSCREEN_TBN
	tristate "Touch Bus Negotiator for Google Pixel"
	depends on (TOUCHSCREEN_FTS || TOUCHSCREEN_SEC_TS)
	help
	  Say Y here if you have a Google Pixel device. This module enables
	  support for kernel touch drivers to coordinate bus access with remote
	  processors (e.g. sensor DSP processor), which is required to enable
	  low power touch gesture detection in processors other than AP.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the module will be
	  called touch_bus_negotiator.

config TOUCHSCREEN_OFFLOAD
	tristate "Touchscreen algorithm offload"
	depends on (TOUCHSCREEN_FTS || TOUCHSCREEN_SEC_TS)
	help
	  Say Y here to enable touchscreen algorithm offload. This module allows
	  the touchscreen driver to feed heatmap data into a char device to be
	  consumed by a client outside the kernel.

	  If unsure, say N.

config GOOG_TOUCH_INTERFACE
	tristate "Google Touch Interface (GTI)"
	depends on TOUCHSCREEN_OFFLOAD
	depends on TOUCHSCREEN_HEATMAP
	help
	  Say Y here if you want to enable the Google Touch Interface driver.

	  If unsure, say N.
