diff options
author | Lu Hui <luhui@sipeed.com> | 2023-12-25 16:53:41 +0800 |
---|---|---|
committer | Han Gao/Revy/Rabenda <rabenda.cn@gmail.com> | 2023-12-26 17:08:20 +0800 |
commit | f79d320ffaf9010946cde7945016bd6063499f61 (patch) | |
tree | d9335d6018b8d9115ba3c978707f729e99aeca4c | |
parent | e66283f0d5436b9fbcc0f18d641a6246250f43e8 (diff) |
drivers: video: ilitek-ili9881c.c: add long delay panel reset
-rw-r--r-- | drivers/video/ilitek-ili9881c.c | 18 |
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 */ |