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