35c546a990ec67fee1f9f42480520f7e359858a6
[openwrt/staging/linusw.git] /
1 From f44c81e5ba2742d2d3f10b99f30983491b4a138f Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Tue, 10 Nov 2020 11:21:56 +0000
4 Subject: [PATCH] drm/panel/raspberrypi-ts: Insert delay before polling
5 for startup state
6
7 In switching to the hardware I2C controller there is an issue
8 where we seem to not get back the correct state from the Pi
9 touchscreen.
10 Insert a delay before polling to avoid this condition.
11
12 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
13 ---
14 drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 1 +
15 1 file changed, 1 insertion(+)
16
17 --- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
18 +++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
19 @@ -299,6 +299,7 @@ static int rpi_touchscreen_prepare(struc
20 int i;
21
22 rpi_touchscreen_i2c_write(ts, REG_POWERON, 1);
23 + usleep_range(20000, 25000);
24 /* Wait for nPWRDWN to go low to indicate poweron is done. */
25 for (i = 0; i < 100; i++) {
26 if (rpi_touchscreen_i2c_read(ts, REG_PORTB) & 1)