Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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,
+1 −0
Original line number Diff line number Diff line
@@ -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 */
+10 −6
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@
#include <plat/cpu.h>

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

/* Venc registers */
#define VENC_REV_ID				0x00
@@ -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(