xref: /linux/drivers/input/touchscreen/Kconfig (revision 3e51108c72e8adbcf3180ed40527a2a9d2d0123b)
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	select REGMAP_I2C
424	help
425	  Say Y here if you have a touchscreen using HiDeep.
426
427	  If unsure, say N.
428
429	  To compile this driver as a module, choose M here : the
430	  module will be called hideep_ts.
431
432config TOUCHSCREEN_HYCON_HY46XX
433	tristate "Hycon hy46xx touchscreen support"
434	depends on I2C
435	select REGMAP_I2C
436	help
437	  Say Y here if you have a touchscreen using Hycon hy46xx
438
439	  If unsure, say N.
440
441	  To compile this driver as a module, choose M here: the
442	  module will be called hycon-hy46xx.
443
444config TOUCHSCREEN_HYNITRON_CSTXXX
445	tristate "Hynitron touchscreen support"
446	depends on I2C
447	help
448	  Say Y here if you have a touchscreen using a Hynitron
449	  touchscreen controller.
450
451	  If unsure, say N.
452
453	  To compile this driver as a module, choose M here: the
454	  module will be called hynitron-cstxxx.
455
456config TOUCHSCREEN_ILI210X
457	tristate "Ilitek ILI210X based touchscreen"
458	depends on I2C
459	select CRC_CCITT
460	help
461	  Say Y here if you have a ILI210X based touchscreen
462	  controller. This driver supports models ILI2102,
463	  ILI2102s, ILI2103, ILI2103s and ILI2105.
464	  Such kind of chipsets can be found in Amazon Kindle Fire
465	  touchscreens.
466
467	  If unsure, say N.
468
469	  To compile this driver as a module, choose M here: the
470	  module will be called ili210x.
471
472config TOUCHSCREEN_ILITEK
473	tristate "Ilitek I2C 213X/23XX/25XX/Lego Series Touch ICs"
474	depends on I2C
475	help
476	  Say Y here if you have touchscreen with ILITEK touch IC,
477	  it supports 213X/23XX/25XX and other Lego series.
478
479	  If unsure, say N.
480
481	  To compile this driver as a module, choose M here: the
482	  module will be called ilitek_ts_i2c.
483
484config TOUCHSCREEN_IPROC
485	tristate "IPROC touch panel driver support"
486	depends on ARCH_BCM_IPROC || COMPILE_TEST
487	help
488	  Say Y here if you want to add support for the IPROC touch
489	  controller to your system.
490
491	  If unsure, say N.
492
493	  To compile this driver as a module, choose M here: the
494	  module will be called bcm_iproc_tsc.
495
496config TOUCHSCREEN_S6SY761
497	tristate "Samsung S6SY761 Touchscreen driver"
498	depends on I2C
499	help
500	  Say Y if you have the Samsung S6SY761 driver
501
502	  If unsure, say N
503
504	  To compile this driver as module, choose M here: the
505	  module will be called s6sy761.
506
507config TOUCHSCREEN_GUNZE
508	tristate "Gunze AHL-51S touchscreen"
509	select SERIO
510	help
511	  Say Y here if you have the Gunze AHL-51 touchscreen connected to
512	  your system.
513
514	  If unsure, say N.
515
516	  To compile this driver as a module, choose M here: the
517	  module will be called gunze.
518
519config TOUCHSCREEN_EKTF2127
520	tristate "Elan eKTF2127 I2C touchscreen"
521	depends on I2C
522	help
523	  Say Y here if you have an Elan eKTF2127 touchscreen
524	  connected to your system.
525
526	  If unsure, say N.
527
528	  To compile this driver as a module, choose M here: the
529	  module will be called ektf2127.
530
531config TOUCHSCREEN_ELAN
532	tristate "Elan eKTH I2C touchscreen"
533	depends on I2C
534	help
535	  Say Y here if you have an Elan eKTH I2C touchscreen
536	  connected to your system.
537
538	  If unsure, say N.
539
540	  To compile this driver as a module, choose M here: the
541	  module will be called elants_i2c.
542
543config TOUCHSCREEN_ELO
544	tristate "Elo serial touchscreens"
545	select SERIO
546	help
547	  Say Y here if you have an Elo serial touchscreen connected to
548	  your system.
549
550	  If unsure, say N.
551
552	  To compile this driver as a module, choose M here: the
553	  module will be called elo.
554
555config TOUCHSCREEN_WACOM_W8001
556	tristate "Wacom W8001 penabled serial touchscreen"
557	select SERIO
558	help
559	  Say Y here if you have an Wacom W8001 penabled serial touchscreen
560	  connected to your system.
561
562	  If unsure, say N.
563
564	  To compile this driver as a module, choose M here: the
565	  module will be called wacom_w8001.
566
567config TOUCHSCREEN_WACOM_I2C
568	tristate "Wacom Tablet support (I2C)"
569	depends on I2C
570	help
571	  Say Y here if you want to use the I2C version of the Wacom
572	  Pen Tablet.
573
574	  If unsure, say N.
575
576	  To compile this driver as a module, choose M here: the module
577	  will be called wacom_i2c.
578
579config TOUCHSCREEN_LPC32XX
580	tristate "LPC32XX touchscreen controller"
581	depends on ARCH_LPC32XX
582	help
583	  Say Y here if you have a LPC32XX device and want
584	  to support the built-in touchscreen.
585
586	  To compile this driver as a module, choose M here: the
587	  module will be called lpc32xx_ts.
588
589config TOUCHSCREEN_MAX11801
590	tristate "MAX11801 based touchscreens"
591	depends on I2C
592	help
593	  Say Y here if you have a MAX11801 based touchscreen
594	  controller.
595
596	  If unsure, say N.
597
598	  To compile this driver as a module, choose M here: the
599	  module will be called max11801_ts.
600
601config TOUCHSCREEN_MMS114
602	tristate "MELFAS MMS114 touchscreen"
603	depends on I2C
604	help
605	  Say Y here if you have the MELFAS MMS114 touchscreen controller
606	  chip in your system.
607
608	  If unsure, say N.
609
610	  To compile this driver as a module, choose M here: the
611	  module will be called mms114.
612
613config TOUCHSCREEN_MELFAS_MIP4
614	tristate "MELFAS MIP4 Touchscreen"
615	depends on I2C
616	help
617	  Say Y here if you have a MELFAS MIP4 Touchscreen device.
618
619	  If unsure, say N.
620
621	  To compile this driver as a module, choose M here:
622	  the module will be called melfas_mip4.
623
624config TOUCHSCREEN_MSG2638
625	tristate "MStar msg2638 touchscreen support"
626	depends on I2C
627	depends on GPIOLIB || COMPILE_TEST
628	help
629	  Say Y here if you have an I2C touchscreen using MStar msg2638.
630
631	  If unsure, say N.
632
633	  To compile this driver as a module, choose M here: the
634	  module will be called msg2638.
635
636config TOUCHSCREEN_MTOUCH
637	tristate "MicroTouch serial touchscreens"
638	select SERIO
639	help
640	  Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
641	  your system.
642
643	  If unsure, say N.
644
645	  To compile this driver as a module, choose M here: the
646	  module will be called mtouch.
647
648config TOUCHSCREEN_NOVATEK_NVT_TS
649	tristate "Novatek NT11205 touchscreen support"
650	depends on I2C
651	help
652	  Say Y here if you have a Novatek NT11205 touchscreen.
653	  If unsure, say N.
654
655	  To compile this driver as a module, choose M here: the
656	  module will be called novatek-nvt-ts.
657
658config TOUCHSCREEN_IMAGIS
659	tristate "Imagis touchscreen support"
660	depends on I2C
661	help
662	  Say Y here if you have an Imagis IST30xxC touchscreen.
663	  If unsure, say N.
664
665	  To compile this driver as a module, choose M here: the
666	  module will be called imagis.
667
668config TOUCHSCREEN_IMX6UL_TSC
669	tristate "Freescale i.MX6UL touchscreen controller"
670	depends on ((OF && GPIOLIB) || COMPILE_TEST) && HAS_IOMEM
671	help
672	  Say Y here if you have a Freescale i.MX6UL, and want to
673	  use the internal touchscreen controller.
674
675	  If unsure, say N.
676
677	  To compile this driver as a module, choose M here: the
678	  module will be called imx6ul_tsc.
679
680config TOUCHSCREEN_INEXIO
681	tristate "iNexio serial touchscreens"
682	select SERIO
683	help
684	  Say Y here if you have an iNexio serial touchscreen connected to
685	  your system.
686
687	  If unsure, say N.
688
689	  To compile this driver as a module, choose M here: the
690	  module will be called inexio.
691
692config TOUCHSCREEN_MK712
693	tristate "ICS MicroClock MK712 touchscreen"
694	depends on ISA
695	help
696	  Say Y here if you have the ICS MicroClock MK712 touchscreen
697	  controller chip in your system.
698
699	  If unsure, say N.
700
701	  To compile this driver as a module, choose M here: the
702	  module will be called mk712.
703
704config TOUCHSCREEN_HP600
705	tristate "HP Jornada 6xx touchscreen"
706	depends on SH_HP6XX && SH_ADC
707	help
708	  Say Y here if you have a HP Jornada 620/660/680/690 and want to
709	  support the built-in touchscreen.
710
711	  To compile this driver as a module, choose M here: the
712	  module will be called hp680_ts_input.
713
714config TOUCHSCREEN_HP7XX
715	tristate "HP Jornada 7xx touchscreen"
716	depends on SA1100_JORNADA720_SSP
717	help
718	  Say Y here if you have a HP Jornada 710/720/728 and want
719	  to support the built-in touchscreen.
720
721	  To compile this driver as a module, choose M here: the
722	  module will be called jornada720_ts.
723
724config TOUCHSCREEN_IPAQ_MICRO
725	tristate "HP iPAQ Atmel Micro ASIC touchscreen"
726	depends on MFD_IPAQ_MICRO
727	help
728	  Say Y here to enable support for the touchscreen attached to
729	  the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700
730
731	  If unsure, say N.
732
733	  To compile this driver as a module, choose M here: the
734	  module will be called ipaq-micro-ts.
735
736config TOUCHSCREEN_HTCPEN
737	tristate "HTC Shift X9500 touchscreen"
738	depends on ISA
739	help
740	  Say Y here if you have an HTC Shift UMPC also known as HTC X9500
741	  Clio / Shangrila and want to support the built-in touchscreen.
742
743	  If unsure, say N.
744
745	  To compile this driver as a module, choose M here: the
746	  module will be called htcpen.
747
748config TOUCHSCREEN_PENMOUNT
749	tristate "Penmount serial touchscreen"
750	select SERIO
751	help
752	  Say Y here if you have a Penmount serial touchscreen connected to
753	  your system.
754
755	  If unsure, say N.
756
757	  To compile this driver as a module, choose M here: the
758	  module will be called penmount.
759
760config TOUCHSCREEN_EDT_FT5X06
761	tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
762	depends on I2C
763	select REGMAP_I2C
764	help
765	  Say Y here if you have an EDT "Polytouch" touchscreen based
766	  on the FocalTech FT5x06 family of controllers connected to
767	  your system.
768
769	  If unsure, say N.
770
771	  To compile this driver as a module, choose M here: the
772	  module will be called edt-ft5x06.
773
774config TOUCHSCREEN_RASPBERRYPI_FW
775	tristate "Raspberry Pi's firmware base touch screen support"
776	depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
777	help
778	  Say Y here if you have the official Raspberry Pi 7 inch screen on
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 raspberrypi-ts.
785
786config TOUCHSCREEN_MIGOR
787	tristate "Renesas MIGO-R touchscreen"
788	depends on (SH_MIGOR || COMPILE_TEST) && I2C
789	help
790	  Say Y here to enable MIGO-R touchscreen support.
791
792	  If unsure, say N.
793
794	  To compile this driver as a module, choose M here: the
795	  module will be called migor_ts.
796
797config TOUCHSCREEN_TOUCHRIGHT
798	tristate "Touchright serial touchscreen"
799	select SERIO
800	help
801	  Say Y here if you have a Touchright serial touchscreen connected to
802	  your system.
803
804	  If unsure, say N.
805
806	  To compile this driver as a module, choose M here: the
807	  module will be called touchright.
808
809config TOUCHSCREEN_TOUCHWIN
810	tristate "Touchwin serial touchscreen"
811	select SERIO
812	help
813	  Say Y here if you have a Touchwin serial touchscreen connected to
814	  your system.
815
816	  If unsure, say N.
817
818	  To compile this driver as a module, choose M here: the
819	  module will be called touchwin.
820
821config TOUCHSCREEN_TI_AM335X_TSC
822	tristate "TI Touchscreen Interface"
823	depends on MFD_TI_AM335X_TSCADC
824	help
825	  Say Y here if you have 4/5/8 wire touchscreen controller
826	  to be connected to the ADC controller on your TI AM335x SoC.
827
828	  If unsure, say N.
829
830	  To compile this driver as a module, choose M here: the
831	  module will be called ti_am335x_tsc.
832
833config TOUCHSCREEN_PIXCIR
834	tristate "PIXCIR I2C touchscreens"
835	depends on I2C
836	help
837	  Say Y here if you have a pixcir i2c touchscreen
838	  controller.
839
840	  If unsure, say N.
841
842	  To compile this driver as a module, choose M here: the
843	  module will be called pixcir_i2c_ts.
844
845config TOUCHSCREEN_WDT87XX_I2C
846	tristate "Weida HiTech I2C touchscreen"
847	depends on I2C
848	help
849	  Say Y here if you have a Weida WDT87XX I2C touchscreen
850	  connected to your system.
851
852	  If unsure, say N.
853
854	  To compile this driver as a module, choose M here: the
855	  module will be called wdt87xx_i2c.
856
857config TOUCHSCREEN_WM831X
858	tristate "Support for WM831x touchscreen controllers"
859	depends on MFD_WM831X
860	help
861	  This enables support for the touchscreen controller on the WM831x
862	  series of PMICs.
863
864	  To compile this driver as a module, choose M here: the
865	  module will be called wm831x-ts.
866
867config TOUCHSCREEN_WM97XX
868	tristate "Support for WM97xx AC97 touchscreen controllers"
869	depends on AC97_BUS || AC97_BUS_NEW
870	help
871	  Say Y here if you have a Wolfson Microelectronics WM97xx
872	  touchscreen connected to your system. Note that this option
873	  only enables core driver, you will also need to select
874	  support for appropriate chip below.
875
876	  If unsure, say N.
877
878	  To compile this driver as a module, choose M here: the
879	  module will be called wm97xx-ts.
880
881config TOUCHSCREEN_WM9705
882	bool "WM9705 Touchscreen interface support"
883	depends on TOUCHSCREEN_WM97XX
884	default y
885	help
886	  Say Y here to enable support for the Wolfson Microelectronics
887	  WM9705 touchscreen controller.
888
889config TOUCHSCREEN_WM9712
890	bool "WM9712 Touchscreen interface support"
891	depends on TOUCHSCREEN_WM97XX
892	default y
893	help
894	  Say Y here to enable support for the Wolfson Microelectronics
895	  WM9712 touchscreen controller.
896
897config TOUCHSCREEN_WM9713
898	bool "WM9713 Touchscreen interface support"
899	depends on TOUCHSCREEN_WM97XX
900	default y
901	help
902	  Say Y here to enable support for the Wolfson Microelectronics
903	  WM9713 touchscreen controller.
904
905config TOUCHSCREEN_WM97XX_MAINSTONE
906	tristate "WM97xx Mainstone/Palm accelerated touch"
907	depends on TOUCHSCREEN_WM97XX && ARCH_PXA
908	depends on SND_PXA2XX_LIB_AC97
909	help
910	  Say Y here for support for streaming mode with WM97xx touchscreens
911	  on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
912
913	  If unsure, say N.
914
915	  To compile this driver as a module, choose M here: the
916	  module will be called mainstone-wm97xx.
917
918config TOUCHSCREEN_USB_COMPOSITE
919	tristate "USB Touchscreen Driver"
920	depends on USB_ARCH_HAS_HCD
921	select USB
922	help
923	  USB Touchscreen driver for:
924	  - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
925	  - PanJit TouchSet USB
926	  - 3M MicroTouch USB (EX II series)
927	  - ITM
928	  - some other eTurboTouch
929	  - Gunze AHL61
930	  - DMC TSC-10/25
931	  - IRTOUCHSYSTEMS/UNITOP
932	  - IdealTEK URTC1000
933	  - GoTop Super_Q2/GogoPen/PenPower tablets
934	  - JASTEC USB Touch Controller/DigiTech DTR-02U
935	  - Zytronic controllers
936	  - Elo TouchSystems 2700 IntelliTouch
937	  - EasyTouch USB Touch Controller from Data Module
938	  - e2i (Mimo monitors)
939
940	  Have a look at <http://linux.chapter7.ch/touchkit/> for
941	  a usage description and the required user-space stuff.
942
943	  To compile this driver as a module, choose M here: the
944	  module will be called usbtouchscreen.
945
946config TOUCHSCREEN_MXS_LRADC
947	tristate "Freescale i.MX23/i.MX28 LRADC touchscreen"
948	depends on MFD_MXS_LRADC
949	help
950	  Say Y here if you have a touchscreen connected to the low-resolution
951	  analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor.
952
953	  To compile this driver as a module, choose M here: the module will be
954	  called mxs-lradc-ts.
955
956config TOUCHSCREEN_MX25
957	tristate "Freescale i.MX25 touchscreen input driver"
958	depends on MFD_MX25_TSADC
959	help
960	  Enable support for touchscreen connected to your i.MX25.
961
962	  To compile this driver as a module, choose M here: the
963	  module will be called fsl-imx25-tcq.
964
965config TOUCHSCREEN_MC13783
966	tristate "Freescale MC13783 touchscreen input driver"
967	depends on MFD_MC13XXX
968	help
969	  Say Y here if you have an Freescale MC13783 PMIC on your
970	  board and want to use its touchscreen
971
972	  If unsure, say N.
973
974	  To compile this driver as a module, choose M here: the
975	  module will be called mc13783_ts.
976
977config TOUCHSCREEN_USB_EGALAX
978	default y
979	bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT
980	depends on TOUCHSCREEN_USB_COMPOSITE
981
982config TOUCHSCREEN_USB_PANJIT
983	default y
984	bool "PanJit device support" if EXPERT
985	depends on TOUCHSCREEN_USB_COMPOSITE
986
987config TOUCHSCREEN_USB_3M
988	default y
989	bool "3M/Microtouch EX II series device support" if EXPERT
990	depends on TOUCHSCREEN_USB_COMPOSITE
991
992config TOUCHSCREEN_USB_ITM
993	default y
994	bool "ITM device support" if EXPERT
995	depends on TOUCHSCREEN_USB_COMPOSITE
996
997config TOUCHSCREEN_USB_ETURBO
998	default y
999	bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT
1000	depends on TOUCHSCREEN_USB_COMPOSITE
1001
1002config TOUCHSCREEN_USB_GUNZE
1003	default y
1004	bool "Gunze AHL61 device support" if EXPERT
1005	depends on TOUCHSCREEN_USB_COMPOSITE
1006
1007config TOUCHSCREEN_USB_DMC_TSC10
1008	default y
1009	bool "DMC TSC-10/25 device support" if EXPERT
1010	depends on TOUCHSCREEN_USB_COMPOSITE
1011
1012config TOUCHSCREEN_USB_IRTOUCH
1013	default y
1014	bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT
1015	depends on TOUCHSCREEN_USB_COMPOSITE
1016
1017config TOUCHSCREEN_USB_IDEALTEK
1018	default y
1019	bool "IdealTEK URTC1000 device support" if EXPERT
1020	depends on TOUCHSCREEN_USB_COMPOSITE
1021
1022config TOUCHSCREEN_USB_GENERAL_TOUCH
1023	default y
1024	bool "GeneralTouch Touchscreen device support" if EXPERT
1025	depends on TOUCHSCREEN_USB_COMPOSITE
1026
1027config TOUCHSCREEN_USB_GOTOP
1028	default y
1029	bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT
1030	depends on TOUCHSCREEN_USB_COMPOSITE
1031
1032config TOUCHSCREEN_USB_JASTEC
1033	default y
1034	bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT
1035	depends on TOUCHSCREEN_USB_COMPOSITE
1036
1037config TOUCHSCREEN_USB_ELO
1038	default y
1039	bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT
1040	depends on TOUCHSCREEN_USB_COMPOSITE
1041
1042config TOUCHSCREEN_USB_E2I
1043	default y
1044	bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT
1045	depends on TOUCHSCREEN_USB_COMPOSITE
1046
1047config TOUCHSCREEN_USB_ZYTRONIC
1048	default y
1049	bool "Zytronic controller" if EXPERT
1050	depends on TOUCHSCREEN_USB_COMPOSITE
1051
1052config TOUCHSCREEN_USB_ETT_TC45USB
1053	default y
1054	bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT
1055	depends on TOUCHSCREEN_USB_COMPOSITE
1056
1057config TOUCHSCREEN_USB_NEXIO
1058	default y
1059	bool "NEXIO/iNexio device support" if EXPERT
1060	depends on TOUCHSCREEN_USB_COMPOSITE
1061
1062config TOUCHSCREEN_USB_EASYTOUCH
1063	default y
1064	bool "EasyTouch USB Touch controller device support" if EXPERT
1065	depends on TOUCHSCREEN_USB_COMPOSITE
1066	help
1067	  Say Y here if you have an EasyTouch USB Touch controller.
1068	  If unsure, say N.
1069
1070config TOUCHSCREEN_TOUCHIT213
1071	tristate "Sahara TouchIT-213 touchscreen"
1072	select SERIO
1073	help
1074	  Say Y here if you have a Sahara TouchIT-213 Tablet PC.
1075
1076	  If unsure, say N.
1077
1078	  To compile this driver as a module, choose M here: the
1079	  module will be called touchit213.
1080
1081config TOUCHSCREEN_TS4800
1082	tristate "TS-4800 touchscreen"
1083	depends on HAS_IOMEM && OF
1084	depends on SOC_IMX51 || COMPILE_TEST
1085	select MFD_SYSCON
1086	help
1087	  Say Y here if you have a touchscreen on a TS-4800 board.
1088
1089	  On TS-4800, the touchscreen is not handled directly by Linux but by
1090	  a companion FPGA.
1091
1092	  If unsure, say N.
1093
1094	  To compile this driver as a module, choose M here: the
1095	  module will be called ts4800_ts.
1096
1097config TOUCHSCREEN_TSC_SERIO
1098	tristate "TSC-10/25/40 serial touchscreen support"
1099	select SERIO
1100	help
1101	  Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected
1102	  to your system.
1103
1104	  If unsure, say N.
1105
1106	  To compile this driver as a module, choose M here: the
1107	  module will be called tsc40.
1108
1109config TOUCHSCREEN_TSC200X_CORE
1110	tristate
1111
1112config TOUCHSCREEN_TSC2004
1113	tristate "TSC2004 based touchscreens"
1114	depends on I2C
1115	select REGMAP_I2C
1116	select TOUCHSCREEN_TSC200X_CORE
1117	help
1118	  Say Y here if you have a TSC2004 based touchscreen.
1119
1120	  If unsure, say N.
1121
1122	  To compile this driver as a module, choose M here: the
1123	  module will be called tsc2004.
1124
1125config TOUCHSCREEN_TSC2005
1126	tristate "TSC2005 based touchscreens"
1127	depends on SPI_MASTER
1128	select REGMAP_SPI
1129	select TOUCHSCREEN_TSC200X_CORE
1130	help
1131	  Say Y here if you have a TSC2005 based touchscreen.
1132
1133	  If unsure, say N.
1134
1135	  To compile this driver as a module, choose M here: the
1136	  module will be called tsc2005.
1137
1138config TOUCHSCREEN_TSC2007
1139	tristate "TSC2007 based touchscreens"
1140	depends on I2C
1141	help
1142	  Say Y here if you have a TSC2007 based touchscreen.
1143
1144	  If unsure, say N.
1145
1146	  To compile this driver as a module, choose M here: the
1147	  module will be called tsc2007.
1148
1149config TOUCHSCREEN_TSC2007_IIO
1150	bool "IIO interface for external ADC input and temperature"
1151	depends on TOUCHSCREEN_TSC2007
1152	depends on IIO=y || IIO=TOUCHSCREEN_TSC2007
1153	help
1154	  Saying Y here adds an iio interface to the tsc2007 which
1155	  provides values for the AUX input (used for e.g. battery
1156	  or ambient light monitoring), temperature and raw input
1157	  values.
1158
1159config TOUCHSCREEN_PCAP
1160	tristate "Motorola PCAP touchscreen"
1161	depends on EZX_PCAP
1162	help
1163	  Say Y here if you have a Motorola EZX telephone and
1164	  want to enable support for the built-in touchscreen.
1165
1166	  To compile this driver as a module, choose M here: the
1167	  module will be called pcap_ts.
1168
1169config TOUCHSCREEN_RM_TS
1170	tristate "Raydium I2C Touchscreen"
1171	depends on I2C
1172	depends on GPIOLIB || COMPILE_TEST
1173	help
1174	  Say Y here if you have Raydium series I2C touchscreen,
1175	  such as RM32380, connected to your system.
1176
1177	  If unsure, say N.
1178
1179	  To compile this driver as a module, choose M here: the
1180	  module will be called raydium_i2c_ts.
1181
1182config TOUCHSCREEN_SILEAD
1183	tristate "Silead I2C touchscreen"
1184	depends on I2C
1185	help
1186	  Say Y here if you have the Silead touchscreen connected to
1187	  your system.
1188
1189	  If unsure, say N.
1190
1191	  To compile this driver as a module, choose M here: the
1192	  module will be called silead.
1193
1194config TOUCHSCREEN_SIS_I2C
1195	tristate "SiS 9200 family I2C touchscreen"
1196	depends on I2C
1197	select CRC_ITU_T
1198	depends on GPIOLIB || COMPILE_TEST
1199	help
1200	  This enables support for SiS 9200 family over I2C based touchscreens.
1201
1202	  If unsure, say N.
1203
1204	  To compile this driver as a module, choose M here: the
1205	  module will be called sis_i2c.
1206
1207config TOUCHSCREEN_ST1232
1208	tristate "Sitronix ST1232 or ST1633 touchscreen controllers"
1209	depends on I2C
1210	help
1211	  Say Y here if you want to support the Sitronix ST1232
1212	  or ST1633 touchscreen controller.
1213
1214	  If unsure, say N.
1215
1216	  To compile this driver as a module, choose M here: the
1217	  module will be called st1232_ts.
1218
1219config TOUCHSCREEN_STMFTS
1220	tristate "STMicroelectronics STMFTS touchscreen"
1221	depends on I2C
1222	depends on LEDS_CLASS
1223	help
1224	  Say Y here if you want support for STMicroelectronics
1225	  STMFTS touchscreen.
1226
1227	  To compile this driver as a module, choose M here: the
1228	  module will be called stmfts.
1229
1230config TOUCHSCREEN_STMPE
1231	tristate "STMicroelectronics STMPE touchscreens"
1232	depends on MFD_STMPE
1233	depends on OF
1234	help
1235	  Say Y here if you want support for STMicroelectronics
1236	  STMPE touchscreen controllers.
1237
1238	  To compile this driver as a module, choose M here: the
1239	  module will be called stmpe-ts.
1240
1241config TOUCHSCREEN_SUN4I
1242	tristate "Allwinner sun4i resistive touchscreen controller support"
1243	depends on ARCH_SUNXI || COMPILE_TEST
1244	depends on HWMON
1245	depends on THERMAL || !THERMAL_OF
1246	help
1247	  This selects support for the resistive touchscreen controller
1248	  found on Allwinner sunxi SoCs.
1249
1250	  To compile this driver as a module, choose M here: the
1251	  module will be called sun4i-ts.
1252
1253config TOUCHSCREEN_SUR40
1254	tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
1255	depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
1256	depends on VIDEO_DEV
1257	select VIDEOBUF2_DMA_SG
1258	help
1259	  Say Y here if you want support for the Samsung SUR40 touchscreen
1260	  (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
1261
1262	  To compile this driver as a module, choose M here: the
1263	  module will be called sur40.
1264
1265config TOUCHSCREEN_SURFACE3_SPI
1266	tristate "Ntrig/Microsoft Surface 3 SPI touchscreen"
1267	depends on SPI
1268	depends on GPIOLIB || COMPILE_TEST
1269	help
1270	  Say Y here if you have the Ntrig/Microsoft SPI touchscreen
1271	  controller chip as found on the Surface 3 in your system.
1272
1273	  If unsure, say N.
1274
1275	  To compile this driver as a module, choose M here: the
1276	  module will be called surface3_spi.
1277
1278config TOUCHSCREEN_SX8654
1279	tristate "Semtech SX8654 touchscreen"
1280	depends on I2C
1281	help
1282	  Say Y here if you have a Semtech SX8654 touchscreen controller.
1283
1284	  If unsure, say N
1285
1286	  To compile this driver as a module, choose M here: the
1287	  module will be called sx8654.
1288
1289config TOUCHSCREEN_TPS6507X
1290	tristate "TPS6507x based touchscreens"
1291	depends on I2C
1292	help
1293	  Say Y here if you have a TPS6507x based touchscreen
1294	  controller.
1295
1296	  If unsure, say N.
1297
1298	  To compile this driver as a module, choose M here: the
1299	  module will be called tps6507x_ts.
1300
1301config TOUCHSCREEN_ZET6223
1302	tristate "Zeitec ZET6223 touchscreen driver"
1303	depends on I2C
1304	help
1305	  Say Y here if you have a touchscreen using Zeitec ZET6223
1306
1307	  If unsure, say N.
1308
1309	  To compile this driver as a module, choose M here: the
1310	  module will be called zet6223.
1311
1312config TOUCHSCREEN_ZFORCE
1313	tristate "Neonode zForce infrared touchscreens"
1314	depends on I2C
1315	depends on GPIOLIB || COMPILE_TEST
1316	help
1317	  Say Y here if you have a touchscreen using the zforce
1318	  infraread technology from Neonode.
1319
1320	  If unsure, say N.
1321
1322	  To compile this driver as a module, choose M here: the
1323	  module will be called zforce_ts.
1324
1325config TOUCHSCREEN_COLIBRI_VF50
1326	tristate "Toradex Colibri on board touchscreen driver"
1327	depends on IIO
1328	depends on GPIOLIB || COMPILE_TEST
1329	help
1330	  Say Y here if you have a Colibri VF50 and plan to use
1331	  the on-board provided 4-wire touchscreen driver.
1332
1333	  If unsure, say N.
1334
1335	  To compile this driver as a module, choose M here: the
1336	  module will be called colibri_vf50_ts.
1337
1338config TOUCHSCREEN_ROHM_BU21023
1339	tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
1340	depends on I2C
1341	help
1342	  Say Y here if you have a touchscreen using ROHM BU21023/24.
1343
1344	  If unsure, say N.
1345
1346	  To compile this driver as a module, choose M here: the
1347	  module will be called bu21023_ts.
1348
1349config TOUCHSCREEN_IQS5XX
1350	tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller"
1351	depends on I2C
1352	help
1353	  Say Y to enable support for the Azoteq IQS550/572/525
1354	  family of trackpad/touchscreen controllers.
1355
1356	  To compile this driver as a module, choose M here: the
1357	  module will be called iqs5xx.
1358
1359config TOUCHSCREEN_IQS7211
1360	tristate "Azoteq IQS7210A/7211A/E trackpad/touchscreen controller"
1361	depends on I2C
1362	help
1363	  Say Y to enable support for the Azoteq IQS7210A/7211A/E
1364	  family of trackpad/touchscreen controllers.
1365
1366	  To compile this driver as a module, choose M here: the
1367	  module will be called iqs7211.
1368
1369config TOUCHSCREEN_ZINITIX
1370	tristate "Zinitix touchscreen support"
1371	depends on I2C
1372	help
1373	  Say Y here if you have a touchscreen using Zinitix bt541,
1374	  or something similar enough.
1375
1376	  If unsure, say N.
1377
1378	  To compile this driver as a module, choose M here: the
1379	  module will be called zinitix.
1380
1381config TOUCHSCREEN_HIMAX_HX83112B
1382	tristate "Himax hx83112b touchscreen driver"
1383	depends on I2C
1384	select REGMAP_I2C
1385	help
1386	  Say Y here to enable support for Himax hx83112b touchscreens.
1387
1388	  If unsure, say N.
1389
1390	  To compile this driver as a module, choose M here: the
1391	  module will be called himax_hx83112b.
1392
1393endif
1394