aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu Hui <luhui@sipeed.com>2023-12-25 16:53:41 +0800
committerHan Gao/Revy/Rabenda <rabenda.cn@gmail.com>2023-12-26 17:08:20 +0800
commitf79d320ffaf9010946cde7945016bd6063499f61 (patch)
treed9335d6018b8d9115ba3c978707f729e99aeca4c
parente66283f0d5436b9fbcc0f18d641a6246250f43e8 (diff)
drivers: video: ilitek-ili9881c.c: add long delay panel reset
-rw-r--r--drivers/video/ilitek-ili9881c.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/video/ilitek-ili9881c.c b/drivers/video/ilitek-ili9881c.c
index 84c0dcd6..61ba4bae 100644
--- a/drivers/video/ilitek-ili9881c.c
+++ b/drivers/video/ilitek-ili9881c.c
@@ -368,12 +368,12 @@ static int ili9881c_panel_prepare(struct udevice *panel)
ret = dm_gpio_set_value(&priv->reset, true);
if (ret)
return ret;
- mdelay(1);
+ mdelay(500);
ret = dm_gpio_set_value(&priv->reset, false);
if (ret)
return ret;
- mdelay(10);
+ mdelay(100);
return 0;
}
@@ -464,6 +464,20 @@ static int ili9881c_panel_ofdata_to_platdata(struct udevice *dev)
dev_err(dev, "Warning: cannot get reset GPIO\n");
if (ret != -ENOENT)
return ret;
+ } else {
+ /* not a bug, but uboot's regulator is buggy,
+ I haven't more time to fix it, so put it here
+ */
+ /* reset panel */
+ ret = dm_gpio_set_value(&priv->reset, false);
+ if (ret)
+ return ret;
+ mdelay(100);
+
+ ret = dm_gpio_set_value(&priv->reset, true);
+ if (ret)
+ return ret;
+ mdelay(100);
}
/* power gpios */