Takashi Iwai 0373a2
From 6bfeb6c21e1bdc11c328b7d996d20f0f73c6b9b0 Mon Sep 17 00:00:00 2001
Takashi Iwai 0373a2
From: Dario Binacchi <dariobin@libero.it>
Takashi Iwai 0373a2
Date: Sun, 12 Dec 2021 21:14:48 -0800
Takashi Iwai 0373a2
Subject: [PATCH] Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
Takashi Iwai 0373a2
Git-commit: 6bfeb6c21e1bdc11c328b7d996d20f0f73c6b9b0
Takashi Iwai 0373a2
Patch-mainline: v5.17-rc1
Takashi Iwai 0373a2
References: git-fixes
Takashi Iwai 0373a2
Takashi Iwai 0373a2
The Z2 step configuration doesn't erase the SEL_INP_SWC_3_0 bit-field
Takashi Iwai 0373a2
before setting the ADC channel. This way its value could be corrupted by
Takashi Iwai 0373a2
the ADC channel selected for the Z1 coordinate.
Takashi Iwai 0373a2
Takashi Iwai 0373a2
Fixes: 8c896308feae ("input: ti_am335x_adc: use only FIFO0 and clean up a little")
Takashi Iwai 0373a2
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Takashi Iwai 0373a2
Link: https://lore.kernel.org/r/20211212125358.14416-3-dariobin@libero.it
Takashi Iwai 0373a2
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Takashi Iwai 0373a2
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 0373a2
Takashi Iwai 0373a2
---
Takashi Iwai 0373a2
 drivers/input/touchscreen/ti_am335x_tsc.c | 5 ++++-
Takashi Iwai 0373a2
 1 file changed, 4 insertions(+), 1 deletion(-)
Takashi Iwai 0373a2
Takashi Iwai 0373a2
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
Takashi Iwai 0373a2
index fd3ffdd23470..cfc943423241 100644
Takashi Iwai 0373a2
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
Takashi Iwai 0373a2
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
Takashi Iwai 0373a2
@@ -196,7 +196,10 @@ static void titsc_step_config(struct titsc *ts_dev)
Takashi Iwai 0373a2
 			STEPCONFIG_OPENDLY);
Takashi Iwai 0373a2
 
Takashi Iwai 0373a2
 	end_step++;
Takashi Iwai 0373a2
-	config |= STEPCONFIG_INP(ts_dev->inp_yn);
Takashi Iwai 0373a2
+	config = STEPCONFIG_MODE_HWSYNC |
Takashi Iwai 0373a2
+			STEPCONFIG_AVG_16 | ts_dev->bit_yp |
Takashi Iwai 0373a2
+			ts_dev->bit_xn | STEPCONFIG_INM_ADCREFM |
Takashi Iwai 0373a2
+			STEPCONFIG_INP(ts_dev->inp_yn);
Takashi Iwai 0373a2
 	titsc_writel(ts_dev, REG_STEPCONFIG(end_step), config);
Takashi Iwai 0373a2
 	titsc_writel(ts_dev, REG_STEPDELAY(end_step),
Takashi Iwai 0373a2
 			STEPCONFIG_OPENDLY);
Takashi Iwai 0373a2
-- 
Takashi Iwai 0373a2
2.31.1
Takashi Iwai 0373a2