]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
OMAP4: DSS2: Create a DSS features structure for OMAP4430 ES1.0
authorRicardo Neri <ricardo.neri@ti.com>
Thu, 19 May 2011 03:23:33 +0000 (22:23 -0500)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 19 May 2011 12:17:51 +0000 (15:17 +0300)
Create a separate DSS features structure for OMAP4430 ES1.0. This
structure is used to expose features only present in such
silicon version. Specifically, this is required to handle how
the HDMI IP calculates the CTS parameter for audio clock
regeneration packets. OMAP4430 ES1.0 is the only one that supports
computation of the CTS parameter by the HDMI IP (hardware mode).
The rest of the revisions require the HDMI driver to perform the
computation.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dss_features.c

index 6460b0af3357f333af7d19b993f5e5f61b3df6f9..0bbbad70edd777123743434aa37af00c42b452df 100644 (file)
@@ -286,6 +286,27 @@ static const struct omap_dss_features omap3630_dss_features = {
 };
 
 /* OMAP4 DSS Features */
+/* For OMAP4430 ES 1.0 revision */
+static const struct omap_dss_features omap4430_es1_0_dss_features  = {
+       .reg_fields = omap4_dss_reg_fields,
+       .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields),
+
+       .has_feature    =
+               FEAT_GLOBAL_ALPHA | FEAT_PRE_MULT_ALPHA |
+               FEAT_MGR_LCD2 | FEAT_GLOBAL_ALPHA_VID1 |
+               FEAT_CORE_CLK_DIV | FEAT_LCD_CLK_SRC |
+               FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH |
+               FEAT_DSI_GNQ,
+
+       .num_mgrs = 3,
+       .num_ovls = 3,
+       .supported_displays = omap4_dss_supported_displays,
+       .supported_color_modes = omap3_dss_supported_color_modes,
+       .clksrc_names = omap4_dss_clk_source_names,
+       .dss_params = omap4_dss_param_range,
+};
+
+/* For all the other OMAP4 versions */
 static const struct omap_dss_features omap4_dss_features = {
        .reg_fields = omap4_dss_reg_fields,
        .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields),
@@ -371,6 +392,10 @@ void dss_features_init(void)
                omap_current_dss_features = &omap3630_dss_features;
        else if (cpu_is_omap34xx())
                omap_current_dss_features = &omap3430_dss_features;
-       else
+       else if (omap_rev() == OMAP4430_REV_ES1_0)
+               omap_current_dss_features = &omap4430_es1_0_dss_features;
+       else if (cpu_is_omap44xx())
                omap_current_dss_features = &omap4_dss_features;
+       else
+               DSSWARN("Unsupported OMAP version");
 }