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