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
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
cyttsp4_i2c.c Input: cyttsp - use PTR_ERR_OR_ZERO() 2015-10-02 11:44:19 -07:00
cyttsp4_spi.c
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
cyttsp_i2c_common.c
cyttsp_i2c.c Input: cyttsp - remove unnecessary MODULE_ALIAS() 2015-09-03 10:56:19 -07:00
cyttsp_spi.c
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
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
ft6236.c Input: ft6236 - change module license string to match copyright notice 2015-10-10 11:27:04 -07:00
fujitsu_ts.c
goodix.c Merge branch 'next' into for-linus 2015-09-03 10:01:44 -07:00
gunze.c
hampshire.c
hp680_ts_input.c
htcpen.c
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
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
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
mk712.c
mms114.c Input: mms114 - remove unneded semicolons 2015-09-19 11:39:03 -07:00
mtouch.c
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
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
touchright.c
touchwin.c
tps6507x-ts.c Input: tps6507x-ts - simplify function return logic 2015-10-02 11:44:18 -07:00
tsc40.c
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
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