# SPDX-License-Identifier: GPL-2.0-only
#
# Touchscreen driver configuration
#
menuconfig INPUT_TOUCHSCREEN
	bool "Touchscreens"
	help
	  Say Y here, and a list of supported touchscreens will be displayed.
	  This option doesn't affect the kernel.

	  If unsure, say Y.

if INPUT_TOUCHSCREEN

config TOUCHSCREEN_88PM860X
	tristate "Marvell 88PM860x touchscreen"
	depends on MFD_88PM860X
	help
	  Say Y here if you have a 88PM860x PMIC and want to enable
	  support for the built-in touchscreen.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called 88pm860x-ts.

config TOUCHSCREEN_ADS7846
	tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
	depends on SPI_MASTER
	depends on HWMON = n || HWMON
	help
	  Say Y here if you have a touchscreen interface using the
	  ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
	  and your board-specific setup code includes that in its
	  table of SPI devices.

	  If HWMON is selected, and the driver is told the reference voltage
	  on your board, you will also get hwmon interfaces for the voltage
	  (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.

	  If unsure, say N (but it's safe to say "Y").

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

config TOUCHSCREEN_AD7877
	tristate "AD7877 based touchscreens"
	depends on SPI_MASTER
	help
	  Say Y here if you have a touchscreen interface using the
	  AD7877 controller, and your board-specific initialization
	  code includes that in its table of SPI devices.

	  If unsure, say N (but it's safe to say "Y").

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

config TOUCHSCREEN_AD7879
	tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface"
	help
	  Say Y here if you want to support a touchscreen interface using
	  the AD7879-1/AD7889-1 controller.

	  You should select a bus connection too.

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

config TOUCHSCREEN_AD7879_I2C
	tristate "support I2C bus connection"
	depends on TOUCHSCREEN_AD7879 && I2C
	select REGMAP_I2C
	help
	  Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.

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

config TOUCHSCREEN_AD7879_SPI
	tristate "support SPI bus connection"
	depends on TOUCHSCREEN_AD7879 && SPI_MASTER
	select REGMAP_SPI
	help
	  Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus.

	  If unsure, say N (but it's safe to say "Y").

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

config TOUCHSCREEN_ADC
	tristate "Generic ADC based resistive touchscreen"
	depends on IIO
	select IIO_BUFFER
	select IIO_BUFFER_CB
	help
	  Say Y here if you want to use the generic ADC
	  resistive touchscreen driver.

	  If unsure, say N (but it's safe to say "Y").

	  To compile this driver as a module, choose M here: the
	  module will be called resistive-adc-touch.ko.

config TOUCHSCREEN_AR1021_I2C
	tristate "Microchip AR1020/1021 i2c touchscreen"
	depends on I2C && OF
	help
	  Say Y here if you have the Microchip AR1020 or AR1021 touchscreen
	  controller chip in your system.

	  If unsure, say N.

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

config TOUCHSCREEN_ATMEL_MXT
	tristate "Atmel mXT I2C Touchscreen"
	depends on I2C
	select FW_LOADER
	help
	  Say Y here if you have Atmel mXT series I2C touchscreen,
	  such as AT42QT602240/ATMXT224, connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_ATMEL_MXT_T37
	bool "Support T37 Diagnostic Data"
	depends on TOUCHSCREEN_ATMEL_MXT
	depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m)
	select VIDEOBUF2_VMALLOC
	help
	  Say Y here if you want support to output data from the T37
	  Diagnostic Data object using a V4L device.

config TOUCHSCREEN_AUO_PIXCIR
	tristate "AUO in-cell touchscreen using Pixcir ICs"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have a AUO display with in-cell touchscreen
	  using Pixcir ICs.

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called auo-pixcir-ts.

config TOUCHSCREEN_BU21013
	tristate "BU21013 based touch panel controllers"
	depends on I2C
	help
	  Say Y here if you have a bu21013 touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_BU21029
	tristate "Rohm BU21029 based touch panel controllers"
	depends on I2C
	help
	  Say Y here if you have a Rohm BU21029 touchscreen controller
	  connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_CHIPONE_ICN8318
	tristate "chipone icn8318 touchscreen controller"
	depends on GPIOLIB || COMPILE_TEST
	depends on I2C
	depends on OF
	help
	  Say Y here if you have a ChipOne icn8318 based I2C touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_CHIPONE_ICN8505
	tristate "chipone icn8505 touchscreen controller"
	depends on I2C && ACPI
	help
	  Say Y here if you have a ChipOne icn8505 based I2C touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_CY8CTMA140
	tristate "cy8ctma140 touchscreen"
	depends on I2C
	help
	  Say Y here if you have a Cypress CY8CTMA140 capacitive
	  touchscreen also just known as "TMA140"

	  If unsure, say N.

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

config TOUCHSCREEN_CY8CTMG110
	tristate "cy8ctmg110 touchscreen"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have a cy8ctmg110 capacitive touchscreen on
	  an AAVA device.

	  If unsure, say N.

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

config TOUCHSCREEN_CYTTSP_CORE
	tristate "Cypress TTSP touchscreen"
	help
	  Say Y here if you have a touchscreen using controller from
	  the Cypress TrueTouch(tm) Standard Product family connected
	  to your system. You will also need to select appropriate
	  bus connection below.

	  If unsure, say N.

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

config TOUCHSCREEN_CYTTSP_I2C
	tristate "support I2C bus connection"
	depends on TOUCHSCREEN_CYTTSP_CORE && I2C
	help
	  Say Y here if the touchscreen is connected via I2C bus.

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

config TOUCHSCREEN_CYTTSP_SPI
	tristate "support SPI bus connection"
	depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER
	help
	  Say Y here if the touchscreen is connected via SPI bus.

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

config TOUCHSCREEN_CYTTSP4_CORE
	tristate "Cypress TrueTouch Gen4 Touchscreen Driver"
	help
	  Core driver for Cypress TrueTouch(tm) Standard Product
	  Generation4 touchscreen controllers.

	  Say Y here if you have a Cypress Gen4 touchscreen.

	  If unsure, say N.

	  To compile this driver as a module, choose M here.

config TOUCHSCREEN_CYTTSP4_I2C
	tristate "support I2C bus connection"
	depends on TOUCHSCREEN_CYTTSP4_CORE && I2C
	help
	  Say Y here if the touchscreen is connected via I2C bus.

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

config TOUCHSCREEN_CYTTSP4_SPI
	tristate "support SPI bus connection"
	depends on TOUCHSCREEN_CYTTSP4_CORE && SPI_MASTER
	help
	  Say Y here if the touchscreen is connected via SPI bus.

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

config TOUCHSCREEN_CYTTSP5
	tristate "Cypress TrueTouch Gen5 Touchscreen Driver"
	depends on I2C
	select REGMAP_I2C
	select CRC_ITU_T
	help
	  Driver for Parade TrueTouch Standard Product Generation 5
	  touchscreen controllers. I2C bus interface support only.

	  Say Y here if you have a Cypress Gen5 touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_DA9034
	tristate "Touchscreen support for Dialog Semiconductor DA9034"
	depends on PMIC_DA903X
	default y
	help
	  Say Y here to enable the support for the touchscreen found
	  on Dialog Semiconductor DA9034 PMIC.

	  If unsure, say N.

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

config TOUCHSCREEN_DA9052
	tristate "Dialog DA9052/DA9053 TSI"
	depends on PMIC_DA9052
	help
	  Say Y here to support the touchscreen found on Dialog Semiconductor
	  DA9052-BC and DA9053-AA/Bx PMICs.

	  If unsure, say N.

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

config TOUCHSCREEN_DYNAPRO
	tristate "Dynapro serial touchscreen"
	select SERIO
	help
	  Say Y here if you have a Dynapro serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_HAMPSHIRE
	tristate "Hampshire serial touchscreen"
	select SERIO
	help
	  Say Y here if you have a Hampshire serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_EETI
	tristate "EETI touchscreen panel support"
	depends on I2C
	help
	  Say Y here to enable support for I2C connected EETI touch panels.

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

config TOUCHSCREEN_EGALAX
	tristate "EETI eGalax multi-touch panel support"
	depends on I2C && OF
	help
	  Say Y here to enable support for I2C connected EETI
	  eGalax multi-touch panels.

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

config TOUCHSCREEN_EGALAX_SERIAL
	tristate "EETI eGalax serial touchscreen"
	select SERIO
	help
	  Say Y here to enable support for serial connected EETI
	  eGalax touch panels.

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

config TOUCHSCREEN_EXC3000
	tristate "EETI EXC3000 multi-touch panel support"
	depends on I2C
	help
	  Say Y here to enable support for I2C connected EETI
	  EXC3000 multi-touch panels.

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

config TOUCHSCREEN_FUJITSU
	tristate "Fujitsu serial touchscreen"
	select SERIO
	help
	  Say Y here if you have the Fujitsu touchscreen (such as one
	  installed in Lifebook P series laptop) connected to your
	  system.

	  If unsure, say N.

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

config TOUCHSCREEN_GOODIX
	tristate "Goodix I2C touchscreen"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have the Goodix touchscreen (such as one
	  installed in Onda v975w tablets) connected to your
	  system. It also supports 5-finger chip models, which can be
	  found on ARM tablets, like Wexler TAB7200 and MSI Primo73.

	  If unsure, say N.

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

config TOUCHSCREEN_HIDEEP
	tristate "HiDeep Touch IC"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using HiDeep.

	  If unsure, say N.

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

config TOUCHSCREEN_HYCON_HY46XX
	tristate "Hycon hy46xx touchscreen support"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using Hycon hy46xx

	  If unsure, say N.

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

config TOUCHSCREEN_HYNITRON_CSTXXX
	tristate "Hynitron touchscreen support"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using a Hynitron
	  touchscreen controller.

	  If unsure, say N.

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

config TOUCHSCREEN_ILI210X
	tristate "Ilitek ILI210X based touchscreen"
	depends on I2C
	select CRC_CCITT
	help
	  Say Y here if you have a ILI210X based touchscreen
	  controller. This driver supports models ILI2102,
	  ILI2102s, ILI2103, ILI2103s and ILI2105.
	  Such kind of chipsets can be found in Amazon Kindle Fire
	  touchscreens.

	  If unsure, say N.

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

config TOUCHSCREEN_ILITEK
	tristate "Ilitek I2C 213X/23XX/25XX/Lego Series Touch ICs"
	depends on I2C
	help
	  Say Y here if you have touchscreen with ILITEK touch IC,
	  it supports 213X/23XX/25XX and other Lego series.

	  If unsure, say N.

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

config TOUCHSCREEN_IPROC
	tristate "IPROC touch panel driver support"
	depends on ARCH_BCM_IPROC || COMPILE_TEST
	help
	  Say Y here if you want to add support for the IPROC touch
	  controller to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_S6SY761
	tristate "Samsung S6SY761 Touchscreen driver"
	depends on I2C
	help
	  Say Y if you have the Samsung S6SY761 driver

	  If unsure, say N

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

config TOUCHSCREEN_GUNZE
	tristate "Gunze AHL-51S touchscreen"
	select SERIO
	help
	  Say Y here if you have the Gunze AHL-51 touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_EKTF2127
	tristate "Elan eKTF2127 I2C touchscreen"
	depends on I2C
	help
	  Say Y here if you have an Elan eKTF2127 touchscreen
	  connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_ELAN
	tristate "Elan eKTH I2C touchscreen"
	depends on I2C
	help
	  Say Y here if you have an Elan eKTH I2C touchscreen
	  connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_ELO
	tristate "Elo serial touchscreens"
	select SERIO
	help
	  Say Y here if you have an Elo serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_WACOM_W8001
	tristate "Wacom W8001 penabled serial touchscreen"
	select SERIO
	help
	  Say Y here if you have an Wacom W8001 penabled serial touchscreen
	  connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_WACOM_I2C
	tristate "Wacom Tablet support (I2C)"
	depends on I2C
	help
	  Say Y here if you want to use the I2C version of the Wacom
	  Pen Tablet.

	  If unsure, say N.

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

config TOUCHSCREEN_LPC32XX
	tristate "LPC32XX touchscreen controller"
	depends on ARCH_LPC32XX
	help
	  Say Y here if you have a LPC32XX device and want
	  to support the built-in touchscreen.

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

config TOUCHSCREEN_MAX11801
	tristate "MAX11801 based touchscreens"
	depends on I2C
	help
	  Say Y here if you have a MAX11801 based touchscreen
	  controller.

	  If unsure, say N.

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

config TOUCHSCREEN_MCS5000
	tristate "MELFAS MCS-5000 touchscreen"
	depends on I2C
	help
	  Say Y here if you have the MELFAS MCS-5000 touchscreen controller
	  chip in your system.

	  If unsure, say N.

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

config TOUCHSCREEN_MMS114
	tristate "MELFAS MMS114 touchscreen"
	depends on I2C
	help
	  Say Y here if you have the MELFAS MMS114 touchscreen controller
	  chip in your system.

	  If unsure, say N.

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

config TOUCHSCREEN_MELFAS_MIP4
	tristate "MELFAS MIP4 Touchscreen"
	depends on I2C
	help
	  Say Y here if you have a MELFAS MIP4 Touchscreen device.

	  If unsure, say N.

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

config TOUCHSCREEN_MSG2638
	tristate "MStar msg2638 touchscreen support"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have an I2C touchscreen using MStar msg2638.

	  If unsure, say N.

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

config TOUCHSCREEN_MTOUCH
	tristate "MicroTouch serial touchscreens"
	select SERIO
	help
	  Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_NOVATEK_NVT_TS
	tristate "Novatek NT11205 touchscreen support"
	depends on I2C
	help
	  Say Y here if you have a Novatek NT11205 touchscreen.
	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called novatek-nvt-ts.

config TOUCHSCREEN_IMAGIS
	tristate "Imagis touchscreen support"
	depends on I2C
	help
	  Say Y here if you have an Imagis IST30xxC touchscreen.
	  If unsure, say N.

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

config TOUCHSCREEN_IMX6UL_TSC
	tristate "Freescale i.MX6UL touchscreen controller"
	depends on ((OF && GPIOLIB) || COMPILE_TEST) && HAS_IOMEM
	help
	  Say Y here if you have a Freescale i.MX6UL, and want to
	  use the internal touchscreen controller.

	  If unsure, say N.

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

config TOUCHSCREEN_INEXIO
	tristate "iNexio serial touchscreens"
	select SERIO
	help
	  Say Y here if you have an iNexio serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_MK712
	tristate "ICS MicroClock MK712 touchscreen"
	depends on ISA
	help
	  Say Y here if you have the ICS MicroClock MK712 touchscreen
	  controller chip in your system.

	  If unsure, say N.

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

config TOUCHSCREEN_HP600
	tristate "HP Jornada 6xx touchscreen"
	depends on SH_HP6XX && SH_ADC
	help
	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
	  support the built-in touchscreen.

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

config TOUCHSCREEN_HP7XX
	tristate "HP Jornada 7xx touchscreen"
	depends on SA1100_JORNADA720_SSP
	help
	  Say Y here if you have a HP Jornada 710/720/728 and want
	  to support the built-in touchscreen.

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

config TOUCHSCREEN_IPAQ_MICRO
	tristate "HP iPAQ Atmel Micro ASIC touchscreen"
	depends on MFD_IPAQ_MICRO
	help
	  Say Y here to enable support for the touchscreen attached to
	  the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700

	  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called ipaq-micro-ts.

config TOUCHSCREEN_HTCPEN
	tristate "HTC Shift X9500 touchscreen"
	depends on ISA
	help
	  Say Y here if you have an HTC Shift UMPC also known as HTC X9500
	  Clio / Shangrila and want to support the built-in touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_PENMOUNT
	tristate "Penmount serial touchscreen"
	select SERIO
	help
	  Say Y here if you have a Penmount serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_EDT_FT5X06
	tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
	depends on I2C
	select REGMAP_I2C
	help
	  Say Y here if you have an EDT "Polytouch" touchscreen based
	  on the FocalTech FT5x06 family of controllers connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_RASPBERRYPI_FW
	tristate "Raspberry Pi's firmware base touch screen support"
	depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
	help
	  Say Y here if you have the official Raspberry Pi 7 inch screen on
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_MIGOR
	tristate "Renesas MIGO-R touchscreen"
	depends on (SH_MIGOR || COMPILE_TEST) && I2C
	help
	  Say Y here to enable MIGO-R touchscreen support.

	  If unsure, say N.

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

config TOUCHSCREEN_TOUCHRIGHT
	tristate "Touchright serial touchscreen"
	select SERIO
	help
	  Say Y here if you have a Touchright serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_TOUCHWIN
	tristate "Touchwin serial touchscreen"
	select SERIO
	help
	  Say Y here if you have a Touchwin serial touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_TI_AM335X_TSC
	tristate "TI Touchscreen Interface"
	depends on MFD_TI_AM335X_TSCADC
	help
	  Say Y here if you have 4/5/8 wire touchscreen controller
	  to be connected to the ADC controller on your TI AM335x SoC.

	  If unsure, say N.

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

config TOUCHSCREEN_PIXCIR
	tristate "PIXCIR I2C touchscreens"
	depends on I2C
	help
	  Say Y here if you have a pixcir i2c touchscreen
	  controller.

	  If unsure, say N.

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

config TOUCHSCREEN_WDT87XX_I2C
	tristate "Weida HiTech I2C touchscreen"
	depends on I2C
	help
	  Say Y here if you have a Weida WDT87XX I2C touchscreen
	  connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_WM831X
	tristate "Support for WM831x touchscreen controllers"
	depends on MFD_WM831X
	help
	  This enables support for the touchscreen controller on the WM831x
	  series of PMICs.

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

config TOUCHSCREEN_WM97XX
	tristate "Support for WM97xx AC97 touchscreen controllers"
	depends on AC97_BUS || AC97_BUS_NEW
	help
	  Say Y here if you have a Wolfson Microelectronics WM97xx
	  touchscreen connected to your system. Note that this option
	  only enables core driver, you will also need to select
	  support for appropriate chip below.

	  If unsure, say N.

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

config TOUCHSCREEN_WM9705
	bool "WM9705 Touchscreen interface support"
	depends on TOUCHSCREEN_WM97XX
	default y
	help
	  Say Y here to enable support for the Wolfson Microelectronics
	  WM9705 touchscreen controller.

config TOUCHSCREEN_WM9712
	bool "WM9712 Touchscreen interface support"
	depends on TOUCHSCREEN_WM97XX
	default y
	help
	  Say Y here to enable support for the Wolfson Microelectronics
	  WM9712 touchscreen controller.

config TOUCHSCREEN_WM9713
	bool "WM9713 Touchscreen interface support"
	depends on TOUCHSCREEN_WM97XX
	default y
	help
	  Say Y here to enable support for the Wolfson Microelectronics
	  WM9713 touchscreen controller.

config TOUCHSCREEN_WM97XX_MAINSTONE
	tristate "WM97xx Mainstone/Palm accelerated touch"
	depends on TOUCHSCREEN_WM97XX && ARCH_PXA
	depends on SND_PXA2XX_LIB_AC97
	help
	  Say Y here for support for streaming mode with WM97xx touchscreens
	  on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.

	  If unsure, say N.

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

config TOUCHSCREEN_USB_COMPOSITE
	tristate "USB Touchscreen Driver"
	depends on USB_ARCH_HAS_HCD
	select USB
	help
	  USB Touchscreen driver for:
	  - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
	  - PanJit TouchSet USB
	  - 3M MicroTouch USB (EX II series)
	  - ITM
	  - some other eTurboTouch
	  - Gunze AHL61
	  - DMC TSC-10/25
	  - IRTOUCHSYSTEMS/UNITOP
	  - IdealTEK URTC1000
	  - GoTop Super_Q2/GogoPen/PenPower tablets
	  - JASTEC USB Touch Controller/DigiTech DTR-02U
	  - Zytronic controllers
	  - Elo TouchSystems 2700 IntelliTouch
	  - EasyTouch USB Touch Controller from Data Module
	  - e2i (Mimo monitors)

	  Have a look at <http://linux.chapter7.ch/touchkit/> for
	  a usage description and the required user-space stuff.

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

config TOUCHSCREEN_MXS_LRADC
	tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
	depends on MFD_MXS_LRADC
	help
	  Say Y here if you have a touchscreen connected to the low-resolution
	  analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.

	  To compile this driver as a module, choose M here: the module will be
	  called mxs-lradc-ts.

config TOUCHSCREEN_MX25
	tristate "Freescale i.MX25 touchscreen input driver"
	depends on MFD_MX25_TSADC
	help
	  Enable support for touchscreen connected to your i.MX25.

	  To compile this driver as a module, choose M here: the
	  module will be called fsl-imx25-tcq.

config TOUCHSCREEN_MC13783
	tristate "Freescale MC13783 touchscreen input driver"
	depends on MFD_MC13XXX
	help
	  Say Y here if you have an Freescale MC13783 PMIC on your
	  board and want to use its touchscreen

	  If unsure, say N.

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

config TOUCHSCREEN_USB_EGALAX
	default y
	bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_PANJIT
	default y
	bool "PanJit device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_3M
	default y
	bool "3M/Microtouch EX II series device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_ITM
	default y
	bool "ITM device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_ETURBO
	default y
	bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_GUNZE
	default y
	bool "Gunze AHL61 device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_DMC_TSC10
	default y
	bool "DMC TSC-10/25 device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_IRTOUCH
	default y
	bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_IDEALTEK
	default y
	bool "IdealTEK URTC1000 device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_GENERAL_TOUCH
	default y
	bool "GeneralTouch Touchscreen device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_GOTOP
	default y
	bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_JASTEC
	default y
	bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_ELO
	default y
	bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_E2I
	default y
	bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_ZYTRONIC
	default y
	bool "Zytronic controller" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_ETT_TC45USB
	default y
	bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_NEXIO
	default y
	bool "NEXIO/iNexio device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE

config TOUCHSCREEN_USB_EASYTOUCH
	default y
	bool "EasyTouch USB Touch controller device support" if EXPERT
	depends on TOUCHSCREEN_USB_COMPOSITE
	help
	  Say Y here if you have an EasyTouch USB Touch controller.
	  If unsure, say N.

config TOUCHSCREEN_TOUCHIT213
	tristate "Sahara TouchIT-213 touchscreen"
	select SERIO
	help
	  Say Y here if you have a Sahara TouchIT-213 Tablet PC.

	  If unsure, say N.

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

config TOUCHSCREEN_TS4800
	tristate "TS-4800 touchscreen"
	depends on HAS_IOMEM && OF
	depends on SOC_IMX51 || COMPILE_TEST
	select MFD_SYSCON
	help
	  Say Y here if you have a touchscreen on a TS-4800 board.

	  On TS-4800, the touchscreen is not handled directly by Linux but by
	  a companion FPGA.

	  If unsure, say N.

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

config TOUCHSCREEN_TSC_SERIO
	tristate "TSC-10/25/40 serial touchscreen support"
	select SERIO
	help
	  Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
	  to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_TSC200X_CORE
	tristate

config TOUCHSCREEN_TSC2004
	tristate "TSC2004 based touchscreens"
	depends on I2C
	select REGMAP_I2C
	select TOUCHSCREEN_TSC200X_CORE
	help
	  Say Y here if you have a TSC2004 based touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_TSC2005
	tristate "TSC2005 based touchscreens"
	depends on SPI_MASTER
	select REGMAP_SPI
	select TOUCHSCREEN_TSC200X_CORE
	help
	  Say Y here if you have a TSC2005 based touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_TSC2007
	tristate "TSC2007 based touchscreens"
	depends on I2C
	help
	  Say Y here if you have a TSC2007 based touchscreen.

	  If unsure, say N.

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

config TOUCHSCREEN_TSC2007_IIO
	bool "IIO interface for external ADC input and temperature"
	depends on TOUCHSCREEN_TSC2007
	depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
	help
	  Saying Y here adds an iio interface to the tsc2007 which
	  provides values for the AUX input (used for e.g. battery
	  or ambient light monitoring), temperature and raw input
	  values.

config TOUCHSCREEN_PCAP
	tristate "Motorola PCAP touchscreen"
	depends on EZX_PCAP
	help
	  Say Y here if you have a Motorola EZX telephone and
	  want to enable support for the built-in touchscreen.

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

config TOUCHSCREEN_RM_TS
	tristate "Raydium I2C Touchscreen"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have Raydium series I2C touchscreen,
	  such as RM32380, connected to your system.

	  If unsure, say N.

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

config TOUCHSCREEN_SILEAD
	tristate "Silead I2C touchscreen"
	depends on I2C
	help
	  Say Y here if you have the Silead touchscreen connected to
	  your system.

	  If unsure, say N.

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

config TOUCHSCREEN_SIS_I2C
	tristate "SiS 9200 family I2C touchscreen"
	depends on I2C
	select CRC_ITU_T
	depends on GPIOLIB || COMPILE_TEST
	help
	  This enables support for SiS 9200 family over I2C based touchscreens.

	  If unsure, say N.

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

config TOUCHSCREEN_ST1232
	tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
	depends on I2C
	help
	  Say Y here if you want to support the Sitronix ST1232
	  or ST1633 touchscreen controller.

	  If unsure, say N.

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

config TOUCHSCREEN_STMFTS
	tristate "STMicroelectronics STMFTS touchscreen"
	depends on I2C
	depends on LEDS_CLASS
	help
	  Say Y here if you want support for STMicroelectronics
	  STMFTS touchscreen.

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

config TOUCHSCREEN_STMPE
	tristate "STMicroelectronics STMPE touchscreens"
	depends on MFD_STMPE
	depends on OF
	help
	  Say Y here if you want support for STMicroelectronics
	  STMPE touchscreen controllers.

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

config TOUCHSCREEN_SUN4I
	tristate "Allwinner sun4i resistive touchscreen controller support"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HWMON
	depends on THERMAL || !THERMAL_OF
	help
	  This selects support for the resistive touchscreen controller
	  found on Allwinner sunxi SoCs.

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

config TOUCHSCREEN_SUR40
	tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
	depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
	depends on VIDEO_DEV
	select VIDEOBUF2_DMA_SG
	help
	  Say Y here if you want support for the Samsung SUR40 touchscreen
	  (also known as Microsoft Surface 2.0 or Microsoft PixelSense).

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

config TOUCHSCREEN_SURFACE3_SPI
	tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
	depends on SPI
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have the Ntrig/Microsoft SPI touchscreen
	  controller chip as found on the Surface 3 in your system.

	  If unsure, say N.

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

config TOUCHSCREEN_SX8654
	tristate "Semtech SX8654 touchscreen"
	depends on I2C
	help
	  Say Y here if you have a Semtech SX8654 touchscreen controller.

	  If unsure, say N

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

config TOUCHSCREEN_TPS6507X
	tristate "TPS6507x based touchscreens"
	depends on I2C
	help
	  Say Y here if you have a TPS6507x based touchscreen
	  controller.

	  If unsure, say N.

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

config TOUCHSCREEN_ZET6223
	tristate "Zeitec ZET6223 touchscreen driver"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using Zeitec ZET6223

	  If unsure, say N.

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

config TOUCHSCREEN_ZFORCE
	tristate "Neonode zForce infrared touchscreens"
	depends on I2C
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have a touchscreen using the zforce
	  infraread technology from Neonode.

	  If unsure, say N.

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

config TOUCHSCREEN_COLIBRI_VF50
	tristate "Toradex Colibri on board touchscreen driver"
	depends on IIO
	depends on GPIOLIB || COMPILE_TEST
	help
	  Say Y here if you have a Colibri VF50 and plan to use
	  the on-board provided 4-wire touchscreen driver.

	  If unsure, say N.

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

config TOUCHSCREEN_ROHM_BU21023
	tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using ROHM BU21023/24.

	  If unsure, say N.

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

config TOUCHSCREEN_IQS5XX
	tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
	depends on I2C
	help
	  Say Y to enable support for the Azoteq IQS550/572/525
	  family of trackpad/touchscreen controllers.

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

config TOUCHSCREEN_IQS7211
	tristate "Azoteq IQS7210A/7211A/E trackpad/touchscreen controller"
	depends on I2C
	help
	  Say Y to enable support for the Azoteq IQS7210A/7211A/E
	  family of trackpad/touchscreen controllers.

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

config TOUCHSCREEN_ZINITIX
	tristate "Zinitix touchscreen support"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using Zinitix bt541,
	  or something similar enough.

	  If unsure, say N.

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

config TOUCHSCREEN_HIMAX_HX83112B
	tristate "Himax hx83112b touchscreen driver"
	depends on I2C
	select REGMAP_I2C
	help
	  Say Y here to enable support for Himax hx83112b touchscreens.

	  If unsure, say N.

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

endif