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>
This commit is contained in:
parent
89976f2990
commit
c94dfe05c4
|
@ -1059,6 +1059,11 @@ static int dsi_pll_power(enum dsi_pll_power_state state)
|
|||
{
|
||||
int t = 0;
|
||||
|
||||
/* DSI-PLL power command 0x3 is not working */
|
||||
if (dss_has_feature(FEAT_DSI_PLL_PWR_BUG) &&
|
||||
state == DSI_PLL_POWER_ON_DIV)
|
||||
state = DSI_PLL_POWER_ON_ALL;
|
||||
|
||||
REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */
|
||||
|
||||
/* PLL_PWR_STATUS */
|
||||
|
|
|
@ -271,7 +271,7 @@ static struct omap_dss_features omap3630_dss_features = {
|
|||
FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
|
||||
FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED |
|
||||
FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT |
|
||||
FEAT_RESIZECONF,
|
||||
FEAT_RESIZECONF | FEAT_DSI_PLL_PWR_BUG,
|
||||
|
||||
.num_mgrs = 2,
|
||||
.num_ovls = 3,
|
||||
|
|
|
@ -40,6 +40,8 @@ enum dss_feat_id {
|
|||
/* Independent core clk divider */
|
||||
FEAT_CORE_CLK_DIV = 1 << 11,
|
||||
FEAT_LCD_CLK_SRC = 1 << 12,
|
||||
/* DSI-PLL power command 0x3 is not working */
|
||||
FEAT_DSI_PLL_PWR_BUG = 1 << 13,
|
||||
};
|
||||
|
||||
/* DSS register field id */
|
||||
|
|
Loading…
Reference in New Issue