input: touchscreen: Add gt9xx driver support
[platform/kernel/linux-starfive.git] / drivers / input / touchscreen / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Touchscreen driver configuration
4 #
5 menuconfig INPUT_TOUCHSCREEN
6         bool "Touchscreens"
7         help
8           Say Y here, and a list of supported touchscreens will be displayed.
9           This option doesn't affect the kernel.
10
11           If unsure, say Y.
12
13 if INPUT_TOUCHSCREEN
14
15 config TOUCHSCREEN_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_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=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_GT9XX
404         tristate "Goodix touch screen gt9xx support for rockchip based platform"
405         depends on I2C
406         help
407           Say Y here if you have a touchscreen interface using the
408           two goodix gt9xx, and your board-specific initialization
409           code includes that in its table of IIC devices.
410
411           If unsure, say N.
412
413           To compile this driver as a module, choose M here: the
414           module will be called gt9xx.
415
416 config TOUCHSCREEN_HIDEEP
417         tristate "HiDeep Touch IC"
418         depends on I2C
419         help
420           Say Y here if you have a touchscreen using HiDeep.
421
422           If unsure, say N.
423
424           To compile this driver as a module, choose M here : the
425           module will be called hideep_ts.
426
427 config TOUCHSCREEN_HYCON_HY46XX
428         tristate "Hycon hy46xx touchscreen support"
429         depends on I2C
430         help
431           Say Y here if you have a touchscreen using Hycon hy46xx
432
433           If unsure, say N.
434
435           To compile this driver as a module, choose M here: the
436           module will be called hycon-hy46xx.
437
438 config TOUCHSCREEN_ILI210X
439         tristate "Ilitek ILI210X based touchscreen"
440         depends on I2C
441         help
442           Say Y here if you have a ILI210X based touchscreen
443           controller. This driver supports models ILI2102,
444           ILI2102s, ILI2103, ILI2103s and ILI2105.
445           Such kind of chipsets can be found in Amazon Kindle Fire
446           touchscreens.
447
448           If unsure, say N.
449
450           To compile this driver as a module, choose M here: the
451           module will be called ili210x.
452
453 config TOUCHSCREEN_ILITEK
454         tristate "Ilitek I2C 213X/23XX/25XX/Lego Series Touch ICs"
455         depends on I2C
456         help
457           Say Y here if you have touchscreen with ILITEK touch IC,
458           it supports 213X/23XX/25XX and other Lego series.
459
460           If unsure, say N.
461
462           To compile this driver as a module, choose M here: the
463           module will be called ilitek_ts_i2c.
464
465 config TOUCHSCREEN_IPROC
466         tristate "IPROC touch panel driver support"
467         depends on ARCH_BCM_IPROC || COMPILE_TEST
468         help
469           Say Y here if you want to add support for the IPROC touch
470           controller to your system.
471
472           If unsure, say N.
473
474           To compile this driver as a module, choose M here: the
475           module will be called bcm_iproc_tsc.
476
477 config TOUCHSCREEN_S3C2410
478         tristate "Samsung S3C2410/generic touchscreen input driver"
479         depends on ARCH_S3C24XX || SAMSUNG_DEV_TS
480         depends on S3C_ADC
481         help
482           Say Y here if you have the s3c2410 touchscreen.
483
484           If unsure, say N.
485
486           To compile this driver as a module, choose M here: the
487           module will be called s3c2410_ts.
488
489 config TOUCHSCREEN_S6SY761
490         tristate "Samsung S6SY761 Touchscreen driver"
491         depends on I2C
492         help
493           Say Y if you have the Samsung S6SY761 driver
494
495           If unsure, say N
496
497           To compile this driver as module, choose M here: the
498           module will be called s6sy761.
499
500 config TOUCHSCREEN_GUNZE
501         tristate "Gunze AHL-51S touchscreen"
502         select SERIO
503         help
504           Say Y here if you have the Gunze AHL-51 touchscreen connected to
505           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 gunze.
511
512 config TOUCHSCREEN_EKTF2127
513         tristate "Elan eKTF2127 I2C touchscreen"
514         depends on I2C
515         help
516           Say Y here if you have an Elan eKTF2127 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 ektf2127.
523
524 config TOUCHSCREEN_ELAN
525         tristate "Elan eKTH I2C touchscreen"
526         depends on I2C
527         help
528           Say Y here if you have an Elan eKTH I2C touchscreen
529           connected to 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 elants_i2c.
535
536 config TOUCHSCREEN_ELO
537         tristate "Elo serial touchscreens"
538         select SERIO
539         help
540           Say Y here if you have an Elo serial touchscreen connected to
541           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 elo.
547
548 config TOUCHSCREEN_WACOM_W8001
549         tristate "Wacom W8001 penabled serial touchscreen"
550         select SERIO
551         help
552           Say Y here if you have an Wacom W8001 penabled serial touchscreen
553           connected to your system.
554
555           If unsure, say N.
556
557           To compile this driver as a module, choose M here: the
558           module will be called wacom_w8001.
559
560 config TOUCHSCREEN_WACOM_I2C
561         tristate "Wacom Tablet support (I2C)"
562         depends on I2C
563         help
564           Say Y here if you want to use the I2C version of the Wacom
565           Pen Tablet.
566
567           If unsure, say N.
568
569           To compile this driver as a module, choose M here: the module
570           will be called wacom_i2c.
571
572 config TOUCHSCREEN_LPC32XX
573         tristate "LPC32XX touchscreen controller"
574         depends on ARCH_LPC32XX
575         help
576           Say Y here if you have a LPC32XX device and want
577           to support the built-in touchscreen.
578
579           To compile this driver as a module, choose M here: the
580           module will be called lpc32xx_ts.
581
582 config TOUCHSCREEN_MAX11801
583         tristate "MAX11801 based touchscreens"
584         depends on I2C
585         help
586           Say Y here if you have a MAX11801 based touchscreen
587           controller.
588
589           If unsure, say N.
590
591           To compile this driver as a module, choose M here: the
592           module will be called max11801_ts.
593
594 config TOUCHSCREEN_MCS5000
595         tristate "MELFAS MCS-5000 touchscreen"
596         depends on I2C
597         help
598           Say Y here if you have the MELFAS MCS-5000 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 mcs5000_ts.
605
606 config TOUCHSCREEN_MMS114
607         tristate "MELFAS MMS114 touchscreen"
608         depends on I2C
609         help
610           Say Y here if you have the MELFAS MMS114 touchscreen controller
611           chip in your system.
612
613           If unsure, say N.
614
615           To compile this driver as a module, choose M here: the
616           module will be called mms114.
617
618 config TOUCHSCREEN_MELFAS_MIP4
619         tristate "MELFAS MIP4 Touchscreen"
620         depends on I2C
621         help
622           Say Y here if you have a MELFAS MIP4 Touchscreen device.
623
624           If unsure, say N.
625
626           To compile this driver as a module, choose M here:
627           the module will be called melfas_mip4.
628
629 config TOUCHSCREEN_MSG2638
630         tristate "MStar msg2638 touchscreen support"
631         depends on I2C
632         depends on GPIOLIB || COMPILE_TEST
633         help
634           Say Y here if you have an I2C touchscreen using MStar msg2638.
635
636           If unsure, say N.
637
638           To compile this driver as a module, choose M here: the
639           module will be called msg2638.
640
641 config TOUCHSCREEN_MTOUCH
642         tristate "MicroTouch serial touchscreens"
643         select SERIO
644         help
645           Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
646           your system.
647
648           If unsure, say N.
649
650           To compile this driver as a module, choose M here: the
651           module will be called mtouch.
652
653 config TOUCHSCREEN_IMX6UL_TSC
654         tristate "Freescale i.MX6UL touchscreen controller"
655         depends on ((OF && GPIOLIB) || COMPILE_TEST) && HAS_IOMEM
656         help
657           Say Y here if you have a Freescale i.MX6UL, and want to
658           use the internal touchscreen controller.
659
660           If unsure, say N.
661
662           To compile this driver as a module, choose M here: the
663           module will be called imx6ul_tsc.
664
665 config TOUCHSCREEN_INEXIO
666         tristate "iNexio serial touchscreens"
667         select SERIO
668         help
669           Say Y here if you have an iNexio serial touchscreen connected to
670           your system.
671
672           If unsure, say N.
673
674           To compile this driver as a module, choose M here: the
675           module will be called inexio.
676
677 config TOUCHSCREEN_MK712
678         tristate "ICS MicroClock MK712 touchscreen"
679         help
680           Say Y here if you have the ICS MicroClock MK712 touchscreen
681           controller chip in your system.
682
683           If unsure, say N.
684
685           To compile this driver as a module, choose M here: the
686           module will be called mk712.
687
688 config TOUCHSCREEN_HP600
689         tristate "HP Jornada 6xx touchscreen"
690         depends on SH_HP6XX && SH_ADC
691         help
692           Say Y here if you have a HP Jornada 620/660/680/690 and want to
693           support the built-in touchscreen.
694
695           To compile this driver as a module, choose M here: the
696           module will be called hp680_ts_input.
697
698 config TOUCHSCREEN_HP7XX
699         tristate "HP Jornada 7xx touchscreen"
700         depends on SA1100_JORNADA720_SSP
701         help
702           Say Y here if you have a HP Jornada 710/720/728 and want
703           to support the built-in touchscreen.
704
705           To compile this driver as a module, choose M here: the
706           module will be called jornada720_ts.
707
708 config TOUCHSCREEN_IPAQ_MICRO
709         tristate "HP iPAQ Atmel Micro ASIC touchscreen"
710         depends on MFD_IPAQ_MICRO
711         help
712           Say Y here to enable support for the touchscreen attached to
713           the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700
714
715           If unsure, say N.
716
717           To compile this driver as a module, choose M here: the
718           module will be called ipaq-micro-ts.
719
720 config TOUCHSCREEN_HTCPEN
721         tristate "HTC Shift X9500 touchscreen"
722         depends on ISA
723         help
724           Say Y here if you have an HTC Shift UMPC also known as HTC X9500
725           Clio / Shangrila and want to support the built-in touchscreen.
726
727           If unsure, say N.
728
729           To compile this driver as a module, choose M here: the
730           module will be called htcpen.
731
732 config TOUCHSCREEN_PENMOUNT
733         tristate "Penmount serial touchscreen"
734         select SERIO
735         help
736           Say Y here if you have a Penmount serial touchscreen connected to
737           your system.
738
739           If unsure, say N.
740
741           To compile this driver as a module, choose M here: the
742           module will be called penmount.
743
744 config TOUCHSCREEN_EDT_FT5X06
745         tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
746         depends on I2C
747         help
748           Say Y here if you have an EDT "Polytouch" touchscreen based
749           on the FocalTech FT5x06 family of controllers connected to
750           your system.
751
752           If unsure, say N.
753
754           To compile this driver as a module, choose M here: the
755           module will be called edt-ft5x06.
756
757 config TOUCHSCREEN_RASPBERRYPI_FW
758         tristate "Raspberry Pi's firmware base touch screen support"
759         depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
760         help
761           Say Y here if you have the official Raspberry Pi 7 inch screen on
762           your system.
763
764           If unsure, say N.
765
766           To compile this driver as a module, choose M here: the
767           module will be called raspberrypi-ts.
768
769 config TOUCHSCREEN_MIGOR
770         tristate "Renesas MIGO-R touchscreen"
771         depends on (SH_MIGOR || COMPILE_TEST) && I2C
772         help
773           Say Y here to enable MIGO-R touchscreen support.
774
775           If unsure, say N.
776
777           To compile this driver as a module, choose M here: the
778           module will be called migor_ts.
779
780 config TOUCHSCREEN_TOUCHRIGHT
781         tristate "Touchright serial touchscreen"
782         select SERIO
783         help
784           Say Y here if you have a Touchright serial touchscreen connected to
785           your system.
786
787           If unsure, say N.
788
789           To compile this driver as a module, choose M here: the
790           module will be called touchright.
791
792 config TOUCHSCREEN_TOUCHWIN
793         tristate "Touchwin serial touchscreen"
794         select SERIO
795         help
796           Say Y here if you have a Touchwin serial touchscreen connected to
797           your system.
798
799           If unsure, say N.
800
801           To compile this driver as a module, choose M here: the
802           module will be called touchwin.
803
804 config TOUCHSCREEN_TI_AM335X_TSC
805         tristate "TI Touchscreen Interface"
806         depends on MFD_TI_AM335X_TSCADC
807         help
808           Say Y here if you have 4/5/8 wire touchscreen controller
809           to be connected to the ADC controller on your TI AM335x SoC.
810
811           If unsure, say N.
812
813           To compile this driver as a module, choose M here: the
814           module will be called ti_am335x_tsc.
815
816 config TOUCHSCREEN_UCB1400
817         tristate "Philips UCB1400 touchscreen"
818         depends on AC97_BUS
819         depends on UCB1400_CORE
820         help
821           This enables support for the Philips UCB1400 touchscreen interface.
822           The UCB1400 is an AC97 audio codec.  The touchscreen interface
823           will be initialized only after the ALSA subsystem has been
824           brought up and the UCB1400 detected.  You therefore have to
825           configure ALSA support as well (either built-in or modular,
826           independently of whether this driver is itself built-in or
827           modular) for this driver to work.
828
829           To compile this driver as a module, choose M here: the
830           module will be called ucb1400_ts.
831
832 config TOUCHSCREEN_PIXCIR
833         tristate "PIXCIR I2C touchscreens"
834         depends on I2C
835         help
836           Say Y here if you have a pixcir i2c touchscreen
837           controller.
838
839           If unsure, say N.
840
841           To compile this driver as a module, choose M here: the
842           module will be called pixcir_i2c_ts.
843
844 config TOUCHSCREEN_WDT87XX_I2C
845         tristate "Weida HiTech I2C touchscreen"
846         depends on I2C
847         help
848           Say Y here if you have a Weida WDT87XX I2C touchscreen
849           connected to your system.
850
851           If unsure, say N.
852
853           To compile this driver as a module, choose M here: the
854           module will be called wdt87xx_i2c.
855
856 config TOUCHSCREEN_WM831X
857         tristate "Support for WM831x touchscreen controllers"
858         depends on MFD_WM831X
859         help
860           This enables support for the touchscreen controller on the WM831x
861           series of PMICs.
862
863           To compile this driver as a module, choose M here: the
864           module will be called wm831x-ts.
865
866 config TOUCHSCREEN_WM97XX
867         tristate "Support for WM97xx AC97 touchscreen controllers"
868         depends on AC97_BUS || AC97_BUS_NEW
869         help
870           Say Y here if you have a Wolfson Microelectronics WM97xx
871           touchscreen connected to your system. Note that this option
872           only enables core driver, you will also need to select
873           support for appropriate chip below.
874
875           If unsure, say N.
876
877           To compile this driver as a module, choose M here: the
878           module will be called wm97xx-ts.
879
880 config TOUCHSCREEN_WM9705
881         bool "WM9705 Touchscreen interface support"
882         depends on TOUCHSCREEN_WM97XX
883         default y
884         help
885           Say Y here to enable support for the Wolfson Microelectronics
886           WM9705 touchscreen controller.
887
888 config TOUCHSCREEN_WM9712
889         bool "WM9712 Touchscreen interface support"
890         depends on TOUCHSCREEN_WM97XX
891         default y
892         help
893           Say Y here to enable support for the Wolfson Microelectronics
894           WM9712 touchscreen controller.
895
896 config TOUCHSCREEN_WM9713
897         bool "WM9713 Touchscreen interface support"
898         depends on TOUCHSCREEN_WM97XX
899         default y
900         help
901           Say Y here to enable support for the Wolfson Microelectronics
902           WM9713 touchscreen controller.
903
904 config TOUCHSCREEN_WM97XX_MAINSTONE
905         tristate "WM97xx Mainstone/Palm accelerated touch"
906         depends on TOUCHSCREEN_WM97XX && ARCH_PXA
907         help
908           Say Y here for support for streaming mode with WM97xx touchscreens
909           on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
910
911           If unsure, say N.
912
913           To compile this driver as a module, choose M here: the
914           module will be called mainstone-wm97xx.
915
916 config TOUCHSCREEN_WM97XX_ZYLONITE
917         tristate "Zylonite accelerated touch"
918         depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
919         select TOUCHSCREEN_WM9713
920         help
921           Say Y here for support for streaming mode with the touchscreen
922           on Zylonite systems.
923
924           If unsure, say N.
925
926           To compile this driver as a module, choose M here: the
927           module will be called zylonite-wm97xx.
928
929 config TOUCHSCREEN_USB_COMPOSITE
930         tristate "USB Touchscreen Driver"
931         depends on USB_ARCH_HAS_HCD
932         select USB
933         help
934           USB Touchscreen driver for:
935           - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
936           - PanJit TouchSet USB
937           - 3M MicroTouch USB (EX II series)
938           - ITM
939           - some other eTurboTouch
940           - Gunze AHL61
941           - DMC TSC-10/25
942           - IRTOUCHSYSTEMS/UNITOP
943           - IdealTEK URTC1000
944           - GoTop Super_Q2/GogoPen/PenPower tablets
945           - JASTEC USB Touch Controller/DigiTech DTR-02U
946           - Zytronic controllers
947           - Elo TouchSystems 2700 IntelliTouch
948           - EasyTouch USB Touch Controller from Data Module
949           - e2i (Mimo monitors)
950
951           Have a look at <http://linux.chapter7.ch/touchkit/> for
952           a usage description and the required user-space stuff.
953
954           To compile this driver as a module, choose M here: the
955           module will be called usbtouchscreen.
956
957 config TOUCHSCREEN_MXS_LRADC
958         tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
959         depends on MFD_MXS_LRADC
960         help
961           Say Y here if you have a touchscreen connected to the low-resolution
962           analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.
963
964           To compile this driver as a module, choose M here: the module will be
965           called mxs-lradc-ts.
966
967 config TOUCHSCREEN_MX25
968         tristate "Freescale i.MX25 touchscreen input driver"
969         depends on MFD_MX25_TSADC
970         help
971           Enable support for touchscreen connected to your i.MX25.
972
973           To compile this driver as a module, choose M here: the
974           module will be called fsl-imx25-tcq.
975
976 config TOUCHSCREEN_MC13783
977         tristate "Freescale MC13783 touchscreen input driver"
978         depends on MFD_MC13XXX
979         help
980           Say Y here if you have an Freescale MC13783 PMIC on your
981           board and want to use its touchscreen
982
983           If unsure, say N.
984
985           To compile this driver as a module, choose M here: the
986           module will be called mc13783_ts.
987
988 config TOUCHSCREEN_USB_EGALAX
989         default y
990         bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
991         depends on TOUCHSCREEN_USB_COMPOSITE
992
993 config TOUCHSCREEN_USB_PANJIT
994         default y
995         bool "PanJit device support" if EXPERT
996         depends on TOUCHSCREEN_USB_COMPOSITE
997
998 config TOUCHSCREEN_USB_3M
999         default y
1000         bool "3M/Microtouch EX II series device support" if EXPERT
1001         depends on TOUCHSCREEN_USB_COMPOSITE
1002
1003 config TOUCHSCREEN_USB_ITM
1004         default y
1005         bool "ITM device support" if EXPERT
1006         depends on TOUCHSCREEN_USB_COMPOSITE
1007
1008 config TOUCHSCREEN_USB_ETURBO
1009         default y
1010         bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
1011         depends on TOUCHSCREEN_USB_COMPOSITE
1012
1013 config TOUCHSCREEN_USB_GUNZE
1014         default y
1015         bool "Gunze AHL61 device support" if EXPERT
1016         depends on TOUCHSCREEN_USB_COMPOSITE
1017
1018 config TOUCHSCREEN_USB_DMC_TSC10
1019         default y
1020         bool "DMC TSC-10/25 device support" if EXPERT
1021         depends on TOUCHSCREEN_USB_COMPOSITE
1022
1023 config TOUCHSCREEN_USB_IRTOUCH
1024         default y
1025         bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
1026         depends on TOUCHSCREEN_USB_COMPOSITE
1027
1028 config TOUCHSCREEN_USB_IDEALTEK
1029         default y
1030         bool "IdealTEK URTC1000 device support" if EXPERT
1031         depends on TOUCHSCREEN_USB_COMPOSITE
1032
1033 config TOUCHSCREEN_USB_GENERAL_TOUCH
1034         default y
1035         bool "GeneralTouch Touchscreen device support" if EXPERT
1036         depends on TOUCHSCREEN_USB_COMPOSITE
1037
1038 config TOUCHSCREEN_USB_GOTOP
1039         default y
1040         bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
1041         depends on TOUCHSCREEN_USB_COMPOSITE
1042
1043 config TOUCHSCREEN_USB_JASTEC
1044         default y
1045         bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
1046         depends on TOUCHSCREEN_USB_COMPOSITE
1047
1048 config TOUCHSCREEN_USB_ELO
1049         default y
1050         bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
1051         depends on TOUCHSCREEN_USB_COMPOSITE
1052
1053 config TOUCHSCREEN_USB_E2I
1054         default y
1055         bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
1056         depends on TOUCHSCREEN_USB_COMPOSITE
1057
1058 config TOUCHSCREEN_USB_ZYTRONIC
1059         default y
1060         bool "Zytronic controller" if EXPERT
1061         depends on TOUCHSCREEN_USB_COMPOSITE
1062
1063 config TOUCHSCREEN_USB_ETT_TC45USB
1064         default y
1065         bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
1066         depends on TOUCHSCREEN_USB_COMPOSITE
1067
1068 config TOUCHSCREEN_USB_NEXIO
1069         default y
1070         bool "NEXIO/iNexio device support" if EXPERT
1071         depends on TOUCHSCREEN_USB_COMPOSITE
1072
1073 config TOUCHSCREEN_USB_EASYTOUCH
1074         default y
1075         bool "EasyTouch USB Touch controller device support" if EXPERT
1076         depends on TOUCHSCREEN_USB_COMPOSITE
1077         help
1078           Say Y here if you have an EasyTouch USB Touch controller.
1079           If unsure, say N.
1080
1081 config TOUCHSCREEN_TOUCHIT213
1082         tristate "Sahara TouchIT-213 touchscreen"
1083         select SERIO
1084         help
1085           Say Y here if you have a Sahara TouchIT-213 Tablet PC.
1086
1087           If unsure, say N.
1088
1089           To compile this driver as a module, choose M here: the
1090           module will be called touchit213.
1091
1092 config TOUCHSCREEN_TS4800
1093         tristate "TS-4800 touchscreen"
1094         depends on HAS_IOMEM && OF
1095         depends on SOC_IMX51 || COMPILE_TEST
1096         select MFD_SYSCON
1097         help
1098           Say Y here if you have a touchscreen on a TS-4800 board.
1099
1100           On TS-4800, the touchscreen is not handled directly by Linux but by
1101           a companion FPGA.
1102
1103           If unsure, say N.
1104
1105           To compile this driver as a module, choose M here: the
1106           module will be called ts4800_ts.
1107
1108 config TOUCHSCREEN_TSC_SERIO
1109         tristate "TSC-10/25/40 serial touchscreen support"
1110         select SERIO
1111         help
1112           Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
1113           to your system.
1114
1115           If unsure, say N.
1116
1117           To compile this driver as a module, choose M here: the
1118           module will be called tsc40.
1119
1120 config TOUCHSCREEN_TSC200X_CORE
1121         tristate
1122
1123 config TOUCHSCREEN_TSC2004
1124         tristate "TSC2004 based touchscreens"
1125         depends on I2C
1126         select REGMAP_I2C
1127         select TOUCHSCREEN_TSC200X_CORE
1128         help
1129           Say Y here if you have a TSC2004 based touchscreen.
1130
1131           If unsure, say N.
1132
1133           To compile this driver as a module, choose M here: the
1134           module will be called tsc2004.
1135
1136 config TOUCHSCREEN_TSC2005
1137         tristate "TSC2005 based touchscreens"
1138         depends on SPI_MASTER
1139         select REGMAP_SPI
1140         select TOUCHSCREEN_TSC200X_CORE
1141         help
1142           Say Y here if you have a TSC2005 based touchscreen.
1143
1144           If unsure, say N.
1145
1146           To compile this driver as a module, choose M here: the
1147           module will be called tsc2005.
1148
1149 config TOUCHSCREEN_TSC2007
1150         tristate "TSC2007 based touchscreens"
1151         depends on I2C
1152         help
1153           Say Y here if you have a TSC2007 based touchscreen.
1154
1155           If unsure, say N.
1156
1157           To compile this driver as a module, choose M here: the
1158           module will be called tsc2007.
1159
1160 config TOUCHSCREEN_TSC2007_IIO
1161         bool "IIO interface for external ADC input and temperature"
1162         depends on TOUCHSCREEN_TSC2007
1163         depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
1164         help
1165           Saying Y here adds an iio interface to the tsc2007 which
1166           provides values for the AUX input (used for e.g. battery
1167           or ambient light monitoring), temperature and raw input
1168           values.
1169
1170 config TOUCHSCREEN_PCAP
1171         tristate "Motorola PCAP touchscreen"
1172         depends on EZX_PCAP
1173         help
1174           Say Y here if you have a Motorola EZX telephone and
1175           want to enable support for the built-in touchscreen.
1176
1177           To compile this driver as a module, choose M here: the
1178           module will be called pcap_ts.
1179
1180 config TOUCHSCREEN_RM_TS
1181         tristate "Raydium I2C Touchscreen"
1182         depends on I2C
1183         depends on GPIOLIB || COMPILE_TEST
1184         help
1185           Say Y here if you have Raydium series I2C touchscreen,
1186           such as RM32380, connected to your system.
1187
1188           If unsure, say N.
1189
1190           To compile this driver as a module, choose M here: the
1191           module will be called raydium_i2c_ts.
1192
1193 config TOUCHSCREEN_SILEAD
1194         tristate "Silead I2C touchscreen"
1195         depends on I2C
1196         help
1197           Say Y here if you have the Silead touchscreen connected to
1198           your system.
1199
1200           If unsure, say N.
1201
1202           To compile this driver as a module, choose M here: the
1203           module will be called silead.
1204
1205 config TOUCHSCREEN_SIS_I2C
1206         tristate "SiS 9200 family I2C touchscreen"
1207         depends on I2C
1208         select CRC_ITU_T
1209         depends on GPIOLIB || COMPILE_TEST
1210         help
1211           This enables support for SiS 9200 family over I2C based touchscreens.
1212
1213           If unsure, say N.
1214
1215           To compile this driver as a module, choose M here: the
1216           module will be called sis_i2c.
1217
1218 config TOUCHSCREEN_ST1232
1219         tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
1220         depends on I2C
1221         help
1222           Say Y here if you want to support the Sitronix ST1232
1223           or ST1633 touchscreen controller.
1224
1225           If unsure, say N.
1226
1227           To compile this driver as a module, choose M here: the
1228           module will be called st1232_ts.
1229
1230 config TOUCHSCREEN_STMFTS
1231         tristate "STMicroelectronics STMFTS touchscreen"
1232         depends on I2C
1233         depends on LEDS_CLASS
1234         help
1235           Say Y here if you want support for STMicroelectronics
1236           STMFTS touchscreen.
1237
1238           To compile this driver as a module, choose M here: the
1239           module will be called stmfts.
1240
1241 config TOUCHSCREEN_STMPE
1242         tristate "STMicroelectronics STMPE touchscreens"
1243         depends on MFD_STMPE
1244         depends on (OF || COMPILE_TEST)
1245         help
1246           Say Y here if you want support for STMicroelectronics
1247           STMPE touchscreen controllers.
1248
1249           To compile this driver as a module, choose M here: the
1250           module will be called stmpe-ts.
1251
1252 config TOUCHSCREEN_SUN4I
1253         tristate "Allwinner sun4i resistive touchscreen controller support"
1254         depends on ARCH_SUNXI || COMPILE_TEST
1255         depends on HWMON
1256         depends on THERMAL || !THERMAL_OF
1257         help
1258           This selects support for the resistive touchscreen controller
1259           found on Allwinner sunxi SoCs.
1260
1261           To compile this driver as a module, choose M here: the
1262           module will be called sun4i-ts.
1263
1264 config TOUCHSCREEN_SUR40
1265         tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
1266         depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
1267         depends on VIDEO_V4L2
1268         select VIDEOBUF2_DMA_SG
1269         help
1270           Say Y here if you want support for the Samsung SUR40 touchscreen
1271           (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
1272
1273           To compile this driver as a module, choose M here: the
1274           module will be called sur40.
1275
1276 config TOUCHSCREEN_SURFACE3_SPI
1277         tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
1278         depends on SPI
1279         depends on GPIOLIB || COMPILE_TEST
1280         help
1281           Say Y here if you have the Ntrig/Microsoft SPI touchscreen
1282           controller chip as found on the Surface 3 in your system.
1283
1284           If unsure, say N.
1285
1286           To compile this driver as a module, choose M here: the
1287           module will be called surface3_spi.
1288
1289 config TOUCHSCREEN_SX8654
1290         tristate "Semtech SX8654 touchscreen"
1291         depends on I2C
1292         help
1293           Say Y here if you have a Semtech SX8654 touchscreen controller.
1294
1295           If unsure, say N
1296
1297           To compile this driver as a module, choose M here: the
1298           module will be called sx8654.
1299
1300 config TOUCHSCREEN_TPS6507X
1301         tristate "TPS6507x based touchscreens"
1302         depends on I2C
1303         help
1304           Say Y here if you have a TPS6507x based touchscreen
1305           controller.
1306
1307           If unsure, say N.
1308
1309           To compile this driver as a module, choose M here: the
1310           module will be called tps6507x_ts.
1311
1312 config TOUCHSCREEN_ZET6223
1313         tristate "Zeitec ZET6223 touchscreen driver"
1314         depends on I2C
1315         help
1316           Say Y here if you have a touchscreen using Zeitec ZET6223
1317
1318           If unsure, say N.
1319
1320           To compile this driver as a module, choose M here: the
1321           module will be called zet6223.
1322
1323 config TOUCHSCREEN_ZFORCE
1324         tristate "Neonode zForce infrared touchscreens"
1325         depends on I2C
1326         depends on GPIOLIB || COMPILE_TEST
1327         help
1328           Say Y here if you have a touchscreen using the zforce
1329           infraread technology from Neonode.
1330
1331           If unsure, say N.
1332
1333           To compile this driver as a module, choose M here: the
1334           module will be called zforce_ts.
1335
1336 config TOUCHSCREEN_COLIBRI_VF50
1337         tristate "Toradex Colibri on board touchscreen driver"
1338         depends on IIO && VF610_ADC
1339         depends on GPIOLIB || COMPILE_TEST
1340         help
1341           Say Y here if you have a Colibri VF50 and plan to use
1342           the on-board provided 4-wire touchscreen driver.
1343
1344           If unsure, say N.
1345
1346           To compile this driver as a module, choose M here: the
1347           module will be called colibri_vf50_ts.
1348
1349 config TOUCHSCREEN_ROHM_BU21023
1350         tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
1351         depends on I2C
1352         help
1353           Say Y here if you have a touchscreen using ROHM BU21023/24.
1354
1355           If unsure, say N.
1356
1357           To compile this driver as a module, choose M here: the
1358           module will be called bu21023_ts.
1359
1360 config TOUCHSCREEN_IQS5XX
1361         tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
1362         depends on I2C
1363         help
1364           Say Y to enable support for the Azoteq IQS550/572/525
1365           family of trackpad/touchscreen controllers.
1366
1367           To compile this driver as a module, choose M here: the
1368           module will be called iqs5xx.
1369
1370 config TOUCHSCREEN_ZINITIX
1371         tristate "Zinitix touchscreen support"
1372         depends on I2C
1373         help
1374           Say Y here if you have a touchscreen using Zinitix bt541,
1375           or something similar enough.
1376
1377           If unsure, say N.
1378
1379           To compile this driver as a module, choose M here: the
1380           module will be called zinitix.
1381
1382 config TOUCHSCREEN_TINKER_FT5406
1383         tristate "tinker ft5406"
1384         depends on I2C
1385         help
1386           Control ft5406 touch ic.
1387
1388 endif