aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dsi.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-04-15 03:42:59 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-05-11 07:10:54 -0400
commitc94dfe05c4b6c269e445691c1fc7a9d8679ba60f (patch)
treea83f4d48f32cfc647109c61218f99f8291a19cbf /drivers/video/omap2/dss/dsi.c
parent89976f2990a97820b73a1768371ee505b0ffc176 (diff)
OMAP: DSS2: DSI: Fix DSI PLL power bug
OMAP3630 has a HW bug causing DSI PLL power command POWER_ON_DIV (0x3) to not work properly. The bug prevents us from enabling DSI PLL power only to HS divider block. This patch adds a dss feature for the bug and converts POWER_ON_DIV requests to POWER_ON_ALL (0x2). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dsi.c')
-rw-r--r--drivers/video/omap2/dss/dsi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 5cf13f4b9e83..fe655b6ab2ab 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 */