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:
1 parent
41421dfcc0
commit
2e228e5b97
4 files changed
+43
No files matched your search
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user