Input: ti_am335x_tsc - set ADCREFM for X configuration
authorDario Binacchi <dariobin@libero.it>
Mon, 13 Dec 2021 05:14:35 +0000 (21:14 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Mar 2022 18:12:35 +0000 (19:12 +0100)
[ Upstream commit 73cca71a903202cddc8279fc76b2da4995da5bea ]

As reported by the STEPCONFIG[1-16] registered field descriptions of the
TI reference manual, for the ADC "in single ended, SEL_INM_SWC_3_0 must
be 1xxx".

Unlike the Y and Z coordinates, this bit has not been set for the step
configuration registers used to sample the X coordinate.

Fixes: 1b8be32e6914 ("Input: add support for TI Touchscreen controller")
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Link: https://lore.kernel.org/r/20211212125358.14416-2-dariobin@libero.it
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/touchscreen/ti_am335x_tsc.c

index 83e6855..fd3ffdd 100644 (file)
@@ -131,7 +131,8 @@ static void titsc_step_config(struct titsc *ts_dev)
        u32 stepenable;
 
        config = STEPCONFIG_MODE_HWSYNC |
-                       STEPCONFIG_AVG_16 | ts_dev->bit_xp;
+                       STEPCONFIG_AVG_16 | ts_dev->bit_xp |
+                       STEPCONFIG_INM_ADCREFM;
        switch (ts_dev->wires) {
        case 4:
                config |= STEPCONFIG_INP(ts_dev->inp_yp) | ts_dev->bit_xn;