Input: ili210x - fix reset timing
authorMarek Vasut <marex@denx.de>
Wed, 18 May 2022 21:28:32 +0000 (14:28 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 18 May 2022 21:31:30 +0000 (14:31 -0700)
According to Ilitek "231x & ILI251x Programming Guide" Version: 2.30
"2.1. Power Sequence", "T4 Chip Reset and discharge time" is minimum
10ms and "T2 Chip initial time" is maximum 150ms. Adjust the reset
timings such that T4 is 12ms and T2 is 160ms to fit those figures.

This prevents sporadic touch controller start up failures when some
systems with at least ILI251x controller boot, without this patch
the systems sometimes fail to communicate with the touch controller.

Fixes: 201f3c803544c ("Input: ili210x - add reset GPIO support")
Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20220518204901.93534-1-marex@denx.de
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ili210x.c

index 2bd407d..3a48262 100644 (file)
@@ -951,9 +951,9 @@ static int ili210x_i2c_probe(struct i2c_client *client,
                if (error)
                        return error;
 
-               usleep_range(50, 100);
+               usleep_range(12000, 15000);
                gpiod_set_value_cansleep(reset_gpio, 0);
-               msleep(100);
+               msleep(160);
        }
 
        priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);