kernel/panel:power on/off reset sequence

pnangn:fix power on/off reset sequence
add power off reset always on and power off pull down

Change-Id: I9eb112f99be8f0fe4eaecb295b8f7d8a5728fd72
Signed-off-by: djw <longc143@motorola.com>
Reviewed-on: https://gerrit.mot.com/2380613
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jing Hu <hujing3@lenovo.com>
Reviewed-by: Dezhen Hou <houdz1@motorola.com>
Reviewed-by: Yeqing Wang <wangyq13@motorola.com>
Reviewed-by: Hua Tan <tanhua1@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
djw 2022-09-08 17:54:41 +08:00 • committed by tongkun1
commit f059348756
2 changed files with 14 additions and 0 deletions

View file

@ -488,6 +488,16 @@ static int dsi_panel_power_on(struct dsi_panel *panel)
goto exit;
}
if (panel->reset_config.panel_on_rst_pull_down) {
/* need pull down lcd rst first */
if (gpio_is_valid(panel->reset_config.reset_gpio)) {
DSI_INFO("dsp dbg: set lcd reset_gpio to 0\n");
gpio_set_value(panel->reset_config.reset_gpio, 0);
usleep_range(3000, 3000 + 100);
}
}
if (!panel->keep_regulators_on) {
rc = dsi_pwr_enable_regulator(&panel->power_info, true);
if (rc) {
@ -2722,6 +2732,9 @@ static int dsi_panel_parse_reset_sequence(struct dsi_panel *panel)
goto error;
}
panel->reset_config.panel_on_rst_pull_down = utils->read_bool(utils->data,
"qcom,mdss-panel-on-rst-pull-down");
rc = utils->read_u32_array(utils->data, "qcom,mdss-dsi-reset-sequence",
arr_32, length);
if (rc) {

View file

@ -200,6 +200,7 @@ struct dsi_panel_reset_config {
int disp_en_gpio;
int lcd_mode_sel_gpio;
u32 mode_sel_state;
bool panel_on_rst_pull_down;
};
enum esd_check_status_mode {