drm/panel/raspberrypi-ts: Insert delay before polling for startup state
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Tue, 10 Nov 2020 11:21:56 +0000 (11:21 +0000)
committerpopcornmix <popcornmix@gmail.com>
Wed, 27 Jan 2021 19:13:25 +0000 (19:13 +0000)
In switching to the hardware I2C controller there is an issue
where we seem to not get back the correct state from the Pi
touchscreen.
Insert a delay before polling to avoid this condition.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c

index 7ebb5ee..abb8a85 100644 (file)
@@ -299,6 +299,7 @@ static int rpi_touchscreen_enable(struct drm_panel *panel)
        int i;
 
        rpi_touchscreen_i2c_write(ts, REG_POWERON, 1);
+       usleep_range(20000, 25000);
        /* Wait for nPWRDWN to go low to indicate poweron is done. */
        for (i = 0; i < 100; i++) {
                if (rpi_touchscreen_i2c_read(ts, REG_PORTB) & 1)