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