mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
dsi_panel: add gpio to enable vsn/vsp
Use avdd_enable_gpio to enable avdd. and Use avee_enable_gpio to enable avee. Change-Id: I8b00588d6559e618fb4056957778d39448687b5c Signed-off-by: houdz1 <houdz1@lenovo.com> Reviewed-on: https://gerrit.mot.com/2001001 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Yeqing Wang <wangyq13@motorola.com> Reviewed-by: Huosheng Liao <liaohs@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
663d13e0a0
commit
acd105f347
2 changed files with 58 additions and 0 deletions
|
|
@ -215,10 +215,39 @@ static int dsi_panel_gpio_request(struct dsi_panel *panel)
|
|||
rc);
|
||||
panel->panel_test_gpio = -1;
|
||||
rc = 0;
|
||||
goto error_release_panel_test;
|
||||
}
|
||||
}
|
||||
|
||||
if (gpio_is_valid(panel->avee_enable_gpio)) {
|
||||
rc = gpio_request(panel->avee_enable_gpio, "avee_enable_gpio");
|
||||
if (rc) {
|
||||
DSI_WARN("request for avee_enable_gpio failed, rc=%d\n",
|
||||
rc);
|
||||
panel->avee_enable_gpio = -1;
|
||||
rc = 0;
|
||||
goto error_release_avee_enable;
|
||||
}
|
||||
}
|
||||
|
||||
if (gpio_is_valid(panel->avdd_enable_gpio)) {
|
||||
rc = gpio_request(panel->avdd_enable_gpio, "avdd_enable_gpio");
|
||||
if (rc) {
|
||||
DSI_WARN("request for avdd_enable_gpio failed, rc=%d\n",
|
||||
rc);
|
||||
panel->avdd_enable_gpio = -1;
|
||||
rc = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
goto error;
|
||||
error_release_avee_enable:
|
||||
if (gpio_is_valid(panel->avee_enable_gpio))
|
||||
gpio_free(panel->avee_enable_gpio);
|
||||
error_release_panel_test:
|
||||
if (gpio_is_valid(panel->panel_test_gpio))
|
||||
gpio_free(panel->panel_test_gpio);
|
||||
error_release_mode_sel:
|
||||
if (gpio_is_valid(panel->bl_config.en_gpio))
|
||||
gpio_free(panel->bl_config.en_gpio);
|
||||
|
|
@ -448,6 +477,18 @@ static int dsi_panel_power_on(struct dsi_panel *panel)
|
|||
|
||||
DSI_INFO("(%s)+\n", panel->name);
|
||||
|
||||
if (gpio_is_valid(panel->avdd_enable_gpio)) {
|
||||
rc = gpio_direction_output(panel->avdd_enable_gpio, 1);
|
||||
if (rc)
|
||||
DSI_ERR("unable to set AVDD Enable gpio rc=%d\n", rc);
|
||||
}
|
||||
|
||||
if (gpio_is_valid(panel->avee_enable_gpio)) {
|
||||
rc = gpio_direction_output(panel->avee_enable_gpio, 1);
|
||||
if (rc)
|
||||
DSI_ERR("unable to set AVEE Enable gpio rc=%d\n", rc);
|
||||
}
|
||||
|
||||
if ((panel->tp_state_check_enable) && (panel->tp_state)) {
|
||||
pr_info("%s: (%s)+power is alway on \n", __func__, panel->name);
|
||||
goto exit;
|
||||
|
|
@ -2721,6 +2762,20 @@ static int dsi_panel_parse_gpios(struct dsi_panel *panel)
|
|||
DSI_DEBUG("%s:%d panel test gpio not specified\n", __func__,
|
||||
__LINE__);
|
||||
|
||||
panel->avee_enable_gpio = utils->get_named_gpio(utils->data,
|
||||
"qcom,avee-enable-gpio",
|
||||
0);
|
||||
if (!gpio_is_valid(panel->avee_enable_gpio))
|
||||
DSI_DEBUG("%s:%d qcom,avee-enable-gpio not specified\n", __func__,
|
||||
__LINE__);
|
||||
|
||||
panel->avdd_enable_gpio = utils->get_named_gpio(utils->data,
|
||||
"qcom,avdd-enable-gpio",
|
||||
0);
|
||||
if (!gpio_is_valid(panel->avdd_enable_gpio))
|
||||
DSI_DEBUG("%s:%d qcom,add-enable-gpio not specified\n", __func__,
|
||||
__LINE__);
|
||||
|
||||
error:
|
||||
return rc;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -372,6 +372,9 @@ struct dsi_panel {
|
|||
|
||||
int panel_recovery_retry;
|
||||
bool is_panel_dead;
|
||||
|
||||
int avee_enable_gpio;
|
||||
int avdd_enable_gpio;
|
||||
};
|
||||
|
||||
bool dsi_display_all_displays_dead(void);
|
||||
|
|
|
|||
Loading…
Reference in a new issue