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

Commit d50cd037 authored by Archit Taneja's avatar Archit Taneja Committed by Tomi Valkeinen
Browse files

OMAP: DSS2: Add dss_features for omap4 and overlay manager related features



Initialize a dss_features struct for omap4.
Add support for LCD2 manager by introducing a new member in dss_feat_id.

Signed-off-by: default avatarArchit Taneja <archit@ti.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
parent 8dad2ab6
Loading
Loading
Loading
Loading
+41 −2
Original line number Original line Diff line number Diff line
@@ -82,6 +82,18 @@ static const enum omap_display_type omap3_dss_supported_displays[] = {
	OMAP_DISPLAY_TYPE_VENC,
	OMAP_DISPLAY_TYPE_VENC,
};
};


static const enum omap_display_type omap4_dss_supported_displays[] = {
	/* OMAP_DSS_CHANNEL_LCD */
	OMAP_DISPLAY_TYPE_DBI | OMAP_DISPLAY_TYPE_DSI,

	/* OMAP_DSS_CHANNEL_DIGIT */
	OMAP_DISPLAY_TYPE_VENC,

	/* OMAP_DSS_CHANNEL_LCD2 */
	OMAP_DISPLAY_TYPE_DPI | OMAP_DISPLAY_TYPE_DBI |
	OMAP_DISPLAY_TYPE_DSI,
};

static const enum omap_color_mode omap2_dss_supported_color_modes[] = {
static const enum omap_color_mode omap2_dss_supported_color_modes[] = {
	/* OMAP_DSS_GFX */
	/* OMAP_DSS_GFX */
	OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
	OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
@@ -127,6 +139,10 @@ static struct omap_dss_features omap2_dss_features = {
	.reg_fields = omap2_dss_reg_fields,
	.reg_fields = omap2_dss_reg_fields,
	.num_reg_fields = ARRAY_SIZE(omap2_dss_reg_fields),
	.num_reg_fields = ARRAY_SIZE(omap2_dss_reg_fields),


	.has_feature	=
		FEAT_LCDENABLEPOL | FEAT_LCDENABLESIGNAL |
		FEAT_PCKFREEENABLE | FEAT_FUNCGATED,

	.num_mgrs = 2,
	.num_mgrs = 2,
	.num_ovls = 3,
	.num_ovls = 3,
	.supported_displays = omap2_dss_supported_displays,
	.supported_displays = omap2_dss_supported_displays,
@@ -138,7 +154,10 @@ static struct omap_dss_features omap3430_dss_features = {
	.reg_fields = omap3_dss_reg_fields,
	.reg_fields = omap3_dss_reg_fields,
	.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),
	.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),


	.has_feature	= FEAT_GLOBAL_ALPHA,
	.has_feature	=
		FEAT_GLOBAL_ALPHA | FEAT_LCDENABLEPOL |
		FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
		FEAT_FUNCGATED,


	.num_mgrs = 2,
	.num_mgrs = 2,
	.num_ovls = 3,
	.num_ovls = 3,
@@ -150,7 +169,10 @@ static struct omap_dss_features omap3630_dss_features = {
	.reg_fields = omap3_dss_reg_fields,
	.reg_fields = omap3_dss_reg_fields,
	.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),
	.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),


	.has_feature    = FEAT_GLOBAL_ALPHA | FEAT_PRE_MULT_ALPHA,
	.has_feature    =
		FEAT_GLOBAL_ALPHA | FEAT_LCDENABLEPOL |
		FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE |
		FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED,


	.num_mgrs = 2,
	.num_mgrs = 2,
	.num_ovls = 3,
	.num_ovls = 3,
@@ -158,6 +180,21 @@ static struct omap_dss_features omap3630_dss_features = {
	.supported_color_modes = omap3_dss_supported_color_modes,
	.supported_color_modes = omap3_dss_supported_color_modes,
};
};


/* OMAP4 DSS Features */
static struct omap_dss_features omap4_dss_features = {
	.reg_fields = omap3_dss_reg_fields,
	.num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields),

	.has_feature	=
		FEAT_GLOBAL_ALPHA | FEAT_PRE_MULT_ALPHA |
		FEAT_MGR_LCD2,

	.num_mgrs = 3,
	.num_ovls = 3,
	.supported_displays = omap4_dss_supported_displays,
	.supported_color_modes = omap3_dss_supported_color_modes,
};

/* Functions returning values related to a DSS feature */
/* Functions returning values related to a DSS feature */
int dss_feat_get_num_mgrs(void)
int dss_feat_get_num_mgrs(void)
{
{
@@ -209,4 +246,6 @@ void dss_features_init(void)
		omap_current_dss_features = &omap3630_dss_features;
		omap_current_dss_features = &omap3630_dss_features;
	else if (cpu_is_omap34xx())
	else if (cpu_is_omap34xx())
		omap_current_dss_features = &omap3430_dss_features;
		omap_current_dss_features = &omap3430_dss_features;
	else
		omap_current_dss_features = &omap4_dss_features;
}
}
+6 −1
Original line number Original line Diff line number Diff line
@@ -20,7 +20,7 @@
#ifndef __OMAP2_DSS_FEATURES_H
#ifndef __OMAP2_DSS_FEATURES_H
#define __OMAP2_DSS_FEATURES_H
#define __OMAP2_DSS_FEATURES_H


#define MAX_DSS_MANAGERS	2
#define MAX_DSS_MANAGERS	3
#define MAX_DSS_OVERLAYS	3
#define MAX_DSS_OVERLAYS	3


/* DSS has feature id */
/* DSS has feature id */
@@ -28,6 +28,11 @@ enum dss_feat_id {
	FEAT_GLOBAL_ALPHA	= 1 << 0,
	FEAT_GLOBAL_ALPHA	= 1 << 0,
	FEAT_GLOBAL_ALPHA_VID1	= 1 << 1,
	FEAT_GLOBAL_ALPHA_VID1	= 1 << 1,
	FEAT_PRE_MULT_ALPHA	= 1 << 2,
	FEAT_PRE_MULT_ALPHA	= 1 << 2,
	FEAT_LCDENABLEPOL	= 1 << 3,
	FEAT_LCDENABLESIGNAL	= 1 << 4,
	FEAT_PCKFREEENABLE	= 1 << 5,
	FEAT_FUNCGATED		= 1 << 6,
	FEAT_MGR_LCD2		= 1 << 7,
};
};


/* DSS register field id */
/* DSS register field id */