Skip to content
Snippets Groups Projects
Commit 9ad2bc3d authored by Dmitry Petrov's avatar Dmitry Petrov Committed by Jonas Höppner
Browse files

panel-dt/panel-lvds: switch sel6-8-gpio to low in unprepare

There is an issue with a display showing artifacts after leaving the display
blank for some time. If sel6_8 line stays high during the power-off of the
display, the display gets side-powered by the sel6_8 line. And the power
sequence during the next power up does not reset the display in a good state.

So switch the sel6_8 gpio to low, when the VDD-LCD is powered of, and enable it
to the correct state, just before the VDD-LCD is powered on again.

(cherry picked from commit 4f570f563b1ea85d901b8db98af6ad629c4aa1ba)

sel68
parent 6c62bb39
No related branches found
No related tags found
1 merge request!552panel-dt: switch sel6-8-gpio to low in unprepare
Pipeline #149970 passed with stage
in 28 seconds
......@@ -145,6 +145,12 @@ static int panel_dt_unprepare(struct drm_panel *panel)
gpiod_set_value_cansleep(p->enable_gpio, 0);
/* Set sel6_8_gpio to low when powering off the display to prevent it
* from being side-powered by the sel6_8 line.
*/
if (p->sel6_8_gpio)
gpiod_set_value_cansleep(p->sel6_8_gpio, 0);
regulator_disable(p->supply);
if (p->delay.unprepare)
......
......@@ -54,6 +54,13 @@ static int panel_lvds_unprepare(struct drm_panel *panel)
if (lvds->enable_gpio)
gpiod_set_value_cansleep(lvds->enable_gpio, 0);
/* Set sel6_8_gpio to low when powering off the display to prevent it
* from being side-powered by the sel6_8 line.
*/
if (lvds->sel6_8_gpio)
gpiod_set_value_cansleep(lvds->sel6_8_gpio, 0);
if (lvds->supply)
regulator_disable(lvds->supply);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment