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