propagation: panel: add ft8006s special reset timing control

add a panel reset before touch reset enable for
djn ft8006s special timing

Change-Id: I29a103bd6a0c0f9663e1d956024e922fe17b3af8
Signed-off-by: tanhua1 <tanhua1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2051894
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/2053274
Reviewed-by: Marcos Sassahara <msassaha@motorola.com>
Reviewed-by: Carlos Pinho <cpinho@motorola.com>
This commit is contained in:
tanhua1 authored and Gilberto Gambugge committed 2023-06-01 00:43:20 -03:00
1 parent 3d023239dc
commit a854918923
2 files changed
+27

No files matched your search

+25
View File
@@ -452,6 +452,16 @@ int dsi_panel_reset(struct dsi_panel *panel)
/* set tp rst before lcd rst */
if (r_config->panel_on_tp_rst_enable && gpio_is_valid(r_config->tp_rst_gpio)) {
if(r_config->panel_rst_due_tp_rst) {
DSI_INFO("dsp dbg: set lcd reset_gpio to 1\n");
gpio_set_value(r_config->reset_gpio, 1);
usleep_range(r_config->panel_rst_due_tp_rst_sleep*1000,
(r_config->panel_rst_due_tp_rst_sleep*1000) + 100);
DSI_INFO("dsp dbg: set lcd reset_gpio to 0\n");
gpio_set_value(r_config->reset_gpio, 0);
usleep_range(r_config->panel_rst_due_tp_rst_sleep*1000,
(r_config->panel_rst_due_tp_rst_sleep*1000) + 100);
}
rc = gpio_request(r_config->tp_rst_gpio, "tp_rst_gpio");
if (rc) {
DSI_ERR("request for tp_rst_gpio failed, rc=%d\n", rc);
@@ -2603,6 +2613,21 @@ static int dsi_panel_parse_reset_sequence(struct dsi_panel *panel)
DSI_DEBUG("[%s] tp_rst_gpio=%d, tp_rst_post_sleep=%d\n", panel->name,
panel->reset_config.tp_rst_gpio, panel->reset_config.tp_rst_post_sleep);
}
panel->reset_config.panel_rst_due_tp_rst = utils->read_bool(utils->data,
"qcom,mdss-panel-rst-due-tp-rst");
DSI_INFO("[%s] panel_rst_due_tp_rst=%d\n", panel->name,
panel->reset_config.panel_rst_due_tp_rst);
rc = utils->read_u32(utils->data,
"qcom,mdss-dsi-panel-rst-due-tp-post-ms", &panel->reset_config.panel_rst_due_tp_rst_sleep);
if (rc) {
panel->reset_config.panel_rst_due_tp_rst_sleep = 0;
} else {
DSI_INFO("[%s] panel_rst_due_tp_rst_sleep=%d\n", panel->name,
panel->reset_config.panel_rst_due_tp_rst_sleep);
}
}
rc = utils->read_u32_array(utils->data, "qcom,mdss-dsi-reset-sequence",
+2
View File
@@ -192,11 +192,13 @@ struct dsi_panel_reset_config {
int lcd_mode_sel_gpio;
int tp_rst_gpio;
u32 tp_rst_post_sleep;
u32 panel_rst_due_tp_rst_sleep;
u32 mode_sel_state;
bool panel_on_rst_pull_down;
bool panel_on_tp_rst_enable;
bool reset_force_pull_low;
bool panel_rst_due_tp_rst;
};
enum esd_check_status_mode {