Input: edt-ft5x06 - add delay after waking up
authorPhilipp Puschmann <p.puschmann@pironex.com>
Fri, 5 May 2023 18:48:45 +0000 (11:48 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 5 May 2023 18:50:14 +0000 (11:50 -0700)
The touch controller needs some time to wake-up after setting the wake-up
gpio. Without having a delay after wake-up probing regularly fails in
edt_ft5x06_ts_identify() with an error (i.e. EREMOTEIO) that was caused
by a failed i2c transfer.

The datasheet sets the wake-up time to 5 ms, although it is not entirely
clear.

Signed-off-by: Philipp Puschmann <p.puschmann@pironex.com>
Link: https://lore.kernel.org/r/20230505115823.545803-1-p.puschmann@pironex.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/edt-ft5x06.c

index 24ab9e9f5b21e220fae6100aa226c55cf37f3549..3a1a5e76cd68b978e26f69eadf5b43fa0407a7d4 100644 (file)
@@ -1241,6 +1241,7 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client)
        if (tsdata->wake_gpio) {
                usleep_range(5000, 6000);
                gpiod_set_value_cansleep(tsdata->wake_gpio, 1);
+               usleep_range(5000, 6000);
        }
 
        if (tsdata->reset_gpio) {