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