Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: ti_am335x_tsc - fix incorrect step config for 5 wire touchscreen

Step config setting for 5 wire touchscreen is incorrect for Y coordinates.
It was broken while we moved to DT. If you look close at the offending
commit bb76dc09ddfc ("input: ti_am33x_tsc: Order of TSC wires, made
configurable"), the change was:

- STEPCONFIG_XNP | STEPCONFIG_YPN;
+ ts_dev->bit_xn | ts_dev->bit_yp;

while bit_xn = STEPCONFIG_XNN and bit_yp = STEPCONFIG_YNN. Not quite the
same.

Fixes: bb76dc09ddfc ("input: ti_am33x_tsc: Order of TSC wires, made configurable")
Signed-off-by: Jeff Lance <j-lance1@ti.com>
[vigneshr@ti.com: Rebase to v4.14-rc1]
Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Jeff Lance and committed by
Dmitry Torokhov
cf5dd489 2b30297d

+1 -1
+1 -1
drivers/input/touchscreen/ti_am335x_tsc.c
··· 161 161 break; 162 162 case 5: 163 163 config |= ts_dev->bit_xp | STEPCONFIG_INP_AN4 | 164 - ts_dev->bit_xn | ts_dev->bit_yp; 164 + STEPCONFIG_XNP | STEPCONFIG_YPN; 165 165 break; 166 166 case 8: 167 167 config |= ts_dev->bit_yp | STEPCONFIG_INP(ts_dev->inp_xp);