]> git.baikalelectronics.ru Git - kernel.git/commit
Input: ti_am335x_tsc - remove udelay in interrupt handler
authorBrad Griffis <bgriffis@ti.com>
Tue, 3 Feb 2015 19:44:12 +0000 (11:44 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 3 Feb 2015 19:50:38 +0000 (11:50 -0800)
commit751e267b4f234a9dd52a83eeacfc5948348e78cc
treef1b09497f07b3d825a66ba14f793d41605eedfdd
parentf076d9544104826bd0122cb8066f377cfceff2d9
Input: ti_am335x_tsc - remove udelay in interrupt handler

TSC interrupt handler had udelay to avoid reporting of false pen-up
interrupt to user space. This patch implements workaround suggesting in
Advisory 1.0.31 of silicon errata for am335x, thus eliminating udelay and
touchscreen lag. This also improves performance of touchscreen and
eliminates sudden jump of cursor at touch release.

IDLECONFIG and CHARGECONFIG registers are to be configured with same values
in order to eliminate false pen-up events. This workaround may result in
false pen-down to be detected, hence considerable charge step delay needs
to be added. The charge delay is set to 0xB000 (in terms of ADC clock
cycles) by default.

TSC steps are disabled at the end of every sampling cycle and EOS bit is
set. Once the EOS bit is set, the TSC steps need to be re-enabled to begin
next sampling cycle.

Signed-off-by: Brad Griffis <bgriffis@ti.com>
[vigneshr@ti.com: Ported the patch from v3.12 to v3.19rc1]
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ti_am335x_tsc.c
include/linux/mfd/ti_am335x_tscadc.h