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