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