S3C: Backported openmoko's touchscreen filters
[linux-2.6/mini2440.git] / drivers / input / touchscreen / Kconfig
blob7ba4dd58e4fa9cf4ae785426d9c3128988018f92
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/AD7889-1 controller, and your board-specific
100           initialization 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/AD7889 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.
238 config TOUCHSCREEN_MCS5000
239         tristate "MELFAS MCS-5000 touchscreen"
240         depends on I2C
241         help
242           Say Y here if you have the MELFAS MCS-5000 touchscreen controller
243           chip in your system.
245           If unsure, say N.
247           To compile this driver as a module, choose M here: the
248           module will be called mcs5000_ts.
250 config TOUCHSCREEN_MTOUCH
251         tristate "MicroTouch serial touchscreens"
252         select SERIO
253         help
254           Say Y here if you have a MicroTouch (3M) serial touchscreen connected to
255           your system.
257           If unsure, say N.
259           To compile this driver as a module, choose M here: the
260           module will be called mtouch.
262 config TOUCHSCREEN_INEXIO
263         tristate "iNexio serial touchscreens"
264         select SERIO
265         help
266           Say Y here if you have an iNexio serial touchscreen connected to
267           your system.
269           If unsure, say N.
271           To compile this driver as a module, choose M here: the
272           module will be called inexio.
274 config TOUCHSCREEN_MK712
275         tristate "ICS MicroClock MK712 touchscreen"
276         help
277           Say Y here if you have the ICS MicroClock MK712 touchscreen
278           controller chip in your system.
280           If unsure, say N.
282           To compile this driver as a module, choose M here: the
283           module will be called mk712.
285 config TOUCHSCREEN_HP600
286         tristate "HP Jornada 6xx touchscreen"
287         depends on SH_HP6XX && SH_ADC
288         help
289           Say Y here if you have a HP Jornada 620/660/680/690 and want to
290           support the built-in touchscreen.
292           To compile this driver as a module, choose M here: the
293           module will be called hp680_ts_input.
295 config TOUCHSCREEN_HP7XX
296         tristate "HP Jornada 7xx touchscreen"
297         depends on SA1100_JORNADA720_SSP
298         help
299           Say Y here if you have a HP Jornada 710/720/728 and want
300           to support the built-in touchscreen.
302           To compile this driver as a module, choose M here: the
303           module will be called jornada720_ts.
305 config TOUCHSCREEN_HTCPEN
306         tristate "HTC Shift X9500 touchscreen"
307         depends on ISA
308         help
309           Say Y here if you have an HTC Shift UMPC also known as HTC X9500
310           Clio / Shangrila and want to support the built-in touchscreen.
312           If unsure, say N.
314           To compile this driver as a module, choose M here: the
315           module will be called htcpen.
317 config TOUCHSCREEN_PENMOUNT
318         tristate "Penmount serial touchscreen"
319         select SERIO
320         help
321           Say Y here if you have a Penmount serial touchscreen connected to
322           your system.
324           If unsure, say N.
326           To compile this driver as a module, choose M here: the
327           module will be called penmount.
329 config TOUCHSCREEN_MIGOR
330         tristate "Renesas MIGO-R touchscreen"
331         depends on SH_MIGOR && I2C
332         help
333           Say Y here to enable MIGO-R touchscreen support.
335           If unsure, say N.
337           To compile this driver as a module, choose M here: the
338           module will be called migor_ts.
340 config TOUCHSCREEN_TOUCHRIGHT
341         tristate "Touchright serial touchscreen"
342         select SERIO
343         help
344           Say Y here if you have a Touchright serial touchscreen connected to
345           your system.
347           If unsure, say N.
349           To compile this driver as a module, choose M here: the
350           module will be called touchright.
352 config TOUCHSCREEN_TOUCHWIN
353         tristate "Touchwin serial touchscreen"
354         select SERIO
355         help
356           Say Y here if you have a Touchwin serial touchscreen connected to
357           your system.
359           If unsure, say N.
361           To compile this driver as a module, choose M here: the
362           module will be called touchwin.
364 config TOUCHSCREEN_ATMEL_TSADCC
365         tristate "Atmel Touchscreen Interface"
366         depends on ARCH_AT91SAM9RL
367         help
368           Say Y here if you have a 4-wire touchscreen connected to the
369           ADC Controller on your Atmel SoC (such as the AT91SAM9RL).
371           If unsure, say N.
373           To compile this driver as a module, choose M here: the
374           module will be called atmel_tsadcc.
376 config TOUCHSCREEN_UCB1400
377         tristate "Philips UCB1400 touchscreen"
378         depends on AC97_BUS
379         depends on UCB1400_CORE
380         help
381           This enables support for the Philips UCB1400 touchscreen interface.
382           The UCB1400 is an AC97 audio codec.  The touchscreen interface
383           will be initialized only after the ALSA subsystem has been
384           brought up and the UCB1400 detected.  You therefore have to
385           configure ALSA support as well (either built-in or modular,
386           independently of whether this driver is itself built-in or
387           modular) for this driver to work.
389           To compile this driver as a module, choose M here: the
390           module will be called ucb1400_ts.
392 config TOUCHSCREEN_WM97XX
393         tristate "Support for WM97xx AC97 touchscreen controllers"
394         depends on AC97_BUS
395         help
396           Say Y here if you have a Wolfson Microelectronics WM97xx
397           touchscreen connected to your system. Note that this option
398           only enables core driver, you will also need to select
399           support for appropriate chip below.
401           If unsure, say N.
403           To compile this driver as a module, choose M here: the
404           module will be called wm97xx-ts.
406 config TOUCHSCREEN_WM9705
407         bool "WM9705 Touchscreen interface support"
408         depends on TOUCHSCREEN_WM97XX
409         default y
410         help
411           Say Y here to enable support for the Wolfson Microelectronics
412           WM9705 touchscreen controller.
414 config TOUCHSCREEN_WM9712
415         bool "WM9712 Touchscreen interface support"
416         depends on TOUCHSCREEN_WM97XX
417         default y
418         help
419           Say Y here to enable support for the Wolfson Microelectronics
420           WM9712 touchscreen controller.
422 config TOUCHSCREEN_WM9713
423         bool "WM9713 Touchscreen interface support"
424         depends on TOUCHSCREEN_WM97XX
425         default y
426         help
427           Say Y here to enable support for the Wolfson Microelectronics
428           WM9713 touchscreen controller.
430 config TOUCHSCREEN_WM97XX_ATMEL
431         tristate "WM97xx Atmel accelerated touch"
432         depends on TOUCHSCREEN_WM97XX && (AVR32 || ARCH_AT91)
433         help
434           Say Y here for support for streaming mode with WM97xx touchscreens
435           on Atmel AT91 or AVR32 systems with an AC97C module.
437           Be aware that this will use channel B in the controller for
438           streaming data, this must not conflict with other AC97C drivers.
440           If unsure, say N.
442           To compile this driver as a module, choose M here: the module will
443           be called atmel-wm97xx.
445 config TOUCHSCREEN_WM97XX_MAINSTONE
446         tristate "WM97xx Mainstone/Palm accelerated touch"
447         depends on TOUCHSCREEN_WM97XX && ARCH_PXA
448         help
449           Say Y here for support for streaming mode with WM97xx touchscreens
450           on Mainstone, Palm Tungsten T5, TX and LifeDrive systems.
452           If unsure, say N.
454           To compile this driver as a module, choose M here: the
455           module will be called mainstone-wm97xx.
457 config TOUCHSCREEN_WM97XX_ZYLONITE
458         tristate "Zylonite accelerated touch"
459         depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE
460         select TOUCHSCREEN_WM9713
461         help
462           Say Y here for support for streaming mode with the touchscreen
463           on Zylonite systems.
465           If unsure, say N.
467           To compile this driver as a module, choose M here: the
468           module will be called zylonite-wm97xx.
470 config TOUCHSCREEN_USB_COMPOSITE
471         tristate "USB Touchscreen Driver"
472         depends on USB_ARCH_HAS_HCD
473         select USB
474         help
475           USB Touchscreen driver for:
476           - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
477           - PanJit TouchSet USB
478           - 3M MicroTouch USB (EX II series)
479           - ITM
480           - some other eTurboTouch
481           - Gunze AHL61
482           - DMC TSC-10/25
483           - IRTOUCHSYSTEMS/UNITOP
484           - IdealTEK URTC1000
485           - GoTop Super_Q2/GogoPen/PenPower tablets
486           - JASTEC USB Touch Controller/DigiTech DTR-02U
488           Have a look at <http://linux.chapter7.ch/touchkit/> for
489           a usage description and the required user-space stuff.
491           To compile this driver as a module, choose M here: the
492           module will be called usbtouchscreen.
494 config TOUCHSCREEN_USB_EGALAX
495         default y
496         bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED
497         depends on TOUCHSCREEN_USB_COMPOSITE
499 config TOUCHSCREEN_USB_PANJIT
500         default y
501         bool "PanJit device support" if EMBEDDED
502         depends on TOUCHSCREEN_USB_COMPOSITE
504 config TOUCHSCREEN_USB_3M
505         default y
506         bool "3M/Microtouch EX II series device support" if EMBEDDED
507         depends on TOUCHSCREEN_USB_COMPOSITE
509 config TOUCHSCREEN_USB_ITM
510         default y
511         bool "ITM device support" if EMBEDDED
512         depends on TOUCHSCREEN_USB_COMPOSITE
514 config TOUCHSCREEN_USB_ETURBO
515         default y
516         bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED
517         depends on TOUCHSCREEN_USB_COMPOSITE
519 config TOUCHSCREEN_USB_GUNZE
520         default y
521         bool "Gunze AHL61 device support" if EMBEDDED
522         depends on TOUCHSCREEN_USB_COMPOSITE
524 config TOUCHSCREEN_USB_DMC_TSC10
525         default y
526         bool "DMC TSC-10/25 device support" if EMBEDDED
527         depends on TOUCHSCREEN_USB_COMPOSITE
529 config TOUCHSCREEN_USB_IRTOUCH
530         default y
531         bool "IRTOUCHSYSTEMS/UNITOP device support" if EMBEDDED
532         depends on TOUCHSCREEN_USB_COMPOSITE
534 config TOUCHSCREEN_USB_IDEALTEK
535         default y
536         bool "IdealTEK URTC1000 device support" if EMBEDDED
537         depends on TOUCHSCREEN_USB_COMPOSITE
539 config TOUCHSCREEN_USB_GENERAL_TOUCH
540         default y
541         bool "GeneralTouch Touchscreen device support" if EMBEDDED
542         depends on TOUCHSCREEN_USB_COMPOSITE
544 config TOUCHSCREEN_USB_GOTOP
545         default y
546         bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EMBEDDED
547         depends on TOUCHSCREEN_USB_COMPOSITE
549 config TOUCHSCREEN_USB_JASTEC
550         default y
551         bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EMBEDDED
552         depends on TOUCHSCREEN_USB_COMPOSITE
554 config TOUCHSCREEN_USB_E2I
555         default y
556         bool "e2i Touchscreen controller (e.g. from Mimo 740)"
557         depends on TOUCHSCREEN_USB_COMPOSITE
559 config TOUCHSCREEN_TOUCHIT213
560         tristate "Sahara TouchIT-213 touchscreen"
561         select SERIO
562         help
563           Say Y here if you have a Sahara TouchIT-213 Tablet PC.
565           If unsure, say N.
567           To compile this driver as a module, choose M here: the
568           module will be called touchit213.
570 config TOUCHSCREEN_TSC2007
571         tristate "TSC2007 based touchscreens"
572         depends on I2C
573         help
574           Say Y here if you have a TSC2007 based touchscreen.
576           If unsure, say N.
578           To compile this driver as a module, choose M here: the
579           module will be called tsc2007.
581 config TOUCHSCREEN_W90X900
582         tristate "W90P910 touchscreen driver"
583         depends on HAVE_CLK
584         help
585           Say Y here if you have a W90P910 based touchscreen.
587           To compile this driver as a module, choose M here: the
588           module will be called w90p910_ts.
590 config TOUCHSCREEN_PCAP
591         tristate "Motorola PCAP touchscreen"
592         depends on EZX_PCAP
593         help
594           Say Y here if you have a Motorola EZX telephone and
595           want to enable support for the built-in touchscreen.
597           To compile this driver as a module, choose M here: the
598           module will be called pcap_ts.
599 endif