@@ -105,6 +105,7 @@ struct st7701_panel_desc {
unsigned int lanes;
enum mipi_dsi_pixel_format format;
unsigned int panel_sleep_delay;
+ bool prepare_prev_first;
/* TFT matrix driver configuration, panel specific. */
const u8 pv_gamma[16]; /* Positive voltage gamma control */
@@ -564,6 +565,7 @@ static const struct st7701_panel_desc ts8550b_desc = {
.lanes = 2,
.format = MIPI_DSI_FMT_RGB888,
.panel_sleep_delay = 80, /* panel need extra 80ms for sleep out cmd */
+ .prepare_prev_first = true,
.pv_gamma = {
CFIELD_PREP(DSI_CMD2_BK0_GAMCTRL_AJ_MASK, 0) |
@@ -875,6 +877,7 @@ static int st7701_dsi_probe(struct mipi_dsi_device *dsi)
drm_panel_init(&st7701->panel, &dsi->dev, &st7701_funcs,
DRM_MODE_CONNECTOR_DSI);
+ st7701->panel.prepare_prev_first = desc->prepare_prev_first;
/**
* Once sleep out has been issued, ST7701 IC required to wait 120ms
Enable the drm panel prepare_prev_first flag for ts8550b panel so-that the previous controller should be prepared first before the prepare for the panel is called. This makes sure that the previous controller(sun6i-mipi-dsi), likely to be a DSI host controller should be initialized to LP-11 before the panel is powered up. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> --- Changes for v7: - new patch drivers/gpu/drm/panel/panel-sitronix-st7701.c | 3 +++ 1 file changed, 3 insertions(+)