• Brad Griffis's avatar
    Input: ti_am335x_tsc - remove udelay in interrupt handler · 344d635b
    Brad Griffis authored
    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: default avatarBrad Griffis <bgriffis@ti.com>
    [vigneshr@ti.com: Ported the patch from v3.12 to v3.19rc1]
    Signed-off-by: default avatarVignesh R <vigneshr@ti.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    344d635b
ti_am335x_tscadc.h 5.47 KB