linux/drivers/input/touchscreen
Ahmet Inan 7e577a17f2 Input: add I2C attached EETI EXC3000 multi touch driver
The 3000 series have a new protocol which allows to report up to 5 points
in a single 66 byte frame. One must always read in 66 byte frames.
To support up to 10 points, two consecutive frames need to be read:
The first frame says how many points until sync.
The second frame must say zero points or both frames must be discarded.

To be able to work with the higher 400KHz I2C bus rate, one must
successfully send a special package prior _each_ read or the controller
will refuse to cooperate.

This is a minimal implementation based on egalax_i2c.c (which can be found
on the internet) and egalax_ts.c but without the vendor interface and no
power management support.

Signed-off-by: Ahmet Inan <inan@distec.de>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-10-25 14:55:33 -07:00
..
88pm860x-ts.c Input: touchscreen - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:53 -08:00
Kconfig Input: add I2C attached EETI EXC3000 multi touch driver 2017-10-25 14:55:33 -07:00
Makefile Input: add I2C attached EETI EXC3000 multi touch driver 2017-10-25 14:55:33 -07:00
ad7877.c Input: ad7877 - convert to using timer_setup() 2017-10-23 16:31:56 -07:00
ad7879-i2c.c Input: ad7879 - return plain error code from ad7879_probe() 2017-03-01 09:42:44 -08:00
ad7879-spi.c Input: ad7879 - return plain error code from ad7879_probe() 2017-03-01 09:42:44 -08:00
ad7879.c Input: touchsceen - convert timers to use timer_setup() 2017-10-24 10:09:33 -07:00
ad7879.h Input: ad7879 - return plain error code from ad7879_probe() 2017-03-01 09:42:44 -08:00
ads7846.c Input: ads7846 - constify attribute_group structures 2017-07-12 14:19:31 -07:00
ar1021_i2c.c Input: ar1021_i2c - use BIT to check for a bit 2017-05-01 12:30:00 -07:00
atmel-wm97xx.c Input: touchsceen - convert timers to use timer_setup() 2017-10-24 10:09:33 -07:00
atmel_mxt_ts.c Input: atmel_mxt_ts - add support for reset line 2017-08-21 13:10:19 -07:00
auo-pixcir-ts.c Input: auo-pixcir-ts - simplify function return logic 2015-10-02 11:44:18 -07:00
bcm_iproc_tsc.c Input: bcm_iproc_tsc - use syscon to access shared registers 2016-04-06 16:11:56 -07:00
bu21013_ts.c Input: touchscreen - drop unnecessary calls to device_init_wakeup 2017-01-21 23:53:30 -08:00
chipone_icn8318.c Input: icn8318 - use of_touchscreen helpers for inverting / swapping axes 2016-07-15 14:50:56 -07:00
colibri-vf50-ts.c Input: touchscreen - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:53 -08:00
cy8ctmg110_ts.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
cyttsp4_core.c Input: touchsceen - convert timers to use timer_setup() 2017-10-24 10:09:33 -07:00
cyttsp4_core.h
cyttsp4_i2c.c Input: cyttsp - use PTR_ERR_OR_ZERO() 2015-10-02 11:44:19 -07:00
cyttsp4_spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
cyttsp_core.c Input: of_touchscreen - add support for inverted / swapped axes 2016-07-15 14:50:53 -07:00
cyttsp_core.h Input: cyttsp - switch to using device properties 2016-01-27 14:32:48 -08:00
cyttsp_i2c.c Input: cyttsp - use devres managed resource allocations 2016-01-27 14:32:46 -08:00
cyttsp_i2c_common.c
cyttsp_spi.c Input: cyttsp - use devres managed resource allocations 2016-01-27 14:32:46 -08:00
da9034-ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
da9052_tsi.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
dynapro.c Input: dynapro - constify serio_device_id 2017-08-18 17:15:10 -07:00
edt-ft5x06.c Input: edt-ft5x06 - implement support for the EDT-M12 series 2017-10-19 17:17:47 -07:00
eeti_ts.c Input: eeti_ts - switch to gpiod API 2017-04-05 08:52:33 -07:00
egalax_ts.c Input: touchscreen - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:31 -08:00
egalax_ts_serial.c Input: egalax_ts_serial - fix potential NULL dereference on error 2015-12-19 23:44:40 -08:00
ektf2127.c Input: ektf2127 - mark PM functions as __maybe_unused 2016-10-03 16:36:52 -07:00
elants_i2c.c Input: elants_i2c - use managed devm_device_add_group 2017-09-29 16:51:02 -07:00
elo.c Input: elo - constify serio_device_id 2017-08-18 17:15:13 -07:00
exc3000.c Input: add I2C attached EETI EXC3000 multi touch driver 2017-10-25 14:55:33 -07:00
fsl-imx25-tcq.c Input: touchscreen - use local variables consistently 2017-01-21 23:53:17 -08:00
fujitsu_ts.c Input: fujitsu_ts - constify serio_device_id 2017-08-18 17:15:19 -07:00
goodix.c Input: goodix - support gt1151 touchpanel 2017-10-24 11:58:19 -07:00
gunze.c Input: gunze - constify serio_device_id 2017-08-18 17:15:28 -07:00
hampshire.c Input: hampshire - constify serio_device_id 2017-08-18 17:15:30 -07:00
hp680_ts_input.c
htcpen.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
ili210x.c Input: touchscreen - drop unnecessary calls to input_set_drvdata 2017-01-22 17:22:31 -08:00
imx6ul_tsc.c Input: imx6ul_tsc - fix error handling 2017-04-12 08:47:17 -07:00
inexio.c Input: inexio - constify serio_device_id 2017-08-18 17:15:31 -07:00
ipaq-micro-ts.c Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:07 -07:00
jornada720_ts.c Input: jornada720_ts - get rid of mach/irqs.h and mach/hardware.h includes 2016-09-10 10:47:48 -07:00
lpc32xx_ts.c Input: lpc32xx_ts - check for clk_prepare_enable() error 2017-04-12 08:47:18 -07:00
mainstone-wm97xx.c
max11801_ts.c Input: max11801_ts - add missing of_match_table 2017-03-29 00:25:03 -07:00
mc13783_ts.c Input: mc13783_ts - remove deprecated create_singletheread_workqueue 2016-08-25 10:11:00 -07:00
mcs5000_ts.c Input: mcs - move header file out of I2C realm 2017-05-22 17:26:57 -07:00
melfas_mip4.c Input: melfas_mip4 - use managed devm_device_add_group 2017-09-29 16:51:03 -07:00
migor_ts.c Input: migor-ts - mark PM functions as __maybe_unused 2016-05-19 09:35:15 -07:00
mk712.c Annotate hardware config module parameters in drivers/input/ 2017-04-20 12:02:32 +01:00
mms114.c Input: mms114 - move header file out of I2C realm 2017-05-22 17:26:58 -07:00
mtouch.c Input: mtouch - constify serio_device_id 2017-08-18 17:15:32 -07:00
mxs-lradc-ts.c Input: mxs-lradc - make symbol mxs_lradc_ts_irq_names static 2017-08-14 20:28:47 -07:00
of_touchscreen.c Input: of_touchscreen - add support for inverted / swapped axes 2016-07-15 14:50:53 -07:00
pcap_ts.c Input: pcap_ts - use to_delayed_work 2016-01-02 21:08:53 -08:00
penmount.c Input: penmount - constify serio_device_id 2017-08-18 17:15:34 -07:00
pixcir_i2c_ts.c Input: touchscreen - use local variables consistently 2017-01-21 23:53:17 -08:00
raydium_i2c_ts.c Input: raydium_i2c_ts - use managed devm_device_add_group 2017-09-29 16:51:04 -07:00
rohm_bu21023.c Input: rohm_bu21023 - use managed devm_device_add_group 2017-09-29 16:51:04 -07:00
s3c2410_ts.c Input: s3c2410_ts - handle return value of clk_prepare_enable 2017-06-02 17:57:26 -07:00
silead.c Input: silead - disable interrupt during suspend 2017-05-29 19:58:25 -07:00
sis_i2c.c Input: sis_i2c - drop unnecessary call to i2c_set_clientdata 2017-01-18 14:29:57 -08:00
st1232.c Input: touchscreen - drop unnecessary calls to device_init_wakeup 2017-01-21 23:53:30 -08:00
stmfts.c Linux 4.14-rc6 2017-10-23 11:43:40 -07:00
stmpe-ts.c Input: stmpe-ts - restore kerneldoc 2016-03-02 09:40:20 -08:00
sun4i-ts.c Input: sun4i-ts - constify thermal_zone_of_device_ops structures 2017-08-14 22:12:06 -07:00
sur40.c Input: sur40 - skip all blobs that are not touches 2017-07-12 14:20:28 -07:00
surface3_spi.c Input: surface3_spi - make const array header static, reduces object code size 2017-09-11 14:23:39 -07:00
sx8654.c Input: touchscreen - drop calls to platform_set_drvdata and i2c_set_clientdata 2017-01-21 23:51:53 -08:00
ti_am335x_tsc.c Input: ti_am335x_tsc - fix incorrect step config for 5 wire touchscreen 2017-10-18 17:54:12 -07:00
touchit213.c Input: touchit213 - constify serio_device_id 2017-08-18 17:15:35 -07:00
touchright.c Input: touchright - constify serio_device_id 2017-08-18 17:15:36 -07:00
touchwin.c Input: touchwin - constify serio_device_id 2017-08-18 17:15:37 -07:00
tps6507x-ts.c Input: tps6507x-ts - update to devm_* API 2017-03-15 15:44:49 -07:00
ts4800-ts.c Input: ts4800-ts - add missing of_node_put after calling of_parse_phandle 2016-07-15 10:50:12 -07:00
tsc40.c Input: tsc40 - constify serio_device_id 2017-08-18 17:15:40 -07:00
tsc200x-core.c Input: touchsceen - convert timers to use timer_setup() 2017-10-24 10:09:33 -07:00
tsc200x-core.h Input: tsc200x - report proper input_dev name 2016-07-20 17:50:24 -07:00
tsc2004.c Input: tsc200x - report proper input_dev name 2016-07-20 17:50:24 -07:00
tsc2005.c Input: tsc2005 - add OF device table 2017-02-12 14:55:08 -08:00
tsc2007.h Input: tsc2007 - rename function tsc2007_calculate_pressure 2017-02-22 23:55:07 -08:00
tsc2007_core.c Input: tsc2007 - move header file out of I2C realm 2017-05-22 17:26:58 -07:00
tsc2007_iio.c Input: tsc2007 - rename function tsc2007_calculate_pressure 2017-02-22 23:55:07 -08:00
ucb1400_ts.c Input: ucb1400_ts - fix suspend and resume handling 2017-09-11 14:23:56 -07:00
usbtouchscreen.c Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen 2015-07-23 14:43:17 -07:00
w90p910_ts.c Input: touchsceen - convert timers to use timer_setup() 2017-10-24 10:09:33 -07:00
wacom_i2c.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
wacom_w8001.c Input: wacom_w8001 - constify serio_device_id 2017-08-18 17:15:41 -07:00
wdt87xx_i2c.c Input: wdt87xx_i2c - use managed devm_device_add_group 2017-09-29 16:51:05 -07:00
wm97xx-core.c Input: wm97xx - make missing platform data non-fatal 2017-01-24 10:27:34 -08:00
wm831x-ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
wm9705.c
wm9712.c
wm9713.c
zet6223.c Input: zet6223 - export OF device ID as module aliases 2017-02-20 15:12:26 -08:00
zforce_ts.c Input: zforce_ts - fix dual touch recognition 2016-04-25 14:27:56 -07:00
zylonite-wm97xx.c