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