aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dsi.c5
-rw-r--r--drivers/video/omap2/dss/dss_features.c2
-rw-r--r--drivers/video/omap2/dss/dss_features.h2
3 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 5cf13f4b9e8..fe655b6ab2a 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -1059,6 +1059,11 @@ static int dsi_pll_power(enum dsi_pll_power_state state)
1059{ 1059{
1060 int t = 0; 1060 int t = 0;
1061 1061
1062 /* DSI-PLL power command 0x3 is not working */
1063 if (dss_has_feature(FEAT_DSI_PLL_PWR_BUG) &&
1064 state == DSI_PLL_POWER_ON_DIV)
1065 state = DSI_PLL_POWER_ON_ALL;
1066
1062 REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */ 1067 REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */
1063 1068
1064 /* PLL_PWR_STATUS */ 1069 /* PLL_PWR_STATUS */
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index 9ed2033f50e..43a4b51de15 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -271,7 +271,7 @@ static struct omap_dss_features omap3630_dss_features = {
271 FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE | 271 FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
272 FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED | 272 FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED |
273 FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT | 273 FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT |
274 FEAT_RESIZECONF, 274 FEAT_RESIZECONF | FEAT_DSI_PLL_PWR_BUG,
275 275
276 .num_mgrs = 2, 276 .num_mgrs = 2,
277 .num_ovls = 3, 277 .num_ovls = 3,
diff --git a/drivers/video/omap2/dss/dss_features.h b/drivers/video/omap2/dss/dss_features.h
index 12e9c4ef0de..37922ce6b8b 100644
--- a/drivers/video/omap2/dss/dss_features.h
+++ b/drivers/video/omap2/dss/dss_features.h
@@ -40,6 +40,8 @@ enum dss_feat_id {
40 /* Independent core clk divider */ 40 /* Independent core clk divider */
41 FEAT_CORE_CLK_DIV = 1 << 11, 41 FEAT_CORE_CLK_DIV = 1 << 11,
42 FEAT_LCD_CLK_SRC = 1 << 12, 42 FEAT_LCD_CLK_SRC = 1 << 12,
43 /* DSI-PLL power command 0x3 is not working */
44 FEAT_DSI_PLL_PWR_BUG = 1 << 13,
43}; 45};
44 46
45/* DSS register field id */ 47/* DSS register field id */