HAWAO+OLED: solve mipi driver strength weak problem

- change glbl_rescode_top_ctrl
- change glbl_rescode_bot_ctrl

Change-Id: Icdd92ad0d2ff905cec55b42ad557516c2df58ce0
Reviewed-on: https://gerrit.mot.com/2173463
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jing Hu <hujing3@lenovo.com>
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
tinno18 authored and Gilberto Gambugge committed 2023-06-01 00:43:20 -03:00
1 parent 41421dfcc0
commit 2e228e5b97
4 files changed
+43

No files matched your search

+14
View File
@@ -5031,6 +5031,19 @@ static void dsi_display_validate_dms_fps(struct dsi_display_mode *cur_mode,
}
}
static int dsi_phy_update_mipi_driver_strength(struct dsi_panel *panel, struct msm_dsi_phy *phy)
{
if((panel == NULL) || (phy == NULL))
{
return 1;
}
phy->cfg.dsi_phy_rescode_top = panel->glbl_rescode_top_ctrl;
phy->cfg.dsi_phy_rescode_bot = panel->glbl_rescode_bot_ctrl;
return 0;
}
static int dsi_display_set_mode_sub(struct dsi_display *display,
struct dsi_display_mode *mode,
@@ -5157,6 +5170,7 @@ static int dsi_display_set_mode_sub(struct dsi_display *display,
DSI_ERR("failed to add DSI PHY timing params\n");
}
}
dsi_phy_update_mipi_driver_strength(display->panel, ctrl->phy);
error:
return rc;
}
+18
View File
@@ -2729,6 +2729,7 @@ error:
static int dsi_panel_parse_misc_features(struct dsi_panel *panel)
{
struct dsi_parser_utils *utils = &panel->utils;
int mipi_temp = -1;
panel->ulps_feature_enabled =
utils->read_bool(utils->data, "qcom,ulps-enabled");
@@ -2758,6 +2759,23 @@ static int dsi_panel_parse_misc_features(struct dsi_panel *panel)
panel->reset_config.reset_force_pull_low = of_property_read_bool(utils->data,
"qcom,mdss-dsi-reset-force-pull-low");
if(!(utils->read_u32(utils->data,"qcom,mipi-glbl-rescode-top-ctrl", &mipi_temp)))
{
panel->glbl_rescode_top_ctrl = mipi_temp;
}
else
{
panel->glbl_rescode_top_ctrl = -1;
}
if(!(utils->read_u32(utils->data,"qcom,mipi-glbl-rescode-bot-ctrl", &mipi_temp)))
{
panel->glbl_rescode_bot_ctrl = mipi_temp;
}
else
{
panel->glbl_rescode_bot_ctrl = -1;
}
return 0;
}
+3
View File
@@ -364,6 +364,9 @@ struct dsi_panel {
enum touch_state tp_state;
bool tp_state_check_enable;
int glbl_rescode_top_ctrl;
int glbl_rescode_bot_ctrl;
};
static inline bool dsi_panel_ulps_feature_enabled(struct dsi_panel *panel)
+8
View File
@@ -355,6 +355,14 @@ static void dsi_phy_hw_dphy_enable(struct dsi_phy_hw *phy,
vreg_ctrl_0 = less_than_1500_mhz ? 0x53 : 0x52;
glbl_rescode_top_ctrl = less_than_1500_mhz ? 0x3d : 0x00;
glbl_rescode_bot_ctrl = less_than_1500_mhz ? 0x39 : 0x3c;
if(cfg->dsi_phy_rescode_top >= 0)
{
glbl_rescode_top_ctrl = less_than_1500_mhz ? 0x3d : cfg->dsi_phy_rescode_top;
}
if(cfg->dsi_phy_rescode_bot >= 0)
{
glbl_rescode_bot_ctrl = less_than_1500_mhz ? 0x39 : cfg->dsi_phy_rescode_bot;
}
glbl_str_swi_cal_sel_ctrl = 0x00;
glbl_hstx_str_ctrl_0 = 0x88;
} else {