drm/tests: hdmi: Fix memory leaks in drm_display_mode_from_cea_vic()
[drm/drm-misc.git] / drivers / input / touchscreen / Kconfig
blob1ac26fc2e3eb94a4f62a49962c25ec853b567a43
1 # SPDX-License-Identifier: GPL-2.0-only
3 # Touchscreen driver configuration
5 menuconfig INPUT_TOUCHSCREEN
6         bool "Touchscreens"
7         help
8           Say Y here, and a list of supported touchscreens will be displayed.
9           This option doesn't affect the kernel.
11           If unsure, say Y.
13 if INPUT_TOUCHSCREEN
15 config TOUCHSCREEN_88PM860X
16         tristate "Marvell 88PM860x touchscreen"
17         depends on MFD_88PM860X
18         help
19           Say Y here if you have a 88PM860x PMIC and want to enable
20           support for the built-in touchscreen.
22           If unsure, say N.
24           To compile this driver as a module, choose M here: the
25           module will be called 88pm860x-ts.
27 config TOUCHSCREEN_ADS7846
28         tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
29         depends on SPI_MASTER
30         depends on HWMON = n || HWMON
31         help
32           Say Y here if you have a touchscreen interface using the
33           ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
34           and your board-specific setup code includes that in its
35           table of SPI devices.
37           If HWMON is selected, and the driver is told the reference voltage
38           on your board, you will also get hwmon interfaces for the voltage
39           (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.
41           If unsure, say N (but it's safe to say "Y").
43           To compile this driver as a module, choose M here: the
44           module will be called ads7846.
46 config TOUCHSCREEN_AD7877
47         tristate "AD7877 based touchscreens"
48         depends on SPI_MASTER
49         help
50           Say Y here if you have a touchscreen interface using the
51           AD7877 controller, and your board-specific initialization
52           code includes that in its table of SPI devices.
54           If unsure, say N (but it's safe to say "Y").
56           To compile this driver as a module, choose M here: the
57           module will be called ad7877.
59 config TOUCHSCREEN_AD7879
60         tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface"
61         help
62           Say Y here if you want to support a touchscreen interface using
63           the AD7879-1/AD7889-1 controller.
65           You should select a bus connection too.
67           To compile this driver as a module, choose M here: the
68           module will be called ad7879.
70 config TOUCHSCREEN_AD7879_I2C
71         tristate "support I2C bus connection"
72         depends on TOUCHSCREEN_AD7879 && I2C
73         select REGMAP_I2C
74         help
75           Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.
77           To compile this driver as a module, choose M here: the
78           module will be called ad7879-i2c.
80 config TOUCHSCREEN_AD7879_SPI
81         tristate "support SPI bus connection"
82         depends on TOUCHSCREEN_AD7879 && SPI_MASTER
83         select REGMAP_SPI
84         help
85           Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus.
87           If unsure, say N (but it's safe to say "Y").
89           To compile this driver as a module, choose M here: the
90           module will be called ad7879-spi.
92 config TOUCHSCREEN_ADC
93         tristate "Generic ADC based resistive touchscreen"
94         depends on IIO
95         select IIO_BUFFER
96         select IIO_BUFFER_CB
97         help
98           Say Y here if you want to use the generic ADC
99           resistive touchscreen driver.
101           If unsure, say N (but it's safe to say "Y").
103           To compile this driver as a module, choose M here: the
104           module will be called resistive-adc-touch.ko.
106 config TOUCHSCREEN_AR1021_I2C
107         tristate "Microchip AR1020/1021 i2c touchscreen"
108         depends on I2C && OF
109         help
110           Say Y here if you have the Microchip AR1020 or AR1021 touchscreen
111           controller chip in your system.
113           If unsure, say N.
115           To compile this driver as a module, choose M here: the
116           module will be called ar1021_i2c.
118 config TOUCHSCREEN_ATMEL_MXT
119         tristate "Atmel mXT I2C Touchscreen"
120         depends on I2C
121         select FW_LOADER
122         help
123           Say Y here if you have Atmel mXT series I2C touchscreen,
124           such as AT42QT602240/ATMXT224, connected to your system.
126           If unsure, say N.
128           To compile this driver as a module, choose M here: the
129           module will be called atmel_mxt_ts.
131 config TOUCHSCREEN_ATMEL_MXT_T37
132         bool "Support T37 Diagnostic Data"
133         depends on TOUCHSCREEN_ATMEL_MXT
134         depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m)
135         select VIDEOBUF2_VMALLOC
136         help
137           Say Y here if you want support to output data from the T37
138           Diagnostic Data object using a V4L device.
140 config TOUCHSCREEN_AUO_PIXCIR
141         tristate "AUO in-cell touchscreen using Pixcir ICs"
142         depends on I2C
143         depends on GPIOLIB || COMPILE_TEST
144         help
145           Say Y here if you have a AUO display with in-cell touchscreen
146           using Pixcir ICs.
148           If unsure, say N.
150           To compile this driver as a module, choose M here: the
151           module will be called auo-pixcir-ts.
153 config TOUCHSCREEN_BU21013
154         tristate "BU21013 based touch panel controllers"
155         depends on I2C
156         help
157           Say Y here if you have a bu21013 touchscreen connected to
158           your system.
160           If unsure, say N.
162           To compile this driver as a module, choose M here: the
163           module will be called bu21013_ts.
165 config TOUCHSCREEN_BU21029
166         tristate "Rohm BU21029 based touch panel controllers"
167         depends on I2C
168         help
169           Say Y here if you have a Rohm BU21029 touchscreen controller
170           connected to your system.
172           If unsure, say N.
174           To compile this driver as a module, choose M here: the
175           module will be called bu21029_ts.
177 config TOUCHSCREEN_CHIPONE_ICN8318
178         tristate "chipone icn8318 touchscreen controller"
179         depends on GPIOLIB || COMPILE_TEST
180         depends on I2C
181         depends on OF
182         help
183           Say Y here if you have a ChipOne icn8318 based I2C touchscreen.
185           If unsure, say N.
187           To compile this driver as a module, choose M here: the
188           module will be called chipone_icn8318.
190 config TOUCHSCREEN_CHIPONE_ICN8505
191         tristate "chipone icn8505 touchscreen controller"
192         depends on I2C && ACPI
193         help
194           Say Y here if you have a ChipOne icn8505 based I2C touchscreen.
196           If unsure, say N.
198           To compile this driver as a module, choose M here: the
199           module will be called chipone_icn8505.
201 config TOUCHSCREEN_CY8CTMA140
202         tristate "cy8ctma140 touchscreen"
203         depends on I2C
204         help
205           Say Y here if you have a Cypress CY8CTMA140 capacitive
206           touchscreen also just known as "TMA140"
208           If unsure, say N.
210           To compile this driver as a module, choose M here: the
211           module will be called cy8ctma140.
213 config TOUCHSCREEN_CY8CTMG110
214         tristate "cy8ctmg110 touchscreen"
215         depends on I2C
216         depends on GPIOLIB || COMPILE_TEST
217         help
218           Say Y here if you have a cy8ctmg110 capacitive touchscreen on
219           an AAVA device.
221           If unsure, say N.
223           To compile this driver as a module, choose M here: the
224           module will be called cy8ctmg110_ts.
226 config TOUCHSCREEN_CYTTSP_CORE
227         tristate "Cypress TTSP touchscreen"
228         help
229           Say Y here if you have a touchscreen using controller from
230           the Cypress TrueTouch(tm) Standard Product family connected
231           to your system. You will also need to select appropriate
232           bus connection below.
234           If unsure, say N.
236           To compile this driver as a module, choose M here: the
237           module will be called cyttsp_core.
239 config TOUCHSCREEN_CYTTSP_I2C
240         tristate "support I2C bus connection"
241         depends on TOUCHSCREEN_CYTTSP_CORE && I2C
242         help
243           Say Y here if the touchscreen is connected via I2C bus.
245           To compile this driver as a module, choose M here: the
246           module will be called cyttsp_i2c.
248 config TOUCHSCREEN_CYTTSP_SPI
249         tristate "support SPI bus connection"
250         depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER
251         help
252           Say Y here if the touchscreen is connected via SPI bus.
254           To compile this driver as a module, choose M here: the
255           module will be called cyttsp_spi.
257 config TOUCHSCREEN_CYTTSP5
258         tristate "Cypress TrueTouch Gen5 Touchscreen Driver"
259         depends on I2C
260         select REGMAP_I2C
261         select CRC_ITU_T
262         help
263           Driver for Parade TrueTouch Standard Product Generation 5
264           touchscreen controllers. I2C bus interface support only.
266           Say Y here if you have a Cypress Gen5 touchscreen.
268           If unsure, say N.
270           To compile this driver as a module, choose M here: the
271           module will be called cyttsp5.
273 config TOUCHSCREEN_DA9034
274         tristate "Touchscreen support for Dialog Semiconductor DA9034"
275         depends on PMIC_DA903X
276         default y
277         help
278           Say Y here to enable the support for the touchscreen found
279           on Dialog Semiconductor DA9034 PMIC.
281           If unsure, say N.
283           To compile this driver as a module, choose M here: the
284           module will be called da9034-ts.
286 config TOUCHSCREEN_DA9052
287         tristate "Dialog DA9052/DA9053 TSI"
288         depends on PMIC_DA9052
289         help
290           Say Y here to support the touchscreen found on Dialog Semiconductor
291           DA9052-BC and DA9053-AA/Bx PMICs.
293           If unsure, say N.
295           To compile this driver as a module, choose M here: the
296           module will be called da9052_tsi.
298 config TOUCHSCREEN_DYNAPRO
299         tristate "Dynapro serial touchscreen"
300         select SERIO
301         help
302           Say Y here if you have a Dynapro serial touchscreen connected to
303           your system.
305           If unsure, say N.
307           To compile this driver as a module, choose M here: the
308           module will be called dynapro.
310 config TOUCHSCREEN_HAMPSHIRE
311         tristate "Hampshire serial touchscreen"
312         select SERIO
313         help
314           Say Y here if you have a Hampshire serial touchscreen connected to
315           your system.
317           If unsure, say N.
319           To compile this driver as a module, choose M here: the
320           module will be called hampshire.
322 config TOUCHSCREEN_EETI
323         tristate "EETI touchscreen panel support"
324         depends on I2C
325         help
326           Say Y here to enable support for I2C connected EETI touch panels.
328           To compile this driver as a module, choose M here: the
329           module will be called eeti_ts.
331 config TOUCHSCREEN_EGALAX
332         tristate "EETI eGalax multi-touch panel support"
333         depends on I2C && OF
334         help
335           Say Y here to enable support for I2C connected EETI
336           eGalax multi-touch panels.
338           To compile this driver as a module, choose M here: the
339           module will be called egalax_ts.
341 config TOUCHSCREEN_EGALAX_SERIAL
342         tristate "EETI eGalax serial touchscreen"
343         select SERIO
344         help
345           Say Y here to enable support for serial connected EETI
346           eGalax touch panels.
348           To compile this driver as a module, choose M here: the
349           module will be called egalax_ts_serial.
351 config TOUCHSCREEN_EXC3000
352         tristate "EETI EXC3000 multi-touch panel support"
353         depends on I2C
354         help
355           Say Y here to enable support for I2C connected EETI
356           EXC3000 multi-touch panels.
358           To compile this driver as a module, choose M here: the
359           module will be called exc3000.
361 config TOUCHSCREEN_FUJITSU
362         tristate "Fujitsu serial touchscreen"
363         select SERIO
364         help
365           Say Y here if you have the Fujitsu touchscreen (such as one
366           installed in Lifebook P series laptop) connected to your
367           system.
369           If unsure, say N.
371           To compile this driver as a module, choose M here: the
372           module will be called fujitsu-ts.
374 config TOUCHSCREEN_GOODIX
375         tristate "Goodix I2C touchscreen"
376         depends on I2C
377         depends on GPIOLIB || COMPILE_TEST
378         help
379           Say Y here if you have the Goodix touchscreen (such as one
380           installed in Onda v975w tablets) connected to your
381           system. It also supports 5-finger chip models, which can be
382           found on ARM tablets, like Wexler TAB7200 and MSI Primo73.
384           If unsure, say N.
386           To compile this driver as a module, choose M here: the
387           module will be called goodix.
389 config TOUCHSCREEN_GOODIX_BERLIN_CORE
390         tristate
392 config TOUCHSCREEN_GOODIX_BERLIN_I2C
393         tristate "Goodix Berlin I2C touchscreen"
394         depends on I2C
395         select REGMAP_I2C
396         select TOUCHSCREEN_GOODIX_BERLIN_CORE
397         help
398           Say Y here if you have a Goodix Berlin IC connected to
399           your system via I2C.
401           If unsure, say N.
403           To compile this driver as a module, choose M here: the
404           module will be called goodix_berlin_i2c.
406 config TOUCHSCREEN_GOODIX_BERLIN_SPI
407         tristate "Goodix Berlin SPI touchscreen"
408         depends on SPI_MASTER
409         select REGMAP
410         select TOUCHSCREEN_GOODIX_BERLIN_CORE
411         help
412           Say Y here if you have a Goodix Berlin IC connected to
413           your system via SPI.
415           If unsure, say N.
417           To compile this driver as a module, choose M here: the
418           module will be called goodix_berlin_spi.
420 config TOUCHSCREEN_HIDEEP
421         tristate "HiDeep Touch IC"
422         depends on I2C
423         help
424           Say Y here if you have a touchscreen using HiDeep.
426           If unsure, say N.
428           To compile this driver as a module, choose M here : the
429           module will be called hideep_ts.
431 config TOUCHSCREEN_HYCON_HY46XX
432         tristate "Hycon hy46xx touchscreen support"
433         depends on I2C
434         help
435           Say Y here if you have a touchscreen using Hycon hy46xx
437           If unsure, say N.
439           To compile this driver as a module, choose M here: the
440           module will be called hycon-hy46xx.
442 config TOUCHSCREEN_HYNITRON_CSTXXX
443         tristate "Hynitron touchscreen support"
444         depends on I2C
445         help
446           Say Y here if you have a touchscreen using a Hynitron
447           touchscreen controller.
449           If unsure, say N.
451           To compile this driver as a module, choose M here: the
452           module will be called hynitron-cstxxx.
454 config TOUCHSCREEN_ILI210X
455         tristate "Ilitek ILI210X based touchscreen"
456         depends on I2C
457         select CRC_CCITT
458         help
459           Say Y here if you have a ILI210X based touchscreen
460           controller. This driver supports models ILI2102,
461           ILI2102s, ILI2103, ILI2103s and ILI2105.
462           Such kind of chipsets can be found in Amazon Kindle Fire
463           touchscreens.
465           If unsure, say N.
467           To compile this driver as a module, choose M here: the
468           module will be called ili210x.
470 config TOUCHSCREEN_ILITEK
471         tristate "Ilitek I2C 213X/23XX/25XX/Lego Series Touch ICs"
472         depends on I2C
473         help
474           Say Y here if you have touchscreen with ILITEK touch IC,
475           it supports 213X/23XX/25XX and other Lego series.
477           If unsure, say N.
479           To compile this driver as a module, choose M here: the
480           module will be called ilitek_ts_i2c.
482 config TOUCHSCREEN_IPROC
483         tristate "IPROC touch panel driver support"
484         depends on ARCH_BCM_IPROC || COMPILE_TEST
485         help
486           Say Y here if you want to add support for the IPROC touch
487           controller to your system.
489           If unsure, say N.
491           To compile this driver as a module, choose M here: the
492           module will be called bcm_iproc_tsc.
494 config TOUCHSCREEN_S6SY761
495         tristate "Samsung S6SY761 Touchscreen driver"
496         depends on I2C
497         help
498           Say Y if you have the Samsung S6SY761 driver
500           If unsure, say N
502           To compile this driver as module, choose M here: the
503           module will be called s6sy761.
505 config TOUCHSCREEN_GUNZE
506         tristate "Gunze AHL-51S touchscreen"
507         select SERIO
508         help
509           Say Y here if you have the Gunze AHL-51 touchscreen connected to
510           your system.
512           If unsure, say N.
514           To compile this driver as a module, choose M here: the
515           module will be called gunze.
517 config TOUCHSCREEN_EKTF2127
518         tristate "Elan eKTF2127 I2C touchscreen"
519         depends on I2C
520         help
521           Say Y here if you have an Elan eKTF2127 touchscreen
522           connected to your system.
524           If unsure, say N.
526           To compile this driver as a module, choose M here: the
527           module will be called ektf2127.
529 config TOUCHSCREEN_ELAN
530         tristate "Elan eKTH I2C touchscreen"
531         depends on I2C
532         help
533           Say Y here if you have an Elan eKTH I2C touchscreen
534           connected to your system.
536           If unsure, say N.
538           To compile this driver as a module, choose M here: the
539           module will be called elants_i2c.
541 config TOUCHSCREEN_ELO
542         tristate "Elo serial touchscreens"
543         select SERIO
544         help
545           Say Y here if you have an Elo serial touchscreen connected to
546           your system.
548           If unsure, say N.
550           To compile this driver as a module, choose M here: the
551           module will be called elo.
553 config TOUCHSCREEN_WACOM_W8001
554         tristate "Wacom W8001 penabled serial touchscreen"
555         select SERIO
556         help
557           Say Y here if you have an Wacom W8001 penabled serial touchscreen
558           connected to your system.
560           If unsure, say N.
562           To compile this driver as a module, choose M here: the
563           module will be called wacom_w8001.
565 config TOUCHSCREEN_WACOM_I2C
566         tristate "Wacom Tablet support (I2C)"
567         depends on I2C
568         help
569           Say Y here if you want to use the I2C version of the Wacom
570           Pen Tablet.
572           If unsure, say N.
574           To compile this driver as a module, choose M here: the module
575           will be called wacom_i2c.
577 config TOUCHSCREEN_LPC32XX
578         tristate "LPC32XX touchscreen controller"
579         depends on ARCH_LPC32XX
580         help
581           Say Y here if you have a LPC32XX device and want
582           to support the built-in touchscreen.
584           To compile this driver as a module, choose M here: the
585           module will be called lpc32xx_ts.
587 config TOUCHSCREEN_MAX11801
588         tristate "MAX11801 based touchscreens"
589         depends on I2C
590         help
591           Say Y here if you have a MAX11801 based touchscreen
592           controller.
594           If unsure, say N.
596           To compile this driver as a module, choose M here: the
597           module will be called max11801_ts.
599 config TOUCHSCREEN_MMS114
600         tristate "MELFAS MMS114 touchscreen"
601         depends on I2C
602         help
603           Say Y here if you have the MELFAS MMS114 touchscreen controller
604           chip in your system.
606           If unsure, say N.
608           To compile this driver as a module, choose M here: the
609           module will be called mms114.
611 config TOUCHSCREEN_MELFAS_MIP4
612         tristate "MELFAS MIP4 Touchscreen"
613         depends on I2C
614         help
615           Say Y here if you have a MELFAS MIP4 Touchscreen device.
617           If unsure, say N.
619           To compile this driver as a module, choose M here:
620           the module will be called melfas_mip4.
622 config TOUCHSCREEN_MSG2638
623         tristate "MStar msg2638 touchscreen support"
624         depends on I2C
625         depends on GPIOLIB || COMPILE_TEST
626         help
627           Say Y here if you have an I2C touchscreen using MStar msg2638.
629           If unsure, say N.
631           To compile this driver as a module, choose M here: the
632           module will be called msg2638.
634 config TOUCHSCREEN_MTOUCH
635         tristate "MicroTouch serial touchscreens"
636         select SERIO
637         help
638           Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
639           your system.
641           If unsure, say N.
643           To compile this driver as a module, choose M here: the
644           module will be called mtouch.
646 config TOUCHSCREEN_NOVATEK_NVT_TS
647         tristate "Novatek NT11205 touchscreen support"
648         depends on I2C
649         help
650           Say Y here if you have a Novatek NT11205 touchscreen.
651           If unsure, say N.
653           To compile this driver as a module, choose M here: the
654           module will be called novatek-nvt-ts.
656 config TOUCHSCREEN_IMAGIS
657         tristate "Imagis touchscreen support"
658         depends on I2C
659         help
660           Say Y here if you have an Imagis IST30xxC touchscreen.
661           If unsure, say N.
663           To compile this driver as a module, choose M here: the
664           module will be called imagis.
666 config TOUCHSCREEN_IMX6UL_TSC
667         tristate "Freescale i.MX6UL touchscreen controller"
668         depends on ((OF && GPIOLIB) || COMPILE_TEST) && HAS_IOMEM
669         help
670           Say Y here if you have a Freescale i.MX6UL, and want to
671           use the internal touchscreen controller.
673           If unsure, say N.
675           To compile this driver as a module, choose M here: the
676           module will be called imx6ul_tsc.
678 config TOUCHSCREEN_INEXIO
679         tristate "iNexio serial touchscreens"
680         select SERIO
681         help
682           Say Y here if you have an iNexio serial touchscreen connected to
683           your system.
685           If unsure, say N.
687           To compile this driver as a module, choose M here: the
688           module will be called inexio.
690 config TOUCHSCREEN_MK712
691         tristate "ICS MicroClock MK712 touchscreen"
692         depends on ISA
693         help
694           Say Y here if you have the ICS MicroClock MK712 touchscreen
695           controller chip in your system.
697           If unsure, say N.
699           To compile this driver as a module, choose M here: the
700           module will be called mk712.
702 config TOUCHSCREEN_HP600
703         tristate "HP Jornada 6xx touchscreen"
704         depends on SH_HP6XX && SH_ADC
705         help
706           Say Y here if you have a HP Jornada 620/660/680/690 and want to
707           support the built-in touchscreen.
709           To compile this driver as a module, choose M here: the
710           module will be called hp680_ts_input.
712 config TOUCHSCREEN_HP7XX
713         tristate "HP Jornada 7xx touchscreen"
714         depends on SA1100_JORNADA720_SSP
715         help
716           Say Y here if you have a HP Jornada 710/720/728 and want
717           to support the built-in touchscreen.
719           To compile this driver as a module, choose M here: the
720           module will be called jornada720_ts.
722 config TOUCHSCREEN_IPAQ_MICRO
723         tristate "HP iPAQ Atmel Micro ASIC touchscreen"
724         depends on MFD_IPAQ_MICRO
725         help
726           Say Y here to enable support for the touchscreen attached to
727           the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700
729           If unsure, say N.
731           To compile this driver as a module, choose M here: the
732           module will be called ipaq-micro-ts.
734 config TOUCHSCREEN_HTCPEN
735         tristate "HTC Shift X9500 touchscreen"
736         depends on ISA
737         help
738           Say Y here if you have an HTC Shift UMPC also known as HTC X9500
739           Clio / Shangrila and want to support the built-in touchscreen.
741           If unsure, say N.
743           To compile this driver as a module, choose M here: the
744           module will be called htcpen.
746 config TOUCHSCREEN_PENMOUNT
747         tristate "Penmount serial touchscreen"
748         select SERIO
749         help
750           Say Y here if you have a Penmount serial touchscreen connected to
751           your system.
753           If unsure, say N.
755           To compile this driver as a module, choose M here: the
756           module will be called penmount.
758 config TOUCHSCREEN_EDT_FT5X06
759         tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
760         depends on I2C
761         select REGMAP_I2C
762         help
763           Say Y here if you have an EDT "Polytouch" touchscreen based
764           on the FocalTech FT5x06 family of controllers connected to
765           your system.
767           If unsure, say N.
769           To compile this driver as a module, choose M here: the
770           module will be called edt-ft5x06.
772 config TOUCHSCREEN_RASPBERRYPI_FW
773         tristate "Raspberry Pi's firmware base touch screen support"
774         depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
775         help
776           Say Y here if you have the official Raspberry Pi 7 inch screen on
777           your system.
779           If unsure, say N.
781           To compile this driver as a module, choose M here: the
782           module will be called raspberrypi-ts.
784 config TOUCHSCREEN_MIGOR
785         tristate "Renesas MIGO-R touchscreen"
786         depends on (SH_MIGOR || COMPILE_TEST) && I2C
787         help
788           Say Y here to enable MIGO-R touchscreen support.
790           If unsure, say N.
792           To compile this driver as a module, choose M here: the
793           module will be called migor_ts.
795 config TOUCHSCREEN_TOUCHRIGHT
796         tristate "Touchright serial touchscreen"
797         select SERIO
798         help
799           Say Y here if you have a Touchright serial touchscreen connected to
800           your system.
802           If unsure, say N.
804           To compile this driver as a module, choose M here: the
805           module will be called touchright.
807 config TOUCHSCREEN_TOUCHWIN
808         tristate "Touchwin serial touchscreen"
809         select SERIO
810         help
811           Say Y here if you have a Touchwin serial touchscreen connected to
812           your system.
814           If unsure, say N.
816           To compile this driver as a module, choose M here: the
817           module will be called touchwin.
819 config TOUCHSCREEN_TI_AM335X_TSC
820         tristate "TI Touchscreen Interface"
821         depends on MFD_TI_AM335X_TSCADC
822         help
823           Say Y here if you have 4/5/8 wire touchscreen controller
824           to be connected to the ADC controller on your TI AM335x SoC.
826           If unsure, say N.
828           To compile this driver as a module, choose M here: the
829           module will be called ti_am335x_tsc.
831 config TOUCHSCREEN_PIXCIR
832         tristate "PIXCIR I2C touchscreens"
833         depends on I2C
834         help
835           Say Y here if you have a pixcir i2c touchscreen
836           controller.
838           If unsure, say N.
840           To compile this driver as a module, choose M here: the
841           module will be called pixcir_i2c_ts.
843 config TOUCHSCREEN_WDT87XX_I2C
844         tristate "Weida HiTech I2C touchscreen"
845         depends on I2C
846         help
847           Say Y here if you have a Weida WDT87XX I2C touchscreen
848           connected to your system.
850           If unsure, say N.
852           To compile this driver as a module, choose M here: the
853           module will be called wdt87xx_i2c.
855 config TOUCHSCREEN_WM831X
856         tristate "Support for WM831x touchscreen controllers"
857         depends on MFD_WM831X
858         help
859           This enables support for the touchscreen controller on the WM831x
860           series of PMICs.
862           To compile this driver as a module, choose M here: the
863           module will be called wm831x-ts.
865 config TOUCHSCREEN_WM97XX
866         tristate "Support for WM97xx AC97 touchscreen controllers"
867         depends on AC97_BUS || AC97_BUS_NEW
868         help
869           Say Y here if you have a Wolfson Microelectronics WM97xx
870           touchscreen connected to your system. Note that this option
871           only enables core driver, you will also need to select
872           support for appropriate chip below.
874           If unsure, say N.
876           To compile this driver as a module, choose M here: the
877           module will be called wm97xx-ts.
879 config TOUCHSCREEN_WM9705
880         bool "WM9705 Touchscreen interface support"
881         depends on TOUCHSCREEN_WM97XX
882         default y
883         help
884           Say Y here to enable support for the Wolfson Microelectronics
885           WM9705 touchscreen controller.
887 config TOUCHSCREEN_WM9712
888         bool "WM9712 Touchscreen interface support"
889         depends on TOUCHSCREEN_WM97XX
890         default y
891         help
892           Say Y here to enable support for the Wolfson Microelectronics
893           WM9712 touchscreen controller.
895 config TOUCHSCREEN_WM9713
896         bool "WM9713 Touchscreen interface support"
897         depends on TOUCHSCREEN_WM97XX
898         default y
899         help
900           Say Y here to enable support for the Wolfson Microelectronics
901           WM9713 touchscreen controller.
903 config TOUCHSCREEN_WM97XX_MAINSTONE
904         tristate "WM97xx Mainstone/Palm accelerated touch"
905         depends on TOUCHSCREEN_WM97XX && ARCH_PXA
906         depends on SND_PXA2XX_LIB_AC97
907         help
908           Say Y here for support for streaming mode with WM97xx touchscreens
909           on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
911           If unsure, say N.
913           To compile this driver as a module, choose M here: the
914           module will be called mainstone-wm97xx.
916 config TOUCHSCREEN_USB_COMPOSITE
917         tristate "USB Touchscreen Driver"
918         depends on USB_ARCH_HAS_HCD
919         select USB
920         help
921           USB Touchscreen driver for:
922           - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
923           - PanJit TouchSet USB
924           - 3M MicroTouch USB (EX II series)
925           - ITM
926           - some other eTurboTouch
927           - Gunze AHL61
928           - DMC TSC-10/25
929           - IRTOUCHSYSTEMS/UNITOP
930           - IdealTEK URTC1000
931           - GoTop Super_Q2/GogoPen/PenPower tablets
932           - JASTEC USB Touch Controller/DigiTech DTR-02U
933           - Zytronic controllers
934           - Elo TouchSystems 2700 IntelliTouch
935           - EasyTouch USB Touch Controller from Data Module
936           - e2i (Mimo monitors)
938           Have a look at <http://linux.chapter7.ch/touchkit/> for
939           a usage description and the required user-space stuff.
941           To compile this driver as a module, choose M here: the
942           module will be called usbtouchscreen.
944 config TOUCHSCREEN_MXS_LRADC
945         tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
946         depends on MFD_MXS_LRADC
947         help
948           Say Y here if you have a touchscreen connected to the low-resolution
949           analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.
951           To compile this driver as a module, choose M here: the module will be
952           called mxs-lradc-ts.
954 config TOUCHSCREEN_MX25
955         tristate "Freescale i.MX25 touchscreen input driver"
956         depends on MFD_MX25_TSADC
957         help
958           Enable support for touchscreen connected to your i.MX25.
960           To compile this driver as a module, choose M here: the
961           module will be called fsl-imx25-tcq.
963 config TOUCHSCREEN_MC13783
964         tristate "Freescale MC13783 touchscreen input driver"
965         depends on MFD_MC13XXX
966         help
967           Say Y here if you have an Freescale MC13783 PMIC on your
968           board and want to use its touchscreen
970           If unsure, say N.
972           To compile this driver as a module, choose M here: the
973           module will be called mc13783_ts.
975 config TOUCHSCREEN_USB_EGALAX
976         default y
977         bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
978         depends on TOUCHSCREEN_USB_COMPOSITE
980 config TOUCHSCREEN_USB_PANJIT
981         default y
982         bool "PanJit device support" if EXPERT
983         depends on TOUCHSCREEN_USB_COMPOSITE
985 config TOUCHSCREEN_USB_3M
986         default y
987         bool "3M/Microtouch EX II series device support" if EXPERT
988         depends on TOUCHSCREEN_USB_COMPOSITE
990 config TOUCHSCREEN_USB_ITM
991         default y
992         bool "ITM device support" if EXPERT
993         depends on TOUCHSCREEN_USB_COMPOSITE
995 config TOUCHSCREEN_USB_ETURBO
996         default y
997         bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
998         depends on TOUCHSCREEN_USB_COMPOSITE
1000 config TOUCHSCREEN_USB_GUNZE
1001         default y
1002         bool "Gunze AHL61 device support" if EXPERT
1003         depends on TOUCHSCREEN_USB_COMPOSITE
1005 config TOUCHSCREEN_USB_DMC_TSC10
1006         default y
1007         bool "DMC TSC-10/25 device support" if EXPERT
1008         depends on TOUCHSCREEN_USB_COMPOSITE
1010 config TOUCHSCREEN_USB_IRTOUCH
1011         default y
1012         bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
1013         depends on TOUCHSCREEN_USB_COMPOSITE
1015 config TOUCHSCREEN_USB_IDEALTEK
1016         default y
1017         bool "IdealTEK URTC1000 device support" if EXPERT
1018         depends on TOUCHSCREEN_USB_COMPOSITE
1020 config TOUCHSCREEN_USB_GENERAL_TOUCH
1021         default y
1022         bool "GeneralTouch Touchscreen device support" if EXPERT
1023         depends on TOUCHSCREEN_USB_COMPOSITE
1025 config TOUCHSCREEN_USB_GOTOP
1026         default y
1027         bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
1028         depends on TOUCHSCREEN_USB_COMPOSITE
1030 config TOUCHSCREEN_USB_JASTEC
1031         default y
1032         bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
1033         depends on TOUCHSCREEN_USB_COMPOSITE
1035 config TOUCHSCREEN_USB_ELO
1036         default y
1037         bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
1038         depends on TOUCHSCREEN_USB_COMPOSITE
1040 config TOUCHSCREEN_USB_E2I
1041         default y
1042         bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
1043         depends on TOUCHSCREEN_USB_COMPOSITE
1045 config TOUCHSCREEN_USB_ZYTRONIC
1046         default y
1047         bool "Zytronic controller" if EXPERT
1048         depends on TOUCHSCREEN_USB_COMPOSITE
1050 config TOUCHSCREEN_USB_ETT_TC45USB
1051         default y
1052         bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
1053         depends on TOUCHSCREEN_USB_COMPOSITE
1055 config TOUCHSCREEN_USB_NEXIO
1056         default y
1057         bool "NEXIO/iNexio device support" if EXPERT
1058         depends on TOUCHSCREEN_USB_COMPOSITE
1060 config TOUCHSCREEN_USB_EASYTOUCH
1061         default y
1062         bool "EasyTouch USB Touch controller device support" if EXPERT
1063         depends on TOUCHSCREEN_USB_COMPOSITE
1064         help
1065           Say Y here if you have an EasyTouch USB Touch controller.
1066           If unsure, say N.
1068 config TOUCHSCREEN_TOUCHIT213
1069         tristate "Sahara TouchIT-213 touchscreen"
1070         select SERIO
1071         help
1072           Say Y here if you have a Sahara TouchIT-213 Tablet PC.
1074           If unsure, say N.
1076           To compile this driver as a module, choose M here: the
1077           module will be called touchit213.
1079 config TOUCHSCREEN_TS4800
1080         tristate "TS-4800 touchscreen"
1081         depends on HAS_IOMEM && OF
1082         depends on SOC_IMX51 || COMPILE_TEST
1083         select MFD_SYSCON
1084         help
1085           Say Y here if you have a touchscreen on a TS-4800 board.
1087           On TS-4800, the touchscreen is not handled directly by Linux but by
1088           a companion FPGA.
1090           If unsure, say N.
1092           To compile this driver as a module, choose M here: the
1093           module will be called ts4800_ts.
1095 config TOUCHSCREEN_TSC_SERIO
1096         tristate "TSC-10/25/40 serial touchscreen support"
1097         select SERIO
1098         help
1099           Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
1100           to your system.
1102           If unsure, say N.
1104           To compile this driver as a module, choose M here: the
1105           module will be called tsc40.
1107 config TOUCHSCREEN_TSC200X_CORE
1108         tristate
1110 config TOUCHSCREEN_TSC2004
1111         tristate "TSC2004 based touchscreens"
1112         depends on I2C
1113         select REGMAP_I2C
1114         select TOUCHSCREEN_TSC200X_CORE
1115         help
1116           Say Y here if you have a TSC2004 based touchscreen.
1118           If unsure, say N.
1120           To compile this driver as a module, choose M here: the
1121           module will be called tsc2004.
1123 config TOUCHSCREEN_TSC2005
1124         tristate "TSC2005 based touchscreens"
1125         depends on SPI_MASTER
1126         select REGMAP_SPI
1127         select TOUCHSCREEN_TSC200X_CORE
1128         help
1129           Say Y here if you have a TSC2005 based touchscreen.
1131           If unsure, say N.
1133           To compile this driver as a module, choose M here: the
1134           module will be called tsc2005.
1136 config TOUCHSCREEN_TSC2007
1137         tristate "TSC2007 based touchscreens"
1138         depends on I2C
1139         help
1140           Say Y here if you have a TSC2007 based touchscreen.
1142           If unsure, say N.
1144           To compile this driver as a module, choose M here: the
1145           module will be called tsc2007.
1147 config TOUCHSCREEN_TSC2007_IIO
1148         bool "IIO interface for external ADC input and temperature"
1149         depends on TOUCHSCREEN_TSC2007
1150         depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
1151         help
1152           Saying Y here adds an iio interface to the tsc2007 which
1153           provides values for the AUX input (used for e.g. battery
1154           or ambient light monitoring), temperature and raw input
1155           values.
1157 config TOUCHSCREEN_PCAP
1158         tristate "Motorola PCAP touchscreen"
1159         depends on EZX_PCAP
1160         help
1161           Say Y here if you have a Motorola EZX telephone and
1162           want to enable support for the built-in touchscreen.
1164           To compile this driver as a module, choose M here: the
1165           module will be called pcap_ts.
1167 config TOUCHSCREEN_RM_TS
1168         tristate "Raydium I2C Touchscreen"
1169         depends on I2C
1170         depends on GPIOLIB || COMPILE_TEST
1171         help
1172           Say Y here if you have Raydium series I2C touchscreen,
1173           such as RM32380, connected to your system.
1175           If unsure, say N.
1177           To compile this driver as a module, choose M here: the
1178           module will be called raydium_i2c_ts.
1180 config TOUCHSCREEN_SILEAD
1181         tristate "Silead I2C touchscreen"
1182         depends on I2C
1183         help
1184           Say Y here if you have the Silead touchscreen connected to
1185           your system.
1187           If unsure, say N.
1189           To compile this driver as a module, choose M here: the
1190           module will be called silead.
1192 config TOUCHSCREEN_SIS_I2C
1193         tristate "SiS 9200 family I2C touchscreen"
1194         depends on I2C
1195         select CRC_ITU_T
1196         depends on GPIOLIB || COMPILE_TEST
1197         help
1198           This enables support for SiS 9200 family over I2C based touchscreens.
1200           If unsure, say N.
1202           To compile this driver as a module, choose M here: the
1203           module will be called sis_i2c.
1205 config TOUCHSCREEN_ST1232
1206         tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
1207         depends on I2C
1208         help
1209           Say Y here if you want to support the Sitronix ST1232
1210           or ST1633 touchscreen controller.
1212           If unsure, say N.
1214           To compile this driver as a module, choose M here: the
1215           module will be called st1232_ts.
1217 config TOUCHSCREEN_STMFTS
1218         tristate "STMicroelectronics STMFTS touchscreen"
1219         depends on I2C
1220         depends on LEDS_CLASS
1221         help
1222           Say Y here if you want support for STMicroelectronics
1223           STMFTS touchscreen.
1225           To compile this driver as a module, choose M here: the
1226           module will be called stmfts.
1228 config TOUCHSCREEN_STMPE
1229         tristate "STMicroelectronics STMPE touchscreens"
1230         depends on MFD_STMPE
1231         depends on OF
1232         help
1233           Say Y here if you want support for STMicroelectronics
1234           STMPE touchscreen controllers.
1236           To compile this driver as a module, choose M here: the
1237           module will be called stmpe-ts.
1239 config TOUCHSCREEN_SUN4I
1240         tristate "Allwinner sun4i resistive touchscreen controller support"
1241         depends on ARCH_SUNXI || COMPILE_TEST
1242         depends on HWMON
1243         depends on THERMAL || !THERMAL_OF
1244         help
1245           This selects support for the resistive touchscreen controller
1246           found on Allwinner sunxi SoCs.
1248           To compile this driver as a module, choose M here: the
1249           module will be called sun4i-ts.
1251 config TOUCHSCREEN_SUR40
1252         tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
1253         depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
1254         depends on VIDEO_DEV
1255         select VIDEOBUF2_DMA_SG
1256         help
1257           Say Y here if you want support for the Samsung SUR40 touchscreen
1258           (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
1260           To compile this driver as a module, choose M here: the
1261           module will be called sur40.
1263 config TOUCHSCREEN_SURFACE3_SPI
1264         tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
1265         depends on SPI
1266         depends on GPIOLIB || COMPILE_TEST
1267         help
1268           Say Y here if you have the Ntrig/Microsoft SPI touchscreen
1269           controller chip as found on the Surface 3 in your system.
1271           If unsure, say N.
1273           To compile this driver as a module, choose M here: the
1274           module will be called surface3_spi.
1276 config TOUCHSCREEN_SX8654
1277         tristate "Semtech SX8654 touchscreen"
1278         depends on I2C
1279         help
1280           Say Y here if you have a Semtech SX8654 touchscreen controller.
1282           If unsure, say N
1284           To compile this driver as a module, choose M here: the
1285           module will be called sx8654.
1287 config TOUCHSCREEN_TPS6507X
1288         tristate "TPS6507x based touchscreens"
1289         depends on I2C
1290         help
1291           Say Y here if you have a TPS6507x based touchscreen
1292           controller.
1294           If unsure, say N.
1296           To compile this driver as a module, choose M here: the
1297           module will be called tps6507x_ts.
1299 config TOUCHSCREEN_ZET6223
1300         tristate "Zeitec ZET6223 touchscreen driver"
1301         depends on I2C
1302         help
1303           Say Y here if you have a touchscreen using Zeitec ZET6223
1305           If unsure, say N.
1307           To compile this driver as a module, choose M here: the
1308           module will be called zet6223.
1310 config TOUCHSCREEN_ZFORCE
1311         tristate "Neonode zForce infrared touchscreens"
1312         depends on I2C
1313         depends on GPIOLIB || COMPILE_TEST
1314         help
1315           Say Y here if you have a touchscreen using the zforce
1316           infraread technology from Neonode.
1318           If unsure, say N.
1320           To compile this driver as a module, choose M here: the
1321           module will be called zforce_ts.
1323 config TOUCHSCREEN_COLIBRI_VF50
1324         tristate "Toradex Colibri on board touchscreen driver"
1325         depends on IIO
1326         depends on GPIOLIB || COMPILE_TEST
1327         help
1328           Say Y here if you have a Colibri VF50 and plan to use
1329           the on-board provided 4-wire touchscreen driver.
1331           If unsure, say N.
1333           To compile this driver as a module, choose M here: the
1334           module will be called colibri_vf50_ts.
1336 config TOUCHSCREEN_ROHM_BU21023
1337         tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
1338         depends on I2C
1339         help
1340           Say Y here if you have a touchscreen using ROHM BU21023/24.
1342           If unsure, say N.
1344           To compile this driver as a module, choose M here: the
1345           module will be called bu21023_ts.
1347 config TOUCHSCREEN_IQS5XX
1348         tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
1349         depends on I2C
1350         help
1351           Say Y to enable support for the Azoteq IQS550/572/525
1352           family of trackpad/touchscreen controllers.
1354           To compile this driver as a module, choose M here: the
1355           module will be called iqs5xx.
1357 config TOUCHSCREEN_IQS7211
1358         tristate "Azoteq IQS7210A/7211A/E trackpad/touchscreen controller"
1359         depends on I2C
1360         help
1361           Say Y to enable support for the Azoteq IQS7210A/7211A/E
1362           family of trackpad/touchscreen controllers.
1364           To compile this driver as a module, choose M here: the
1365           module will be called iqs7211.
1367 config TOUCHSCREEN_ZINITIX
1368         tristate "Zinitix touchscreen support"
1369         depends on I2C
1370         help
1371           Say Y here if you have a touchscreen using Zinitix bt541,
1372           or something similar enough.
1374           If unsure, say N.
1376           To compile this driver as a module, choose M here: the
1377           module will be called zinitix.
1379 config TOUCHSCREEN_HIMAX_HX83112B
1380         tristate "Himax hx83112b touchscreen driver"
1381         depends on I2C
1382         select REGMAP_I2C
1383         help
1384           Say Y here to enable support for Himax hx83112b touchscreens.
1386           If unsure, say N.
1388           To compile this driver as a module, choose M here: the
1389           module will be called himax_hx83112b.
1391 endif