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