disp: msm: dsi: handle gpios for sim panels

For simulation panels, GPIOS are not needed for panel bootup.
This change handles GPIO parsing, toggle sequences in
simulation panels.

Change-Id: I0a3f03d1958ffe9079a7d9fef3f412e2445b0b9b
Signed-off-by: Santosh Kumar Aenugu <santoshkumar@codeaurora.org>
这个提交包含在:
Santosh Kumar Aenugu
2021-01-26 15:37:59 -08:00
提交者 Gerrit - the friendly Code Review server
父节点 8a3abf2cdf
当前提交 323f1b54d3
修改 2 个文件,包含 21 行新增3 行删除

查看文件

@@ -4115,6 +4115,20 @@ error:
return rc;
}
static bool dsi_display_validate_panel_resources(struct dsi_display *display)
{
if (!display->panel->te_using_watchdog_timer) {
if (!gpio_is_valid(display->panel->reset_config.reset_gpio)) {
DSI_ERR("invalid reset gpio for the panel\n");
return false;
}
} else {
display->panel->power_info.count = 0;
DSI_DEBUG("no dir set and no request for gpios in sim panel\n");
}
return true;
}
static int dsi_display_res_init(struct dsi_display *display)
{
int rc = 0;
@@ -4154,6 +4168,11 @@ static int dsi_display_res_init(struct dsi_display *display)
goto error_ctrl_put;
}
display->panel->te_using_watchdog_timer |= display->sw_te_using_wd;
if (!dsi_display_validate_panel_resources(display))
goto error_ctrl_put;
display_for_each_ctrl(i, display) {
struct msm_dsi_phy *phy = display->ctrl[i].phy;
struct dsi_host_common_cfg *host = &display->panel->host_config;