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