diff options
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi.h | 3 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/msm_mdss_io_8974.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.h b/drivers/video/fbdev/msm/mdss_dsi.h index 62df757052d4..998ac9d7e95f 100644 --- a/drivers/video/fbdev/msm/mdss_dsi.h +++ b/drivers/video/fbdev/msm/mdss_dsi.h @@ -45,10 +45,13 @@ #define DSI_PANEL_MAX 8 #define MDSS_DSI_HW_REV_100 0x10000000 /* 8974 */ +#define MDSS_DSI_HW_REV_100_1 0x10000001 /* 8x26 */ +#define MDSS_DSI_HW_REV_100_2 0x10000002 /* 8x26v2 */ #define MDSS_DSI_HW_REV_101 0x10010000 /* 8974v2 */ #define MDSS_DSI_HW_REV_101_1 0x10010001 /* 8974Pro */ #define MDSS_DSI_HW_REV_102 0x10020000 /* 8084 */ #define MDSS_DSI_HW_REV_103 0x10030000 /* 8994 */ +#define MDSS_DSI_HW_REV_103_1 0x10030001 /* 8916/8936 */ enum { /* mipi dsi panel */ diff --git a/drivers/video/fbdev/msm/msm_mdss_io_8974.c b/drivers/video/fbdev/msm/msm_mdss_io_8974.c index 80364a7b4a97..80badaf41496 100644 --- a/drivers/video/fbdev/msm/msm_mdss_io_8974.c +++ b/drivers/video/fbdev/msm/msm_mdss_io_8974.c @@ -1151,6 +1151,7 @@ void mdss_dsi_phy_init(struct mdss_panel_data *pdata) struct mdss_dsi_phy_ctrl *pd; int i, off, ln, offset; struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL, *temp_ctrl = NULL; + u32 ctrl_rev; ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data); @@ -1237,8 +1238,11 @@ void mdss_dsi_phy_init(struct mdss_panel_data *pdata) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x5f); wmb(); + ctrl_rev = MIPI_INP(ctrl_pdata->ctrl_base); + /* DSI_0_PHY_DSIPHY_GLBL_TEST_CTRL */ - if ((ctrl_pdata->panel_data).panel_info.pdest == DISPLAY_1) + if (((ctrl_pdata->panel_data).panel_info.pdest == DISPLAY_1) || + (ctrl_rev == MDSS_DSI_HW_REV_103_1)) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x01d4, 0x01); else MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x01d4, 0x00); |
