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