S3C: Backported openmoko's touchscreen filters
[linux-2.6/mini2440.git] / drivers / input / touchscreen / Kconfig
blob2b7888527112112b3c2efe4d5cd10ef2f5134bc8
2 # Touchscreen driver configuration
4 menuconfig INPUT_TOUCHSCREEN
5         bool "Touchscreens"
6         help
7           Say Y here, and a list of supported touchscreens will be displayed.
8           This option doesn't affect the kernel.
10           If unsure, say Y.
12 if INPUT_TOUCHSCREEN
14 menuconfig TOUCHSCREEN_FILTER
15         boolean "Touchscreen Filtering"
16         depends on INPUT_TOUCHSCREEN
17         select TOUCHSCREEN_FILTER_GROUP
18         select TOUCHSCREEN_FILTER_MEDIAN
19         select TOUCHSCREEN_FILTER_MEAN
20         select TOUCHSCREEN_FILTER_LINEAR
21         help
22           Select this to include kernel touchscreen filter support.  The filters
23           can be combined in any order in your machine init and the parameters
24           for them can also be set there.
26 if TOUCHSCREEN_FILTER
28 config TOUCHSCREEN_FILTER_GROUP
29         bool "Group Touchscreen Filter"
30         depends on INPUT_TOUCHSCREEN && TOUCHSCREEN_FILTER
31         default Y
32         help
33           Say Y here if you want to use the Group touchscreen filter, it
34           avoids using atypical samples.
36 config TOUCHSCREEN_FILTER_MEDIAN
37         bool "Median Average Touchscreen Filter"
38         depends on INPUT_TOUCHSCREEN && TOUCHSCREEN_FILTER
39         default Y
40         help
41           Say Y here if you want to use the Median touchscreen filter, it's
42           highly effective if you data is noisy with occasional excursions.
44 config TOUCHSCREEN_FILTER_MEAN
45         bool "Mean Average Touchscreen Filter"
46         depends on INPUT_TOUCHSCREEN && TOUCHSCREEN_FILTER
47         default Y
48         help
49           Say Y here if you want to use the Mean touchscreen filter, it
50           can further improve decent quality data by removing jitter
52 config TOUCHSCREEN_FILTER_LINEAR
53         bool "Linear Touchscreen Filter"
54         depends on INPUT_TOUCHSCREEN && TOUCHSCREEN_FILTER
55         default Y
56         help
57           Say Y here if you want to use the Linear touchscreen filter, it
58           enables the use of calibration data for the touchscreen.
60 endif
62 config TOUCHSCREEN_ADS7846
63         tristate "ADS7846/TSC2046 and ADS7843 based touchscreens"
64         depends on SPI_MASTER
65         depends on HWMON = n || HWMON
66         help
67           Say Y here if you have a touchscreen interface using the
68           ADS7846/TSC2046 or ADS7843 controller, and your board-specific
69           setup code includes that in its table of SPI devices.
71           If HWMON is selected, and the driver is told the reference voltage
72           on your board, you will also get hwmon interfaces for the voltage
73           (and on ads7846/tsc2046, temperature) sensors of this chip.
75           If unsure, say N (but it's safe to say "Y").
77           To compile this driver as a module, choose M here: the
78           module will be called ads7846.
80 config TOUCHSCREEN_AD7877
81         tristate "AD7877 based touchscreens"
82         depends on SPI_MASTER
83         help
84           Say Y here if you have a touchscreen interface using the
85           AD7877 controller, and your board-specific initialization
86           code includes that in its table of SPI devices.
88           If unsure, say N (but it's safe to say "Y").
90           To compile this driver as a module, choose M here: the
91           module will be called ad7877.
93 config TOUCHSCREEN_AD7879_I2C
94         tristate "AD7879 based touchscreens: AD7879-1 I2C Interface"
95         depends on I2C
96         select TOUCHSCREEN_AD7879
97         help
98           Say Y here if you have a touchscreen interface using the
99           AD7879-1 controller, and your board-specific initialization
100           code includes that in its table of I2C devices.
102           If unsure, say N (but it's safe to say "Y").
104           To compile this driver as a module, choose M here: the
105           module will be called ad7879.
107 config TOUCHSCREEN_AD7879_SPI
108         tristate "AD7879 based touchscreens: AD7879 SPI Interface"
109         depends on SPI_MASTER && TOUCHSCREEN_AD7879_I2C = n
110         select TOUCHSCREEN_AD7879
111         help
112           Say Y here if you have a touchscreen interface using the
113           AD7879 controller, and your board-specific initialization
114           code includes that in its table of SPI devices.
116           If unsure, say N (but it's safe to say "Y").
118           To compile this driver as a module, choose M here: the
119           module will be called ad7879.
121 config TOUCHSCREEN_AD7879
122         tristate
123         default n
125 config TOUCHSCREEN_BITSY
126         tristate "Compaq iPAQ H3600 (Bitsy) touchscreen"
127         depends on SA1100_BITSY
128         select SERIO
129         help
130           Say Y here if you have the h3600 (Bitsy) touchscreen.
132           If unsure, say N.
134           To compile this driver as a module, choose M here: the
135           module will be called h3600_ts_input.
137 config TOUCHSCREEN_CORGI
138         tristate "SharpSL (Corgi and Spitz series) touchscreen driver (DEPRECATED)"
139         depends on PXA_SHARPSL
140         select CORGI_SSP_DEPRECATED
141         default y
142         help
143           Say Y here to enable the driver for the touchscreen on the
144           Sharp SL-C7xx and SL-Cxx00 series of PDAs.
146           If unsure, say N.
148           To compile this driver as a module, choose M here: the
149           module will be called corgi_ts.
151           NOTE: this driver is deprecated, try enable SPI and generic
152           ADS7846-based touchscreen driver.
154 config TOUCHSCREEN_DA9034
155         tristate "Touchscreen support for Dialog Semiconductor DA9034"
156         depends on PMIC_DA903X
157         default y
158         help
159           Say Y here to enable the support for the touchscreen found
160           on Dialog Semiconductor DA9034 PMIC.
162 config TOUCHSCREEN_EETI
163         tristate "EETI touchscreen panel support"
164         depends on I2C
165         help
166           Say Y here to enable support for I2C connected EETI touch panels.
168           To compile this driver as a module, choose M here: the
169           module will be called eeti_ts.
171 config TOUCHSCREEN_FUJITSU
172         tristate "Fujitsu serial touchscreen"
173         select SERIO
174         help
175           Say Y here if you have the Fujitsu touchscreen (such as one
176           installed in Lifebook P series laptop) connected to your
177           system.
179           If unsure, say N.
181           To compile this driver as a module, choose M here: the
182           module will be called fujitsu-ts.
184 config TOUCHSCREEN_S3C2410
185         tristate "Samsung S3C2410 touchscreen input driver"
186         depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
187         select SERIO
188         help
189           Say Y here if you have the s3c2410 touchscreen.
191           If unsure, say N.
193           To compile this driver as a module, choose M here: the
194           module will be called s3c2410_ts.
196 config TOUCHSCREEN_S3C2410_DEBUG
197         boolean "Samsung S3C2410 touchscreen debug messages"
198         depends on TOUCHSCREEN_S3C2410
199         help
200           Select this if you want debug messages
202 config TOUCHSCREEN_GUNZE
203         tristate "Gunze AHL-51S touchscreen"
204         select SERIO
205         help
206           Say Y here if you have the Gunze AHL-51 touchscreen connected to
207           your system.
209           If unsure, say N.
211           To compile this driver as a module, choose M here: the
212           module will be called gunze.
214 config TOUCHSCREEN_ELO
215         tristate "Elo serial touchscreens"
216         select SERIO
217         help
218           Say Y here if you have an Elo serial touchscreen connected to
219           your system.
221           If unsure, say N.
223           To compile this driver as a module, choose M here: the
224           module will be called elo.
226 config TOUCHSCREEN_WACOM_W8001
227         tristate "Wacom W8001 penabled serial touchscreen"
228         select SERIO
229         help
230           Say Y here if you have an Wacom W8001 penabled serial touchscreen
231           connected to your system.
233           If unsure, say N.
235           To compile this driver as a module, choose M here: the
236           module will be called wacom_w8001.
239 config TOUCHSCREEN_MTOUCH
240         tristate "MicroTouch serial touchscreens"
241         select SERIO
242         help
243           Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
244           your system.
246           If unsure, say N.
248           To compile this driver as a module, choose M here: the
249           module will be called mtouch.
251 config TOUCHSCREEN_INEXIO
252         tristate "iNexio serial touchscreens"
253         select SERIO
254         help
255           Say Y here if you have an iNexio serial touchscreen connected to
256           your system.
258           If unsure, say N.
260           To compile this driver as a module, choose M here: the
261           module will be called inexio.
263 config TOUCHSCREEN_MK712
264         tristate "ICS MicroClock MK712 touchscreen"
265         help
266           Say Y here if you have the ICS MicroClock MK712 touchscreen
267           controller chip in your system.
269           If unsure, say N.
271           To compile this driver as a module, choose M here: the
272           module will be called mk712.
274 config TOUCHSCREEN_HP600
275         tristate "HP Jornada 6xx touchscreen"
276         depends on SH_HP6XX && SH_ADC
277         help
278           Say Y here if you have a HP Jornada 620/660/680/690 and want to
279           support the built-in touchscreen.
281           To compile this driver as a module, choose M here: the
282           module will be called hp680_ts_input.
284 config TOUCHSCREEN_HP7XX
285         tristate "HP Jornada 7xx touchscreen"
286         depends on SA1100_JORNADA720_SSP
287         help
288           Say Y here if you have a HP Jornada 710/720/728 and want
289           to support the built-in touchscreen.
291           To compile this driver as a module, choose M here: the
292           module will be called jornada720_ts.
294 config TOUCHSCREEN_HTCPEN
295         tristate "HTC Shift X9500 touchscreen"
296         depends on ISA
297         help
298           Say Y here if you have an HTC Shift UMPC also known as HTC X9500
299           Clio / Shangrila and want to support the built-in touchscreen.
301           If unsure, say N.
303           To compile this driver as a module, choose M here: the
304           module will be called htcpen.
306 config TOUCHSCREEN_PENMOUNT
307         tristate "Penmount serial touchscreen"
308         select SERIO
309         help
310           Say Y here if you have a Penmount serial touchscreen connected to
311           your system.
313           If unsure, say N.
315           To compile this driver as a module, choose M here: the
316           module will be called penmount.
318 config TOUCHSCREEN_MIGOR
319         tristate "Renesas MIGO-R touchscreen"
320         depends on SH_MIGOR && I2C
321         help
322           Say Y here to enable MIGO-R touchscreen support.
324           If unsure, say N.
326           To compile this driver as a module, choose M here: the
327           module will be called migor_ts.
329 config TOUCHSCREEN_TOUCHRIGHT
330         tristate "Touchright serial touchscreen"
331         select SERIO
332         help
333           Say Y here if you have a Touchright serial touchscreen connected to
334           your system.
336           If unsure, say N.
338           To compile this driver as a module, choose M here: the
339           module will be called touchright.
341 config TOUCHSCREEN_TOUCHWIN
342         tristate "Touchwin serial touchscreen"
343         select SERIO
344         help
345           Say Y here if you have a Touchwin serial touchscreen connected to
346           your system.
348           If unsure, say N.
350           To compile this driver as a module, choose M here: the
351           module will be called touchwin.
353 config TOUCHSCREEN_ATMEL_TSADCC
354         tristate "Atmel Touchscreen Interface"
355         depends on ARCH_AT91SAM9RL
356         help
357           Say Y here if you have a 4-wire touchscreen connected to the
358           ADC Controller on your Atmel SoC (such as the AT91SAM9RL).
360           If unsure, say N.
362           To compile this driver as a module, choose M here: the
363           module will be called atmel_tsadcc.
365 config TOUCHSCREEN_UCB1400
366         tristate "Philips UCB1400 touchscreen"
367         depends on AC97_BUS
368         depends on UCB1400_CORE
369         help
370           This enables support for the Philips UCB1400 touchscreen interface.
371           The UCB1400 is an AC97 audio codec.  The touchscreen interface
372           will be initialized only after the ALSA subsystem has been
373           brought up and the UCB1400 detected.  You therefore have to
374           configure ALSA support as well (either built-in or modular,
375           independently of whether this driver is itself built-in or
376           modular) for this driver to work.
378           To compile this driver as a module, choose M here: the
379           module will be called ucb1400_ts.
381 config TOUCHSCREEN_WM97XX
382         tristate "Support for WM97xx AC97 touchscreen controllers"
383         depends on AC97_BUS
384         help
385           Say Y here if you have a Wolfson Microelectronics WM97xx
386           touchscreen connected to your system. Note that this option
387           only enables core driver, you will also need to select
388           support for appropriate chip below.
390           If unsure, say N.
392           To compile this driver as a module, choose M here: the
393           module will be called wm97xx-ts.
395 config TOUCHSCREEN_WM9705
396         bool "WM9705 Touchscreen interface support"
397         depends on TOUCHSCREEN_WM97XX
398         default y
399         help
400           Say Y here to enable support for the Wolfson Microelectronics
401           WM9705 touchscreen controller.
403 config TOUCHSCREEN_WM9712
404         bool "WM9712 Touchscreen interface support"
405         depends on TOUCHSCREEN_WM97XX
406         default y
407         help
408           Say Y here to enable support for the Wolfson Microelectronics
409           WM9712 touchscreen controller.
411 config TOUCHSCREEN_WM9713
412         bool "WM9713 Touchscreen interface support"
413         depends on TOUCHSCREEN_WM97XX
414         default y
415         help
416           Say Y here to enable support for the Wolfson Microelectronics
417           WM9713 touchscreen controller.
419 config TOUCHSCREEN_WM97XX_ATMEL
420         tristate "WM97xx Atmel accelerated touch"
421         depends on TOUCHSCREEN_WM97XX && (AVR32 || ARCH_AT91)
422         help
423           Say Y here for support for streaming mode with WM97xx touchscreens
424           on Atmel AT91 or AVR32 systems with an AC97C module.
426           Be aware that this will use channel B in the controller for
427           streaming data, this must not conflict with other AC97C drivers.
429           If unsure, say N.
431           To compile this driver as a module, choose M here: the module will
432           be called atmel-wm97xx.
434 config TOUCHSCREEN_WM97XX_MAINSTONE
435         tristate "WM97xx Mainstone accelerated touch"
436         depends on TOUCHSCREEN_WM97XX && ARCH_PXA
437         help
438           Say Y here for support for streaming mode with WM97xx touchscreens
439           on Mainstone systems.
441           If unsure, say N.
443           To compile this driver as a module, choose M here: the
444           module will be called mainstone-wm97xx.
446 config TOUCHSCREEN_WM97XX_ZYLONITE
447         tristate "Zylonite accelerated touch"
448         depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
449         select TOUCHSCREEN_WM9713
450         help
451           Say Y here for support for streaming mode with the touchscreen
452           on Zylonite systems.
454           If unsure, say N.
456           To compile this driver as a module, choose M here: the
457           module will be called zylonite-wm97xx.
459 config TOUCHSCREEN_USB_COMPOSITE
460         tristate "USB Touchscreen Driver"
461         depends on USB_ARCH_HAS_HCD
462         select USB
463         help
464           USB Touchscreen driver for:
465           - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
466           - PanJit TouchSet USB
467           - 3M MicroTouch USB (EX II series)
468           - ITM
469           - some other eTurboTouch
470           - Gunze AHL61
471           - DMC TSC-10/25
472           - IRTOUCHSYSTEMS/UNITOP
473           - IdealTEK URTC1000
474           - GoTop Super_Q2/GogoPen/PenPower tablets
476           Have a look at <http://linux.chapter7.ch/touchkit/> for
477           a usage description and the required user-space stuff.
479           To compile this driver as a module, choose M here: the
480           module will be called usbtouchscreen.
482 config TOUCHSCREEN_USB_EGALAX
483         default y
484         bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED
485         depends on TOUCHSCREEN_USB_COMPOSITE
487 config TOUCHSCREEN_USB_PANJIT
488         default y
489         bool "PanJit device support" if EMBEDDED
490         depends on TOUCHSCREEN_USB_COMPOSITE
492 config TOUCHSCREEN_USB_3M
493         default y
494         bool "3M/Microtouch EX II series device support" if EMBEDDED
495         depends on TOUCHSCREEN_USB_COMPOSITE
497 config TOUCHSCREEN_USB_ITM
498         default y
499         bool "ITM device support" if EMBEDDED
500         depends on TOUCHSCREEN_USB_COMPOSITE
502 config TOUCHSCREEN_USB_ETURBO
503         default y
504         bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED
505         depends on TOUCHSCREEN_USB_COMPOSITE
507 config TOUCHSCREEN_USB_GUNZE
508         default y
509         bool "Gunze AHL61 device support" if EMBEDDED
510         depends on TOUCHSCREEN_USB_COMPOSITE
512 config TOUCHSCREEN_USB_DMC_TSC10
513         default y
514         bool "DMC TSC-10/25 device support" if EMBEDDED
515         depends on TOUCHSCREEN_USB_COMPOSITE
517 config TOUCHSCREEN_USB_IRTOUCH
518         default y
519         bool "IRTOUCHSYSTEMS/UNITOP device support" if EMBEDDED
520         depends on TOUCHSCREEN_USB_COMPOSITE
522 config TOUCHSCREEN_USB_IDEALTEK
523         default y
524         bool "IdealTEK URTC1000 device support" if EMBEDDED
525         depends on TOUCHSCREEN_USB_COMPOSITE
527 config TOUCHSCREEN_USB_GENERAL_TOUCH
528         default y
529         bool "GeneralTouch Touchscreen device support" if EMBEDDED
530         depends on TOUCHSCREEN_USB_COMPOSITE
532 config TOUCHSCREEN_USB_GOTOP
533         default y
534         bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EMBEDDED
535         depends on TOUCHSCREEN_USB_COMPOSITE
537 config TOUCHSCREEN_TOUCHIT213
538         tristate "Sahara TouchIT-213 touchscreen"
539         select SERIO
540         help
541           Say Y here if you have a Sahara TouchIT-213 Tablet PC.
543           If unsure, say N.
545           To compile this driver as a module, choose M here: the
546           module will be called touchit213.
548 config TOUCHSCREEN_TSC2007
549         tristate "TSC2007 based touchscreens"
550         depends on I2C
551         help
552           Say Y here if you have a TSC2007 based touchscreen.
554           If unsure, say N.
556           To compile this driver as a module, choose M here: the
557           module will be called tsc2007.
559 config TOUCHSCREEN_W90X900
560         tristate "W90P910 touchscreen driver"
561         help
562           Say Y here if you have a W90P910 based touchscreen.
564           To compile this driver as a module, choose M here: the
565           module will be called w90p910_ts.
567 endif