Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[platform/kernel/linux-starfive.git] / drivers / input / touchscreen / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Touchscreen driver configuration
4 #
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.
10
11           If unsure, say Y.
12
13 if INPUT_TOUCHSCREEN
14
15 config TOUCHSCREEN_PROPERTIES
16         def_tristate INPUT
17         depends on INPUT
18
19 config TOUCHSCREEN_88PM860X
20         tristate "Marvell 88PM860x touchscreen"
21         depends on MFD_88PM860X
22         help
23           Say Y here if you have a 88PM860x PMIC and want to enable
24           support for the built-in touchscreen.
25
26           If unsure, say N.
27
28           To compile this driver as a module, choose M here: the
29           module will be called 88pm860x-ts.
30
31 config TOUCHSCREEN_ADS7846
32         tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
33         depends on SPI_MASTER
34         depends on HWMON = n || HWMON
35         help
36           Say Y here if you have a touchscreen interface using the
37           ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
38           and your board-specific setup code includes that in its
39           table of SPI devices.
40
41           If HWMON is selected, and the driver is told the reference voltage
42           on your board, you will also get hwmon interfaces for the voltage
43           (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.
44
45           If unsure, say N (but it's safe to say "Y").
46
47           To compile this driver as a module, choose M here: the
48           module will be called ads7846.
49
50 config TOUCHSCREEN_AD7877
51         tristate "AD7877 based touchscreens"
52         depends on SPI_MASTER
53         help
54           Say Y here if you have a touchscreen interface using the
55           AD7877 controller, and your board-specific initialization
56           code includes that in its table of SPI devices.
57
58           If unsure, say N (but it's safe to say "Y").
59
60           To compile this driver as a module, choose M here: the
61           module will be called ad7877.
62
63 config TOUCHSCREEN_AD7879
64         tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface"
65         help
66           Say Y here if you want to support a touchscreen interface using
67           the AD7879-1/AD7889-1 controller.
68
69           You should select a bus connection too.
70
71           To compile this driver as a module, choose M here: the
72           module will be called ad7879.
73
74 config TOUCHSCREEN_AD7879_I2C
75         tristate "support I2C bus connection"
76         depends on TOUCHSCREEN_AD7879 && I2C
77         select REGMAP_I2C
78         help
79           Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus.
80
81           To compile this driver as a module, choose M here: the
82           module will be called ad7879-i2c.
83
84 config TOUCHSCREEN_AD7879_SPI
85         tristate "support SPI bus connection"
86         depends on TOUCHSCREEN_AD7879 && SPI_MASTER
87         select REGMAP_SPI
88         help
89           Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus.
90
91           If unsure, say N (but it's safe to say "Y").
92
93           To compile this driver as a module, choose M here: the
94           module will be called ad7879-spi.
95
96 config TOUCHSCREEN_ADC
97         tristate "Generic ADC based resistive touchscreen"
98         depends on IIO
99         select IIO_BUFFER
100         select IIO_BUFFER_CB
101         help
102           Say Y here if you want to use the generic ADC
103           resistive touchscreen driver.
104
105           If unsure, say N (but it's safe to say "Y").
106
107           To compile this driver as a module, choose M here: the
108           module will be called resistive-adc-touch.ko.
109
110 config TOUCHSCREEN_AR1021_I2C
111         tristate "Microchip AR1020/1021 i2c touchscreen"
112         depends on I2C && OF
113         help
114           Say Y here if you have the Microchip AR1020 or AR1021 touchscreen
115           controller chip in your system.
116
117           If unsure, say N.
118
119           To compile this driver as a module, choose M here: the
120           module will be called ar1021_i2c.
121
122 config TOUCHSCREEN_ATMEL_MXT
123         tristate "Atmel mXT I2C Touchscreen"
124         depends on I2C
125         select FW_LOADER
126         help
127           Say Y here if you have Atmel mXT series I2C touchscreen,
128           such as AT42QT602240/ATMXT224, connected to your system.
129
130           If unsure, say N.
131
132           To compile this driver as a module, choose M here: the
133           module will be called atmel_mxt_ts.
134
135 config TOUCHSCREEN_ATMEL_MXT_T37
136         bool "Support T37 Diagnostic Data"
137         depends on TOUCHSCREEN_ATMEL_MXT
138         depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m)
139         select VIDEOBUF2_VMALLOC
140         help
141           Say Y here if you want support to output data from the T37
142           Diagnostic Data object using a V4L device.
143
144 config TOUCHSCREEN_AUO_PIXCIR
145         tristate "AUO in-cell touchscreen using Pixcir ICs"
146         depends on I2C
147         depends on GPIOLIB || COMPILE_TEST
148         help
149           Say Y here if you have a AUO display with in-cell touchscreen
150           using Pixcir ICs.
151
152           If unsure, say N.
153
154           To compile this driver as a module, choose M here: the
155           module will be called auo-pixcir-ts.
156
157 config TOUCHSCREEN_BU21013
158         tristate "BU21013 based touch panel controllers"
159         depends on I2C
160         help
161           Say Y here if you have a bu21013 touchscreen connected to
162           your system.
163
164           If unsure, say N.
165
166           To compile this driver as a module, choose M here: the
167           module will be called bu21013_ts.
168
169 config TOUCHSCREEN_BU21029
170         tristate "Rohm BU21029 based touch panel controllers"
171         depends on I2C
172         help
173           Say Y here if you have a Rohm BU21029 touchscreen controller
174           connected to your system.
175
176           If unsure, say N.
177
178           To compile this driver as a module, choose M here: the
179           module will be called bu21029_ts.
180
181 config TOUCHSCREEN_CHIPONE_ICN8318
182         tristate "chipone icn8318 touchscreen controller"
183         depends on GPIOLIB || COMPILE_TEST
184         depends on I2C
185         depends on OF
186         help
187           Say Y here if you have a ChipOne icn8318 based I2C touchscreen.
188
189           If unsure, say N.
190
191           To compile this driver as a module, choose M here: the
192           module will be called chipone_icn8318.
193
194 config TOUCHSCREEN_CHIPONE_ICN8505
195         tristate "chipone icn8505 touchscreen controller"
196         depends on I2C && ACPI
197         help
198           Say Y here if you have a ChipOne icn8505 based I2C touchscreen.
199
200           If unsure, say N.
201
202           To compile this driver as a module, choose M here: the
203           module will be called chipone_icn8505.
204
205 config TOUCHSCREEN_CY8CTMA140
206         tristate "cy8ctma140 touchscreen"
207         depends on I2C
208         help
209           Say Y here if you have a Cypress CY8CTMA140 capacitive
210           touchscreen also just known as "TMA140"
211
212           If unsure, say N.
213
214           To compile this driver as a module, choose M here: the
215           module will be called cy8ctma140.
216
217 config TOUCHSCREEN_CY8CTMG110
218         tristate "cy8ctmg110 touchscreen"
219         depends on I2C
220         depends on GPIOLIB || COMPILE_TEST
221         help
222           Say Y here if you have a cy8ctmg110 capacitive touchscreen on
223           an AAVA device.
224
225           If unsure, say N.
226
227           To compile this driver as a module, choose M here: the
228           module will be called cy8ctmg110_ts.
229
230 config TOUCHSCREEN_CYTTSP_CORE
231         tristate "Cypress TTSP touchscreen"
232         help
233           Say Y here if you have a touchscreen using controller from
234           the Cypress TrueTouch(tm) Standard Product family connected
235           to your system. You will also need to select appropriate
236           bus connection below.
237
238           If unsure, say N.
239
240           To compile this driver as a module, choose M here: the
241           module will be called cyttsp_core.
242
243 config TOUCHSCREEN_CYTTSP_I2C
244         tristate "support I2C bus connection"
245         depends on TOUCHSCREEN_CYTTSP_CORE && I2C
246         help
247           Say Y here if the touchscreen is connected via I2C bus.
248
249           To compile this driver as a module, choose M here: the
250           module will be called cyttsp_i2c.
251
252 config TOUCHSCREEN_CYTTSP_SPI
253         tristate "support SPI bus connection"
254         depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER
255         help
256           Say Y here if the touchscreen is connected via SPI bus.
257
258           To compile this driver as a module, choose M here: the
259           module will be called cyttsp_spi.
260
261 config TOUCHSCREEN_CYTTSP4_CORE
262         tristate "Cypress TrueTouch Gen4 Touchscreen Driver"
263         help
264           Core driver for Cypress TrueTouch(tm) Standard Product
265           Generation4 touchscreen controllers.
266
267           Say Y here if you have a Cypress Gen4 touchscreen.
268
269           If unsure, say N.
270
271           To compile this driver as a module, choose M here.
272
273 config TOUCHSCREEN_CYTTSP4_I2C
274         tristate "support I2C bus connection"
275         depends on TOUCHSCREEN_CYTTSP4_CORE && I2C
276         help
277           Say Y here if the touchscreen is connected via I2C bus.
278
279           To compile this driver as a module, choose M here: the
280           module will be called cyttsp4_i2c.
281
282 config TOUCHSCREEN_CYTTSP4_SPI
283         tristate "support SPI bus connection"
284         depends on TOUCHSCREEN_CYTTSP4_CORE && SPI_MASTER
285         help
286           Say Y here if the touchscreen is connected via SPI bus.
287
288           To compile this driver as a module, choose M here: the
289           module will be called cyttsp4_spi.
290
291 config TOUCHSCREEN_DA9034
292         tristate "Touchscreen support for Dialog Semiconductor DA9034"
293         depends on PMIC_DA903X
294         default y
295         help
296           Say Y here to enable the support for the touchscreen found
297           on Dialog Semiconductor DA9034 PMIC.
298
299           If unsure, say N.
300
301           To compile this driver as a module, choose M here: the
302           module will be called da9034-ts.
303
304 config TOUCHSCREEN_DA9052
305         tristate "Dialog DA9052/DA9053 TSI"
306         depends on PMIC_DA9052
307         help
308           Say Y here to support the touchscreen found on Dialog Semiconductor
309           DA9052-BC and DA9053-AA/Bx PMICs.
310
311           If unsure, say N.
312
313           To compile this driver as a module, choose M here: the
314           module will be called da9052_tsi.
315
316 config TOUCHSCREEN_DYNAPRO
317         tristate "Dynapro serial touchscreen"
318         select SERIO
319         help
320           Say Y here if you have a Dynapro serial touchscreen connected to
321           your system.
322
323           If unsure, say N.
324
325           To compile this driver as a module, choose M here: the
326           module will be called dynapro.
327
328 config TOUCHSCREEN_HAMPSHIRE
329         tristate "Hampshire serial touchscreen"
330         select SERIO
331         help
332           Say Y here if you have a Hampshire serial touchscreen connected to
333           your system.
334
335           If unsure, say N.
336
337           To compile this driver as a module, choose M here: the
338           module will be called hampshire.
339
340 config TOUCHSCREEN_EETI
341         tristate "EETI touchscreen panel support"
342         depends on I2C
343         help
344           Say Y here to enable support for I2C connected EETI touch panels.
345
346           To compile this driver as a module, choose M here: the
347           module will be called eeti_ts.
348
349 config TOUCHSCREEN_EGALAX
350         tristate "EETI eGalax multi-touch panel support"
351         depends on I2C && OF
352         help
353           Say Y here to enable support for I2C connected EETI
354           eGalax multi-touch panels.
355
356           To compile this driver as a module, choose M here: the
357           module will be called egalax_ts.
358
359 config TOUCHSCREEN_EGALAX_SERIAL
360         tristate "EETI eGalax serial touchscreen"
361         select SERIO
362         help
363           Say Y here to enable support for serial connected EETI
364           eGalax touch panels.
365
366           To compile this driver as a module, choose M here: the
367           module will be called egalax_ts_serial.
368
369 config TOUCHSCREEN_EXC3000
370         tristate "EETI EXC3000 multi-touch panel support"
371         depends on I2C
372         help
373           Say Y here to enable support for I2C connected EETI
374           EXC3000 multi-touch panels.
375
376           To compile this driver as a module, choose M here: the
377           module will be called exc3000.
378
379 config TOUCHSCREEN_FUJITSU
380         tristate "Fujitsu serial touchscreen"
381         select SERIO
382         help
383           Say Y here if you have the Fujitsu touchscreen (such as one
384           installed in Lifebook P series laptop) connected to your
385           system.
386
387           If unsure, say N.
388
389           To compile this driver as a module, choose M here: the
390           module will be called fujitsu-ts.
391
392 config TOUCHSCREEN_GOODIX
393         tristate "Goodix I2C touchscreen"
394         depends on I2C
395         depends on GPIOLIB || COMPILE_TEST
396         help
397           Say Y here if you have the Goodix touchscreen (such as one
398           installed in Onda v975w tablets) connected to your
399           system. It also supports 5-finger chip models, which can be
400           found on ARM tablets, like Wexler TAB7200 and MSI Primo73.
401
402           If unsure, say N.
403
404           To compile this driver as a module, choose M here: the
405           module will be called goodix.
406
407 config TOUCHSCREEN_HIDEEP
408         tristate "HiDeep Touch IC"
409         depends on I2C
410         help
411           Say Y here if you have a touchscreen using HiDeep.
412
413           If unsure, say N.
414
415           To compile this driver as a module, choose M here : the
416           module will be called hideep_ts.
417
418 config TOUCHSCREEN_ILI210X
419         tristate "Ilitek ILI210X based touchscreen"
420         depends on I2C
421         help
422           Say Y here if you have a ILI210X based touchscreen
423           controller. This driver supports models ILI2102,
424           ILI2102s, ILI2103, ILI2103s and ILI2105.
425           Such kind of chipsets can be found in Amazon Kindle Fire
426           touchscreens.
427
428           If unsure, say N.
429
430           To compile this driver as a module, choose M here: the
431           module will be called ili210x.
432
433 config TOUCHSCREEN_IPROC
434         tristate "IPROC touch panel driver support"
435         depends on ARCH_BCM_IPROC || COMPILE_TEST
436         help
437           Say Y here if you want to add support for the IPROC touch
438           controller to your system.
439
440           If unsure, say N.
441
442           To compile this driver as a module, choose M here: the
443           module will be called bcm_iproc_tsc.
444
445 config TOUCHSCREEN_S3C2410
446         tristate "Samsung S3C2410/generic touchscreen input driver"
447         depends on ARCH_S3C24XX || SAMSUNG_DEV_TS
448         depends on S3C_ADC
449         help
450           Say Y here if you have the s3c2410 touchscreen.
451
452           If unsure, say N.
453
454           To compile this driver as a module, choose M here: the
455           module will be called s3c2410_ts.
456
457 config TOUCHSCREEN_S6SY761
458         tristate "Samsung S6SY761 Touchscreen driver"
459         depends on I2C
460         help
461           Say Y if you have the Samsung S6SY761 driver
462
463           If unsure, say N
464
465           To compile this driver as module, choose M here: the
466           module will be called s6sy761.
467
468 config TOUCHSCREEN_GUNZE
469         tristate "Gunze AHL-51S touchscreen"
470         select SERIO
471         help
472           Say Y here if you have the Gunze AHL-51 touchscreen connected to
473           your system.
474
475           If unsure, say N.
476
477           To compile this driver as a module, choose M here: the
478           module will be called gunze.
479
480 config TOUCHSCREEN_EKTF2127
481         tristate "Elan eKTF2127 I2C touchscreen"
482         depends on I2C
483         help
484           Say Y here if you have an Elan eKTF2127 touchscreen
485           connected to your system.
486
487           If unsure, say N.
488
489           To compile this driver as a module, choose M here: the
490           module will be called ektf2127.
491
492 config TOUCHSCREEN_ELAN
493         tristate "Elan eKTH I2C touchscreen"
494         depends on I2C
495         help
496           Say Y here if you have an Elan eKTH I2C touchscreen
497           connected to your system.
498
499           If unsure, say N.
500
501           To compile this driver as a module, choose M here: the
502           module will be called elants_i2c.
503
504 config TOUCHSCREEN_ELO
505         tristate "Elo serial touchscreens"
506         select SERIO
507         help
508           Say Y here if you have an Elo serial touchscreen connected to
509           your system.
510
511           If unsure, say N.
512
513           To compile this driver as a module, choose M here: the
514           module will be called elo.
515
516 config TOUCHSCREEN_WACOM_W8001
517         tristate "Wacom W8001 penabled serial touchscreen"
518         select SERIO
519         help
520           Say Y here if you have an Wacom W8001 penabled serial touchscreen
521           connected to your system.
522
523           If unsure, say N.
524
525           To compile this driver as a module, choose M here: the
526           module will be called wacom_w8001.
527
528 config TOUCHSCREEN_WACOM_I2C
529         tristate "Wacom Tablet support (I2C)"
530         depends on I2C
531         help
532           Say Y here if you want to use the I2C version of the Wacom
533           Pen Tablet.
534
535           If unsure, say N.
536
537           To compile this driver as a module, choose M here: the module
538           will be called wacom_i2c.
539
540 config TOUCHSCREEN_LPC32XX
541         tristate "LPC32XX touchscreen controller"
542         depends on ARCH_LPC32XX
543         help
544           Say Y here if you have a LPC32XX device and want
545           to support the built-in touchscreen.
546
547           To compile this driver as a module, choose M here: the
548           module will be called lpc32xx_ts.
549
550 config TOUCHSCREEN_MAX11801
551         tristate "MAX11801 based touchscreens"
552         depends on I2C
553         help
554           Say Y here if you have a MAX11801 based touchscreen
555           controller.
556
557           If unsure, say N.
558
559           To compile this driver as a module, choose M here: the
560           module will be called max11801_ts.
561
562 config TOUCHSCREEN_MCS5000
563         tristate "MELFAS MCS-5000 touchscreen"
564         depends on I2C
565         help
566           Say Y here if you have the MELFAS MCS-5000 touchscreen controller
567           chip in your system.
568
569           If unsure, say N.
570
571           To compile this driver as a module, choose M here: the
572           module will be called mcs5000_ts.
573
574 config TOUCHSCREEN_MMS114
575         tristate "MELFAS MMS114 touchscreen"
576         depends on I2C
577         help
578           Say Y here if you have the MELFAS MMS114 touchscreen controller
579           chip in your system.
580
581           If unsure, say N.
582
583           To compile this driver as a module, choose M here: the
584           module will be called mms114.
585
586 config TOUCHSCREEN_MELFAS_MIP4
587         tristate "MELFAS MIP4 Touchscreen"
588         depends on I2C
589         help
590           Say Y here if you have a MELFAS MIP4 Touchscreen device.
591
592           If unsure, say N.
593
594           To compile this driver as a module, choose M here:
595           the module will be called melfas_mip4.
596
597 config TOUCHSCREEN_MTOUCH
598         tristate "MicroTouch serial touchscreens"
599         select SERIO
600         help
601           Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
602           your system.
603
604           If unsure, say N.
605
606           To compile this driver as a module, choose M here: the
607           module will be called mtouch.
608
609 config TOUCHSCREEN_IMX6UL_TSC
610         tristate "Freescale i.MX6UL touchscreen controller"
611         depends on (OF && GPIOLIB) || COMPILE_TEST
612         help
613           Say Y here if you have a Freescale i.MX6UL, and want to
614           use the internal touchscreen controller.
615
616           If unsure, say N.
617
618           To compile this driver as a module, choose M here: the
619           module will be called imx6ul_tsc.
620
621 config TOUCHSCREEN_INEXIO
622         tristate "iNexio serial touchscreens"
623         select SERIO
624         help
625           Say Y here if you have an iNexio serial touchscreen connected to
626           your system.
627
628           If unsure, say N.
629
630           To compile this driver as a module, choose M here: the
631           module will be called inexio.
632
633 config TOUCHSCREEN_MK712
634         tristate "ICS MicroClock MK712 touchscreen"
635         help
636           Say Y here if you have the ICS MicroClock MK712 touchscreen
637           controller chip in your system.
638
639           If unsure, say N.
640
641           To compile this driver as a module, choose M here: the
642           module will be called mk712.
643
644 config TOUCHSCREEN_HP600
645         tristate "HP Jornada 6xx touchscreen"
646         depends on SH_HP6XX && SH_ADC
647         help
648           Say Y here if you have a HP Jornada 620/660/680/690 and want to
649           support the built-in touchscreen.
650
651           To compile this driver as a module, choose M here: the
652           module will be called hp680_ts_input.
653
654 config TOUCHSCREEN_HP7XX
655         tristate "HP Jornada 7xx touchscreen"
656         depends on SA1100_JORNADA720_SSP
657         help
658           Say Y here if you have a HP Jornada 710/720/728 and want
659           to support the built-in touchscreen.
660
661           To compile this driver as a module, choose M here: the
662           module will be called jornada720_ts.
663
664 config TOUCHSCREEN_IPAQ_MICRO
665         tristate "HP iPAQ Atmel Micro ASIC touchscreen"
666         depends on MFD_IPAQ_MICRO
667         help
668           Say Y here to enable support for the touchscreen attached to
669           the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700
670
671           If unsure, say N.
672
673           To compile this driver as a module, choose M here: the
674           module will be called ipaq-micro-ts.
675
676 config TOUCHSCREEN_HTCPEN
677         tristate "HTC Shift X9500 touchscreen"
678         depends on ISA
679         help
680           Say Y here if you have an HTC Shift UMPC also known as HTC X9500
681           Clio / Shangrila and want to support the built-in touchscreen.
682
683           If unsure, say N.
684
685           To compile this driver as a module, choose M here: the
686           module will be called htcpen.
687
688 config TOUCHSCREEN_PENMOUNT
689         tristate "Penmount serial touchscreen"
690         select SERIO
691         help
692           Say Y here if you have a Penmount serial touchscreen connected to
693           your system.
694
695           If unsure, say N.
696
697           To compile this driver as a module, choose M here: the
698           module will be called penmount.
699
700 config TOUCHSCREEN_EDT_FT5X06
701         tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
702         depends on I2C
703         help
704           Say Y here if you have an EDT "Polytouch" touchscreen based
705           on the FocalTech FT5x06 family of controllers connected to
706           your system.
707
708           If unsure, say N.
709
710           To compile this driver as a module, choose M here: the
711           module will be called edt-ft5x06.
712
713 config TOUCHSCREEN_RASPBERRYPI_FW
714         tristate "Raspberry Pi's firmware base touch screen support"
715         depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
716         help
717           Say Y here if you have the official Raspberry Pi 7 inch screen on
718           your system.
719
720           If unsure, say N.
721
722           To compile this driver as a module, choose M here: the
723           module will be called raspberrypi-ts.
724
725 config TOUCHSCREEN_MIGOR
726         tristate "Renesas MIGO-R touchscreen"
727         depends on (SH_MIGOR || COMPILE_TEST) && I2C
728         help
729           Say Y here to enable MIGO-R touchscreen support.
730
731           If unsure, say N.
732
733           To compile this driver as a module, choose M here: the
734           module will be called migor_ts.
735
736 config TOUCHSCREEN_TOUCHRIGHT
737         tristate "Touchright serial touchscreen"
738         select SERIO
739         help
740           Say Y here if you have a Touchright serial touchscreen connected to
741           your system.
742
743           If unsure, say N.
744
745           To compile this driver as a module, choose M here: the
746           module will be called touchright.
747
748 config TOUCHSCREEN_TOUCHWIN
749         tristate "Touchwin serial touchscreen"
750         select SERIO
751         help
752           Say Y here if you have a Touchwin serial touchscreen connected to
753           your system.
754
755           If unsure, say N.
756
757           To compile this driver as a module, choose M here: the
758           module will be called touchwin.
759
760 config TOUCHSCREEN_TI_AM335X_TSC
761         tristate "TI Touchscreen Interface"
762         depends on MFD_TI_AM335X_TSCADC
763         help
764           Say Y here if you have 4/5/8 wire touchscreen controller
765           to be connected to the ADC controller on your TI AM335x SoC.
766
767           If unsure, say N.
768
769           To compile this driver as a module, choose M here: the
770           module will be called ti_am335x_tsc.
771
772 config TOUCHSCREEN_UCB1400
773         tristate "Philips UCB1400 touchscreen"
774         depends on AC97_BUS
775         depends on UCB1400_CORE
776         help
777           This enables support for the Philips UCB1400 touchscreen interface.
778           The UCB1400 is an AC97 audio codec.  The touchscreen interface
779           will be initialized only after the ALSA subsystem has been
780           brought up and the UCB1400 detected.  You therefore have to
781           configure ALSA support as well (either built-in or modular,
782           independently of whether this driver is itself built-in or
783           modular) for this driver to work.
784
785           To compile this driver as a module, choose M here: the
786           module will be called ucb1400_ts.
787
788 config TOUCHSCREEN_PIXCIR
789         tristate "PIXCIR I2C touchscreens"
790         depends on I2C
791         help
792           Say Y here if you have a pixcir i2c touchscreen
793           controller.
794
795           If unsure, say N.
796
797           To compile this driver as a module, choose M here: the
798           module will be called pixcir_i2c_ts.
799
800 config TOUCHSCREEN_WDT87XX_I2C
801         tristate "Weida HiTech I2C touchscreen"
802         depends on I2C
803         help
804           Say Y here if you have a Weida WDT87XX I2C touchscreen
805           connected to your system.
806
807           If unsure, say N.
808
809           To compile this driver as a module, choose M here: the
810           module will be called wdt87xx_i2c.
811
812 config TOUCHSCREEN_WM831X
813         tristate "Support for WM831x touchscreen controllers"
814         depends on MFD_WM831X
815         help
816           This enables support for the touchscreen controller on the WM831x
817           series of PMICs.
818
819           To compile this driver as a module, choose M here: the
820           module will be called wm831x-ts.
821
822 config TOUCHSCREEN_WM97XX
823         tristate "Support for WM97xx AC97 touchscreen controllers"
824         depends on AC97_BUS || AC97_BUS_NEW
825         help
826           Say Y here if you have a Wolfson Microelectronics WM97xx
827           touchscreen connected to your system. Note that this option
828           only enables core driver, you will also need to select
829           support for appropriate chip below.
830
831           If unsure, say N.
832
833           To compile this driver as a module, choose M here: the
834           module will be called wm97xx-ts.
835
836 config TOUCHSCREEN_WM9705
837         bool "WM9705 Touchscreen interface support"
838         depends on TOUCHSCREEN_WM97XX
839         default y
840         help
841           Say Y here to enable support for the Wolfson Microelectronics
842           WM9705 touchscreen controller.
843
844 config TOUCHSCREEN_WM9712
845         bool "WM9712 Touchscreen interface support"
846         depends on TOUCHSCREEN_WM97XX
847         default y
848         help
849           Say Y here to enable support for the Wolfson Microelectronics
850           WM9712 touchscreen controller.
851
852 config TOUCHSCREEN_WM9713
853         bool "WM9713 Touchscreen interface support"
854         depends on TOUCHSCREEN_WM97XX
855         default y
856         help
857           Say Y here to enable support for the Wolfson Microelectronics
858           WM9713 touchscreen controller.
859
860 config TOUCHSCREEN_WM97XX_MAINSTONE
861         tristate "WM97xx Mainstone/Palm accelerated touch"
862         depends on TOUCHSCREEN_WM97XX && ARCH_PXA
863         help
864           Say Y here for support for streaming mode with WM97xx touchscreens
865           on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
866
867           If unsure, say N.
868
869           To compile this driver as a module, choose M here: the
870           module will be called mainstone-wm97xx.
871
872 config TOUCHSCREEN_WM97XX_ZYLONITE
873         tristate "Zylonite accelerated touch"
874         depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
875         select TOUCHSCREEN_WM9713
876         help
877           Say Y here for support for streaming mode with the touchscreen
878           on Zylonite systems.
879
880           If unsure, say N.
881
882           To compile this driver as a module, choose M here: the
883           module will be called zylonite-wm97xx.
884
885 config TOUCHSCREEN_USB_COMPOSITE
886         tristate "USB Touchscreen Driver"
887         depends on USB_ARCH_HAS_HCD
888         select USB
889         help
890           USB Touchscreen driver for:
891           - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
892           - PanJit TouchSet USB
893           - 3M MicroTouch USB (EX II series)
894           - ITM
895           - some other eTurboTouch
896           - Gunze AHL61
897           - DMC TSC-10/25
898           - IRTOUCHSYSTEMS/UNITOP
899           - IdealTEK URTC1000
900           - GoTop Super_Q2/GogoPen/PenPower tablets
901           - JASTEC USB Touch Controller/DigiTech DTR-02U
902           - Zytronic controllers
903           - Elo TouchSystems 2700 IntelliTouch
904           - EasyTouch USB Touch Controller from Data Modul
905           - e2i (Mimo monitors)
906
907           Have a look at <http://linux.chapter7.ch/touchkit/> for
908           a usage description and the required user-space stuff.
909
910           To compile this driver as a module, choose M here: the
911           module will be called usbtouchscreen.
912
913 config TOUCHSCREEN_MXS_LRADC
914         tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
915         depends on MFD_MXS_LRADC
916         help
917           Say Y here if you have a touchscreen connected to the low-resolution
918           analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.
919
920           To compile this driver as a module, choose M here: the module will be
921           called mxs-lradc-ts.
922
923 config TOUCHSCREEN_MX25
924         tristate "Freescale i.MX25 touchscreen input driver"
925         depends on MFD_MX25_TSADC
926         help
927           Enable support for touchscreen connected to your i.MX25.
928
929           To compile this driver as a module, choose M here: the
930           module will be called fsl-imx25-tcq.
931
932 config TOUCHSCREEN_MC13783
933         tristate "Freescale MC13783 touchscreen input driver"
934         depends on MFD_MC13XXX
935         help
936           Say Y here if you have an Freescale MC13783 PMIC on your
937           board and want to use its touchscreen
938
939           If unsure, say N.
940
941           To compile this driver as a module, choose M here: the
942           module will be called mc13783_ts.
943
944 config TOUCHSCREEN_USB_EGALAX
945         default y
946         bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
947         depends on TOUCHSCREEN_USB_COMPOSITE
948
949 config TOUCHSCREEN_USB_PANJIT
950         default y
951         bool "PanJit device support" if EXPERT
952         depends on TOUCHSCREEN_USB_COMPOSITE
953
954 config TOUCHSCREEN_USB_3M
955         default y
956         bool "3M/Microtouch EX II series device support" if EXPERT
957         depends on TOUCHSCREEN_USB_COMPOSITE
958
959 config TOUCHSCREEN_USB_ITM
960         default y
961         bool "ITM device support" if EXPERT
962         depends on TOUCHSCREEN_USB_COMPOSITE
963
964 config TOUCHSCREEN_USB_ETURBO
965         default y
966         bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
967         depends on TOUCHSCREEN_USB_COMPOSITE
968
969 config TOUCHSCREEN_USB_GUNZE
970         default y
971         bool "Gunze AHL61 device support" if EXPERT
972         depends on TOUCHSCREEN_USB_COMPOSITE
973
974 config TOUCHSCREEN_USB_DMC_TSC10
975         default y
976         bool "DMC TSC-10/25 device support" if EXPERT
977         depends on TOUCHSCREEN_USB_COMPOSITE
978
979 config TOUCHSCREEN_USB_IRTOUCH
980         default y
981         bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
982         depends on TOUCHSCREEN_USB_COMPOSITE
983
984 config TOUCHSCREEN_USB_IDEALTEK
985         default y
986         bool "IdealTEK URTC1000 device support" if EXPERT
987         depends on TOUCHSCREEN_USB_COMPOSITE
988
989 config TOUCHSCREEN_USB_GENERAL_TOUCH
990         default y
991         bool "GeneralTouch Touchscreen device support" if EXPERT
992         depends on TOUCHSCREEN_USB_COMPOSITE
993
994 config TOUCHSCREEN_USB_GOTOP
995         default y
996         bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
997         depends on TOUCHSCREEN_USB_COMPOSITE
998
999 config TOUCHSCREEN_USB_JASTEC
1000         default y
1001         bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
1002         depends on TOUCHSCREEN_USB_COMPOSITE
1003
1004 config TOUCHSCREEN_USB_ELO
1005         default y
1006         bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
1007         depends on TOUCHSCREEN_USB_COMPOSITE
1008
1009 config TOUCHSCREEN_USB_E2I
1010         default y
1011         bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
1012         depends on TOUCHSCREEN_USB_COMPOSITE
1013
1014 config TOUCHSCREEN_USB_ZYTRONIC
1015         default y
1016         bool "Zytronic controller" if EXPERT
1017         depends on TOUCHSCREEN_USB_COMPOSITE
1018
1019 config TOUCHSCREEN_USB_ETT_TC45USB
1020         default y
1021         bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
1022         depends on TOUCHSCREEN_USB_COMPOSITE
1023
1024 config TOUCHSCREEN_USB_NEXIO
1025         default y
1026         bool "NEXIO/iNexio device support" if EXPERT
1027         depends on TOUCHSCREEN_USB_COMPOSITE
1028
1029 config TOUCHSCREEN_USB_EASYTOUCH
1030         default y
1031         bool "EasyTouch USB Touch controller device support" if EXPERT
1032         depends on TOUCHSCREEN_USB_COMPOSITE
1033         help
1034           Say Y here if you have an EasyTouch USB Touch controller.
1035           If unsure, say N.
1036
1037 config TOUCHSCREEN_TOUCHIT213
1038         tristate "Sahara TouchIT-213 touchscreen"
1039         select SERIO
1040         help
1041           Say Y here if you have a Sahara TouchIT-213 Tablet PC.
1042
1043           If unsure, say N.
1044
1045           To compile this driver as a module, choose M here: the
1046           module will be called touchit213.
1047
1048 config TOUCHSCREEN_TS4800
1049         tristate "TS-4800 touchscreen"
1050         depends on HAS_IOMEM && OF
1051         depends on SOC_IMX51 || COMPILE_TEST
1052         select MFD_SYSCON
1053         help
1054           Say Y here if you have a touchscreen on a TS-4800 board.
1055
1056           On TS-4800, the touchscreen is not handled directly by Linux but by
1057           a companion FPGA.
1058
1059           If unsure, say N.
1060
1061           To compile this driver as a module, choose M here: the
1062           module will be called ts4800_ts.
1063
1064 config TOUCHSCREEN_TSC_SERIO
1065         tristate "TSC-10/25/40 serial touchscreen support"
1066         select SERIO
1067         help
1068           Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
1069           to your system.
1070
1071           If unsure, say N.
1072
1073           To compile this driver as a module, choose M here: the
1074           module will be called tsc40.
1075
1076 config TOUCHSCREEN_TSC200X_CORE
1077         tristate
1078
1079 config TOUCHSCREEN_TSC2004
1080         tristate "TSC2004 based touchscreens"
1081         depends on I2C
1082         select REGMAP_I2C
1083         select TOUCHSCREEN_TSC200X_CORE
1084         help
1085           Say Y here if you have a TSC2004 based touchscreen.
1086
1087           If unsure, say N.
1088
1089           To compile this driver as a module, choose M here: the
1090           module will be called tsc2004.
1091
1092 config TOUCHSCREEN_TSC2005
1093         tristate "TSC2005 based touchscreens"
1094         depends on SPI_MASTER
1095         select REGMAP_SPI
1096         select TOUCHSCREEN_TSC200X_CORE
1097         help
1098           Say Y here if you have a TSC2005 based touchscreen.
1099
1100           If unsure, say N.
1101
1102           To compile this driver as a module, choose M here: the
1103           module will be called tsc2005.
1104
1105 config TOUCHSCREEN_TSC2007
1106         tristate "TSC2007 based touchscreens"
1107         depends on I2C
1108         help
1109           Say Y here if you have a TSC2007 based touchscreen.
1110
1111           If unsure, say N.
1112
1113           To compile this driver as a module, choose M here: the
1114           module will be called tsc2007.
1115
1116 config TOUCHSCREEN_TSC2007_IIO
1117         bool "IIO interface for external ADC input and temperature"
1118         depends on TOUCHSCREEN_TSC2007
1119         depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
1120         help
1121           Saying Y here adds an iio interface to the tsc2007 which
1122           provides values for the AUX input (used for e.g. battery
1123           or ambient light monitoring), temperature and raw input
1124           values.
1125
1126 config TOUCHSCREEN_PCAP
1127         tristate "Motorola PCAP touchscreen"
1128         depends on EZX_PCAP
1129         help
1130           Say Y here if you have a Motorola EZX telephone and
1131           want to enable support for the built-in touchscreen.
1132
1133           To compile this driver as a module, choose M here: the
1134           module will be called pcap_ts.
1135
1136 config TOUCHSCREEN_RM_TS
1137         tristate "Raydium I2C Touchscreen"
1138         depends on I2C
1139         depends on GPIOLIB || COMPILE_TEST
1140         help
1141           Say Y here if you have Raydium series I2C touchscreen,
1142           such as RM32380, connected to your system.
1143
1144           If unsure, say N.
1145
1146           To compile this driver as a module, choose M here: the
1147           module will be called raydium_i2c_ts.
1148
1149 config TOUCHSCREEN_SILEAD
1150         tristate "Silead I2C touchscreen"
1151         depends on I2C
1152         help
1153           Say Y here if you have the Silead touchscreen connected to
1154           your system.
1155
1156           If unsure, say N.
1157
1158           To compile this driver as a module, choose M here: the
1159           module will be called silead.
1160
1161 config TOUCHSCREEN_SIS_I2C
1162         tristate "SiS 9200 family I2C touchscreen"
1163         depends on I2C
1164         select CRC_ITU_T
1165         depends on GPIOLIB || COMPILE_TEST
1166         help
1167           This enables support for SiS 9200 family over I2C based touchscreens.
1168
1169           If unsure, say N.
1170
1171           To compile this driver as a module, choose M here: the
1172           module will be called sis_i2c.
1173
1174 config TOUCHSCREEN_ST1232
1175         tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
1176         depends on I2C
1177         help
1178           Say Y here if you want to support the Sitronix ST1232
1179           or ST1633 touchscreen controller.
1180
1181           If unsure, say N.
1182
1183           To compile this driver as a module, choose M here: the
1184           module will be called st1232_ts.
1185
1186 config TOUCHSCREEN_STMFTS
1187         tristate "STMicroelectronics STMFTS touchscreen"
1188         depends on I2C
1189         depends on LEDS_CLASS
1190         help
1191           Say Y here if you want support for STMicroelectronics
1192           STMFTS touchscreen.
1193
1194           To compile this driver as a module, choose M here: the
1195           module will be called stmfts.
1196
1197 config TOUCHSCREEN_STMPE
1198         tristate "STMicroelectronics STMPE touchscreens"
1199         depends on MFD_STMPE
1200         depends on (OF || COMPILE_TEST)
1201         help
1202           Say Y here if you want support for STMicroelectronics
1203           STMPE touchscreen controllers.
1204
1205           To compile this driver as a module, choose M here: the
1206           module will be called stmpe-ts.
1207
1208 config TOUCHSCREEN_SUN4I
1209         tristate "Allwinner sun4i resistive touchscreen controller support"
1210         depends on ARCH_SUNXI || COMPILE_TEST
1211         depends on HWMON
1212         depends on THERMAL || !THERMAL_OF
1213         help
1214           This selects support for the resistive touchscreen controller
1215           found on Allwinner sunxi SoCs.
1216
1217           To compile this driver as a module, choose M here: the
1218           module will be called sun4i-ts.
1219
1220 config TOUCHSCREEN_SUR40
1221         tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
1222         depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
1223         depends on VIDEO_V4L2
1224         select VIDEOBUF2_DMA_SG
1225         help
1226           Say Y here if you want support for the Samsung SUR40 touchscreen
1227           (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
1228
1229           To compile this driver as a module, choose M here: the
1230           module will be called sur40.
1231
1232 config TOUCHSCREEN_SURFACE3_SPI
1233         tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
1234         depends on SPI
1235         depends on GPIOLIB || COMPILE_TEST
1236         help
1237           Say Y here if you have the Ntrig/Microsoft SPI touchscreen
1238           controller chip as found on the Surface 3 in your system.
1239
1240           If unsure, say N.
1241
1242           To compile this driver as a module, choose M here: the
1243           module will be called surface3_spi.
1244
1245 config TOUCHSCREEN_SX8654
1246         tristate "Semtech SX8654 touchscreen"
1247         depends on I2C
1248         help
1249           Say Y here if you have a Semtech SX8654 touchscreen controller.
1250
1251           If unsure, say N
1252
1253           To compile this driver as a module, choose M here: the
1254           module will be called sx8654.
1255
1256 config TOUCHSCREEN_TPS6507X
1257         tristate "TPS6507x based touchscreens"
1258         depends on I2C
1259         help
1260           Say Y here if you have a TPS6507x based touchscreen
1261           controller.
1262
1263           If unsure, say N.
1264
1265           To compile this driver as a module, choose M here: the
1266           module will be called tps6507x_ts.
1267
1268 config TOUCHSCREEN_ZET6223
1269         tristate "Zeitec ZET6223 touchscreen driver"
1270         depends on I2C
1271         help
1272           Say Y here if you have a touchscreen using Zeitec ZET6223
1273
1274           If unsure, say N.
1275
1276           To compile this driver as a module, choose M here: the
1277           module will be called zet6223.
1278
1279 config TOUCHSCREEN_ZFORCE
1280         tristate "Neonode zForce infrared touchscreens"
1281         depends on I2C
1282         depends on GPIOLIB || COMPILE_TEST
1283         help
1284           Say Y here if you have a touchscreen using the zforce
1285           infraread technology from Neonode.
1286
1287           If unsure, say N.
1288
1289           To compile this driver as a module, choose M here: the
1290           module will be called zforce_ts.
1291
1292 config TOUCHSCREEN_COLIBRI_VF50
1293         tristate "Toradex Colibri on board touchscreen driver"
1294         depends on IIO && VF610_ADC
1295         depends on GPIOLIB || COMPILE_TEST
1296         help
1297           Say Y here if you have a Colibri VF50 and plan to use
1298           the on-board provided 4-wire touchscreen driver.
1299
1300           If unsure, say N.
1301
1302           To compile this driver as a module, choose M here: the
1303           module will be called colibri_vf50_ts.
1304
1305 config TOUCHSCREEN_ROHM_BU21023
1306         tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
1307         depends on I2C
1308         help
1309           Say Y here if you have a touchscreen using ROHM BU21023/24.
1310
1311           If unsure, say N.
1312
1313           To compile this driver as a module, choose M here: the
1314           module will be called bu21023_ts.
1315
1316 config TOUCHSCREEN_IQS5XX
1317         tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
1318         depends on I2C
1319         help
1320           Say Y to enable support for the Azoteq IQS550/572/525
1321           family of trackpad/touchscreen controllers.
1322
1323           To compile this driver as a module, choose M here: the
1324           module will be called iqs5xx.
1325
1326 config TOUCHSCREEN_ZINITIX
1327         tristate "Zinitix touchscreen support"
1328         depends on I2C
1329         help
1330           Say Y here if you have a touchscreen using Zinitix bt541,
1331           or something similar enough.
1332
1333           If unsure, say N.
1334
1335           To compile this driver as a module, choose M here: the
1336           module will be called zinitix.
1337
1338 endif