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