Skip to content

Commit

Permalink
OMAP: DSS2: Add FEAT_VENC_REQUIRES_TV_DAC_CLK
Browse files Browse the repository at this point in the history
OMAP3430 requires an 96MHz clock to VENC's DAC, but no other OMAP needs
it.

Add a new feature, FEAT_VENC_REQUIRES_TV_DAC_CLK, which tells if the
clock is needed on this platform, and use that feature in venc.c to
decide if the clock needs enabling.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed Jul 1, 2011
1 parent 8ef0e61 commit 525dae6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
3 changes: 2 additions & 1 deletion drivers/video/omap2/dss/dss_features.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,8 @@ static const struct omap_dss_features omap3430_dss_features = {
FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
FEAT_FUNCGATED | FEAT_ROWREPEATENABLE |
FEAT_LINEBUFFERSPLIT | FEAT_RESIZECONF |
FEAT_DSI_PLL_FREQSEL | FEAT_DSI_REVERSE_TXCLKESC,
FEAT_DSI_PLL_FREQSEL | FEAT_DSI_REVERSE_TXCLKESC |
FEAT_VENC_REQUIRES_TV_DAC_CLK,

.num_mgrs = 2,
.num_ovls = 3,
Expand Down
1 change: 1 addition & 0 deletions drivers/video/omap2/dss/dss_features.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ enum dss_feat_id {
FEAT_HDMI_CTS_SWMODE = 1 << 19,
FEAT_HANDLE_UV_SEPARATE = 1 << 20,
FEAT_ATTR2 = 1 << 21,
FEAT_VENC_REQUIRES_TV_DAC_CLK = 1 << 22,
};

/* DSS register field id */
Expand Down
16 changes: 10 additions & 6 deletions drivers/video/omap2/dss/venc.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include <plat/cpu.h>

#include "dss.h"
#include "dss_features.h"

/* Venc registers */
#define VENC_REV_ID 0x00
Expand Down Expand Up @@ -382,12 +383,15 @@ static void venc_reset(void)

static void venc_enable_clocks(int enable)
{
if (enable)
dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK |
DSS_CLK_VIDFCK);
else
dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK |
DSS_CLK_VIDFCK);
if (enable) {
dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK);
if (dss_has_feature(FEAT_VENC_REQUIRES_TV_DAC_CLK))
dss_clk_enable(DSS_CLK_VIDFCK);
} else {
dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK);
if (dss_has_feature(FEAT_VENC_REQUIRES_TV_DAC_CLK))
dss_clk_disable(DSS_CLK_VIDFCK);
}
}

static const struct venc_config *venc_timings_to_config(
Expand Down

0 comments on commit 525dae6

Please sign in to comment.