linux/drivers/input/touchscreen
Franklin S Cooper Jr 9378c0251c Input: edt-ft5x06 - work around FT5506 firmware bug
In the touchscreen controller ISR, reading the tsc starting from
register 0x2 causes the tsc to infrequently update the detected
finger's x and y coordinate. The irq pin toggles at a fast rate to
indicate touch events are happening. However, the tsc on average
updates the touch point's x and y value every ~100 ms which is much
slower than the advertised rate of 100+ Hz. This leads to multiple reads
within this ~100 ms time window returning the same value.

Example:
X: 10 , Y: 30
X: 10 , Y: 30
X: 10,  Y: 30
..
// After 100 ms
X: 300, Y: 300
X: 300, y: 300
..
// After 100 ms
X: 1743, Y: 621
X: 1743, Y: 621

For some reason if instead of starting to read at register 0x2 you
start reading at register 0x0 this issue isn't seen. This seems like
a quirk only seen in the EDT FT5506 so to fix this issue simply
adjust the code to start reading from 0x0. Technically this isn't wrong
so no regressions should be seen with other touchscreen controllers
supported by this driver.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-10-16 16:58:45 -07:00
..
88pm860x-ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
ad7877.c Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:07 -07:00
ad7879-i2c.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
ad7879-spi.c Input: ad7879-spi - remove redundant spi_set_drvdata 2013-09-20 09:58:29 -07:00
ad7879.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
ad7879.h
ads7846.c Input: ads7846 - use PTR_ERR_OR_ZERO() 2015-10-02 11:44:19 -07:00
ar1021_i2c.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
atmel_mxt_ts.c Input: atmel_mxt_ts - remove warning on zero T44 count 2015-08-04 17:03:55 -07:00
atmel-wm97xx.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02: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: add Broadcom iProc touchscreen driver 2015-03-23 11:04:48 -07:00
bu21013_ts.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
chipone_icn8318.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
colibri-vf50-ts.c Input: Add touchscreen support for Colibri VF50 2015-09-05 11:11:48 -07:00
cy8ctmg110_ts.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
cyttsp4_core.c Input: cyttsp4 - use swap() in cyttsp4_get_touch() 2015-06-11 16:47:34 -07:00
cyttsp4_core.h Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
cyttsp4_i2c.c Input: cyttsp - use PTR_ERR_OR_ZERO() 2015-10-02 11:44:19 -07:00
cyttsp4_spi.c Input: cyttsp4 - replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2013-11-11 00:01:45 -08:00
cyttsp_core.c Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:07 -07:00
cyttsp_core.h Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
cyttsp_i2c_common.c Input: cyttsp - include appropriate header file in cyttsp_i2c_common.c 2013-12-15 02:54:04 -08:00
cyttsp_i2c.c Input: cyttsp - remove unnecessary MODULE_ALIAS() 2015-09-03 10:56:19 -07:00
cyttsp_spi.c Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07: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: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
edt-ft5x06.c Input: edt-ft5x06 - work around FT5506 firmware bug 2015-10-16 16:58:45 -07:00
eeti_ts.c Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:07 -07:00
egalax_ts.c Input: touchscreen - export OF module alias information 2015-07-30 11:05:37 -07:00
elants_i2c.c Input: elants_i2c - extend the calibration timeout to 12 seconds 2015-09-03 23:37:10 -07:00
elo.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ft6236.c Input: ft6236 - change module license string to match copyright notice 2015-10-10 11:27:04 -07:00
fujitsu_ts.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
goodix.c Merge branch 'next' into for-linus 2015-09-03 10:01:44 -07:00
gunze.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
hampshire.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
hp680_ts_input.c Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible 2012-03-12 22:17:56 -07:00
htcpen.c Input: htcpen - remove redundant dev_set_drvdata 2013-09-18 07:53:30 -07:00
ili210x.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-09-04 12:02:11 -07:00
imx6ul_tsc.c Input: imx6ul_tsc - fix controller name 2015-09-19 11:41:54 -07:00
inexio.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
intel-mid-touch.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02: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: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
Kconfig Input: add support for ROHM BU21023/24 touchscreen 2015-10-05 17:50:53 -07:00
lpc32xx_ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
mainstone-wm97xx.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
Makefile Input: add support for ROHM BU21023/24 touchscreen 2015-10-05 17:50:53 -07:00
max11801_ts.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
mc13783_ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
mcs5000_ts.c Input: mcs5000_ts - remove ifdef around power management methods 2014-07-30 22:52:56 -07:00
migor_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
mk712.c
mms114.c Input: mms114 - remove unneded semicolons 2015-09-19 11:39:03 -07:00
mtouch.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
of_touchscreen.c Input: of_touchscreen - switch to using device properties 2015-07-11 17:26:45 -07:00
pcap_ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
penmount.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pixcir_i2c_ts.c Input: pixcir_i2c_ts - remove wakeirq related code from pixcir driver 2015-10-13 23:33:02 -07:00
rohm_bu21023.c Input: add support for ROHM BU21023/24 touchscreen 2015-10-05 17:50:53 -07:00
s3c2410_ts.c Input: s3c2410_ts - constify platform_device_id 2015-05-06 16:56:55 -07:00
st1232.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
stmpe-ts.c Input: stmpe-ts - enforce device tree only mode 2015-05-26 14:16:08 -07:00
sun4i-ts.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
sur40.c Input: sur40 - fix error return code 2015-08-24 10:55:24 -07:00
sx8654.c Input: sx8654 - fix memory allocation check 2015-05-13 10:29:33 -07:00
ti_am335x_tsc.c Input: ti_am335x_tsc - replace delta filtering with median filtering 2015-02-03 11:50:39 -08:00
touchit213.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
touchright.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
touchwin.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
tps6507x-ts.c Input: tps6507x-ts - simplify function return logic 2015-10-02 11:44:18 -07:00
tsc40.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
tsc2005.c Input: tsc2005 - convert to gpiod 2015-07-27 22:28:19 -07:00
tsc2007.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
ucb1400_ts.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
usbtouchscreen.c Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen 2015-07-23 14:43:17 -07:00
w90p910_ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
wacom_i2c.c Input: drop owner assignment from i2c_driver 2015-07-17 16:57:00 -07:00
wacom_w8001.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
wdt87xx_i2c.c Input: wdt87xx_i2c - change the sleep time to 2500ms after the sw reset 2015-07-11 23:26:33 -07:00
wm97xx-core.c ALSA: ac97: Switch to dev_pm_ops 2015-08-21 19:27:23 +02:00
wm831x-ts.c input: touchscreen: drop owner assignment from platform_drivers 2014-10-20 16:20:41 +02:00
wm9705.c
wm9712.c Input: wm971x - fix typo in module parameter description 2014-09-09 16:52:09 -07:00
wm9713.c Input: wm971x - fix typo in module parameter description 2014-09-09 16:52:09 -07:00
zforce_ts.c Input: zforce - simplify function return logic 2015-10-02 11:44:17 -07:00
zylonite-wm97xx.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00