aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorRicardo Neri <ricardo.neri@ti.com>2011-05-18 23:23:33 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-05-19 08:17:51 -0400
commit6ff7084edfd31410c1d4112ed2b3bdc11485af94 (patch)
tree86a3532a1b2e75dcc301340d4bfc0ca1795eac7c /drivers/video/omap2
parent0c65622b1f92eb437d00ede920fc43b2ff2d44b7 (diff)
OMAP4: DSS2: Create a DSS features structure for OMAP4430 ES1.0
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>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dss_features.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index 6460b0af3357..0bbbad70edd7 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -286,6 +286,27 @@ static const struct omap_dss_features omap3630_dss_features = {
286}; 286};
287 287
288/* OMAP4 DSS Features */ 288/* OMAP4 DSS Features */
289/* For OMAP4430 ES 1.0 revision */
290static const struct omap_dss_features omap4430_es1_0_dss_features = {
291 .reg_fields = omap4_dss_reg_fields,
292 .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields),
293
294 .has_feature =
295 FEAT_GLOBAL_ALPHA | FEAT_PRE_MULT_ALPHA |
296 FEAT_MGR_LCD2 | FEAT_GLOBAL_ALPHA_VID1 |
297 FEAT_CORE_CLK_DIV | FEAT_LCD_CLK_SRC |
298 FEAT_DSI_DCS_CMD_CONFIG_VC | FEAT_DSI_VC_OCP_WIDTH |
299 FEAT_DSI_GNQ,
300
301 .num_mgrs = 3,
302 .num_ovls = 3,
303 .supported_displays = omap4_dss_supported_displays,
304 .supported_color_modes = omap3_dss_supported_color_modes,
305 .clksrc_names = omap4_dss_clk_source_names,
306 .dss_params = omap4_dss_param_range,
307};
308
309/* For all the other OMAP4 versions */
289static const struct omap_dss_features omap4_dss_features = { 310static const struct omap_dss_features omap4_dss_features = {
290 .reg_fields = omap4_dss_reg_fields, 311 .reg_fields = omap4_dss_reg_fields,
291 .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields), 312 .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields),
@@ -371,6 +392,10 @@ void dss_features_init(void)
371 omap_current_dss_features = &omap3630_dss_features; 392 omap_current_dss_features = &omap3630_dss_features;
372 else if (cpu_is_omap34xx()) 393 else if (cpu_is_omap34xx())
373 omap_current_dss_features = &omap3430_dss_features; 394 omap_current_dss_features = &omap3430_dss_features;
374 else 395 else if (omap_rev() == OMAP4430_REV_ES1_0)
396 omap_current_dss_features = &omap4430_es1_0_dss_features;
397 else if (cpu_is_omap44xx())
375 omap_current_dss_features = &omap4_dss_features; 398 omap_current_dss_features = &omap4_dss_features;
399 else
400 DSSWARN("Unsupported OMAP version");
376} 401}