summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoy Cho <joy.cho@hardkernel.com>2020-11-28 08:30:11 +0300
committerJoy Cho <joy.cho@hardkernel.com>2020-12-02 10:34:13 +0300
commit68e7d4d0e26298eb518808256d09214d5477b1ee (patch)
treea9f5be1d8899a969f02285128c8f231e8ebff54d
parentb7bd78044cdaeffa3ac4ab48d58c99945dca078e (diff)
downloadu-boot-68e7d4d0e26298eb518808256d09214d5477b1ee.tar.xz
ODROID-GO3: Fix abnormal LCD re-init after LCD off state
In case of turning on LCD & initialization (panel prepare) after turning off LCD (panel unprepare), LCD shows blank display frequently. (e.g. Battery Charge Animation, especially repeated on/off cases using power button) In addition, sleep & LCD off command of ST7701S LCD needs to be reviewed. Change-Id: Ia2a5176b3aa8383d66935307704014ec9888cee3
-rw-r--r--arch/arm/dts/odroidgo3-kernel.dts7
-rw-r--r--drivers/video/drm/rockchip_panel.c8
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/arm/dts/odroidgo3-kernel.dts b/arch/arm/dts/odroidgo3-kernel.dts
index 822413c9d6..6f83bef9d7 100644
--- a/arch/arm/dts/odroidgo3-kernel.dts
+++ b/arch/arm/dts/odroidgo3-kernel.dts
@@ -417,13 +417,6 @@
05 32 01 29
];
- /* 28: DisplayOff */
- /* 10: SleepIn */
- panel-exit-sequence = [
- 05 00 01 28
- 05 00 01 10
- ];
-
display-timings {
native-mode = <&timing0>;
diff --git a/drivers/video/drm/rockchip_panel.c b/drivers/video/drm/rockchip_panel.c
index e26bd83b25..e3a9e656d1 100644
--- a/drivers/video/drm/rockchip_panel.c
+++ b/drivers/video/drm/rockchip_panel.c
@@ -366,8 +366,16 @@ static void panel_simple_unprepare(struct rockchip_panel *panel)
printf("failed to send off cmds: %d\n", ret);
}
+#if defined(CONFIG_PLATFORM_ODROID_GOADV)
+ if (dm_gpio_is_valid(&priv->reset_gpio))
+ dm_gpio_set_value(&priv->reset_gpio, 0);
+
+ if (plat->delay.reset)
+ mdelay(plat->delay.reset);
+#else
if (dm_gpio_is_valid(&priv->reset_gpio))
dm_gpio_set_value(&priv->reset_gpio, 1);
+#endif
if (dm_gpio_is_valid(&priv->enable_gpio))
dm_gpio_set_value(&priv->enable_gpio, 0);