Commit 525dae61 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAP: DSS2: Add FEAT_VENC_REQUIRES_TV_DAC_CLK

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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 8ef0e614
...@@ -286,7 +286,8 @@ static const struct omap_dss_features omap3430_dss_features = { ...@@ -286,7 +286,8 @@ static const struct omap_dss_features omap3430_dss_features = {
FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE | FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
FEAT_FUNCGATED | FEAT_ROWREPEATENABLE | FEAT_FUNCGATED | FEAT_ROWREPEATENABLE |
FEAT_LINEBUFFERSPLIT | FEAT_RESIZECONF | 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_mgrs = 2,
.num_ovls = 3, .num_ovls = 3,
......
...@@ -51,6 +51,7 @@ enum dss_feat_id { ...@@ -51,6 +51,7 @@ enum dss_feat_id {
FEAT_HDMI_CTS_SWMODE = 1 << 19, FEAT_HDMI_CTS_SWMODE = 1 << 19,
FEAT_HANDLE_UV_SEPARATE = 1 << 20, FEAT_HANDLE_UV_SEPARATE = 1 << 20,
FEAT_ATTR2 = 1 << 21, FEAT_ATTR2 = 1 << 21,
FEAT_VENC_REQUIRES_TV_DAC_CLK = 1 << 22,
}; };
/* DSS register field id */ /* DSS register field id */
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <plat/cpu.h> #include <plat/cpu.h>
#include "dss.h" #include "dss.h"
#include "dss_features.h"
/* Venc registers */ /* Venc registers */
#define VENC_REV_ID 0x00 #define VENC_REV_ID 0x00
...@@ -382,12 +383,15 @@ static void venc_reset(void) ...@@ -382,12 +383,15 @@ static void venc_reset(void)
static void venc_enable_clocks(int enable) static void venc_enable_clocks(int enable)
{ {
if (enable) if (enable) {
dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK | dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK);
DSS_CLK_VIDFCK); if (dss_has_feature(FEAT_VENC_REQUIRES_TV_DAC_CLK))
else dss_clk_enable(DSS_CLK_VIDFCK);
dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK | DSS_CLK_TVFCK | } else {
DSS_CLK_VIDFCK); 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( static const struct venc_config *venc_timings_to_config(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment