aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/dss_features.c41
-rw-r--r--drivers/video/omap2/dss/dss_features.h1
2 files changed, 42 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index 656cb69f4640..0a926432ccdc 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -400,6 +400,23 @@ static const enum dss_feat_id omap4430_es1_0_dss_feat_list[] = {
400 FEAT_FIFO_MERGE, 400 FEAT_FIFO_MERGE,
401}; 401};
402 402
403static const enum dss_feat_id omap4430_es2_0_1_2_dss_feat_list[] = {
404 FEAT_MGR_LCD2,
405 FEAT_CORE_CLK_DIV,
406 FEAT_LCD_CLK_SRC,
407 FEAT_DSI_DCS_CMD_CONFIG_VC,
408 FEAT_DSI_VC_OCP_WIDTH,
409 FEAT_DSI_GNQ,
410 FEAT_HDMI_CTS_SWMODE,
411 FEAT_HANDLE_UV_SEPARATE,
412 FEAT_ATTR2,
413 FEAT_CPR,
414 FEAT_PRELOAD,
415 FEAT_FIR_COEF_V,
416 FEAT_ALPHA_FREE_ZORDER,
417 FEAT_FIFO_MERGE,
418};
419
403static const enum dss_feat_id omap4_dss_feat_list[] = { 420static const enum dss_feat_id omap4_dss_feat_list[] = {
404 FEAT_MGR_LCD2, 421 FEAT_MGR_LCD2,
405 FEAT_CORE_CLK_DIV, 422 FEAT_CORE_CLK_DIV,
@@ -408,6 +425,7 @@ static const enum dss_feat_id omap4_dss_feat_list[] = {
408 FEAT_DSI_VC_OCP_WIDTH, 425 FEAT_DSI_VC_OCP_WIDTH,
409 FEAT_DSI_GNQ, 426 FEAT_DSI_GNQ,
410 FEAT_HDMI_CTS_SWMODE, 427 FEAT_HDMI_CTS_SWMODE,
428 FEAT_HDMI_AUDIO_USE_MCLK,
411 FEAT_HANDLE_UV_SEPARATE, 429 FEAT_HANDLE_UV_SEPARATE,
412 FEAT_ATTR2, 430 FEAT_ATTR2,
413 FEAT_CPR, 431 FEAT_CPR,
@@ -493,6 +511,25 @@ static const struct omap_dss_features omap4430_es1_0_dss_features = {
493 .burst_size_unit = 16, 511 .burst_size_unit = 16,
494}; 512};
495 513
514/* For OMAP4430 ES 2.0, 2.1 and 2.2 revisions */
515static const struct omap_dss_features omap4430_es2_0_1_2_dss_features = {
516 .reg_fields = omap4_dss_reg_fields,
517 .num_reg_fields = ARRAY_SIZE(omap4_dss_reg_fields),
518
519 .features = omap4430_es2_0_1_2_dss_feat_list,
520 .num_features = ARRAY_SIZE(omap4430_es2_0_1_2_dss_feat_list),
521
522 .num_mgrs = 3,
523 .num_ovls = 4,
524 .supported_displays = omap4_dss_supported_displays,
525 .supported_color_modes = omap4_dss_supported_color_modes,
526 .overlay_caps = omap4_dss_overlay_caps,
527 .clksrc_names = omap4_dss_clk_source_names,
528 .dss_params = omap4_dss_param_range,
529 .buffer_size_unit = 16,
530 .burst_size_unit = 16,
531};
532
496/* For all the other OMAP4 versions */ 533/* For all the other OMAP4 versions */
497static const struct omap_dss_features omap4_dss_features = { 534static const struct omap_dss_features omap4_dss_features = {
498 .reg_fields = omap4_dss_reg_fields, 535 .reg_fields = omap4_dss_reg_fields,
@@ -634,6 +671,10 @@ void dss_features_init(void)
634 omap_current_dss_features = &omap3430_dss_features; 671 omap_current_dss_features = &omap3430_dss_features;
635 else if (omap_rev() == OMAP4430_REV_ES1_0) 672 else if (omap_rev() == OMAP4430_REV_ES1_0)
636 omap_current_dss_features = &omap4430_es1_0_dss_features; 673 omap_current_dss_features = &omap4430_es1_0_dss_features;
674 else if (omap_rev() == OMAP4430_REV_ES2_0 ||
675 omap_rev() == OMAP4430_REV_ES2_1 ||
676 omap_rev() == OMAP4430_REV_ES2_2)
677 omap_current_dss_features = &omap4430_es2_0_1_2_dss_features;
637 else if (cpu_is_omap44xx()) 678 else if (cpu_is_omap44xx())
638 omap_current_dss_features = &omap4_dss_features; 679 omap_current_dss_features = &omap4_dss_features;
639 else 680 else
diff --git a/drivers/video/omap2/dss/dss_features.h b/drivers/video/omap2/dss/dss_features.h
index 682f091cf02e..c332e7ddfce1 100644
--- a/drivers/video/omap2/dss/dss_features.h
+++ b/drivers/video/omap2/dss/dss_features.h
@@ -50,6 +50,7 @@ enum dss_feat_id {
50 FEAT_DSI_REVERSE_TXCLKESC, 50 FEAT_DSI_REVERSE_TXCLKESC,
51 FEAT_DSI_GNQ, 51 FEAT_DSI_GNQ,
52 FEAT_HDMI_CTS_SWMODE, 52 FEAT_HDMI_CTS_SWMODE,
53 FEAT_HDMI_AUDIO_USE_MCLK,
53 FEAT_HANDLE_UV_SEPARATE, 54 FEAT_HANDLE_UV_SEPARATE,
54 FEAT_ATTR2, 55 FEAT_ATTR2,
55 FEAT_VENC_REQUIRES_TV_DAC_CLK, 56 FEAT_VENC_REQUIRES_TV_DAC_CLK,