diff options
author | Raphaël Assénat <raph@8d.com> | 2012-09-19 15:53:14 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-09-25 04:20:37 -0400 |
commit | 524d9f48a64dbe1ec3a276b57ac2a422fc14af07 (patch) | |
tree | 8972e3b91675d007a3c013b8be4d60cf18f973be /drivers/video | |
parent | fda7c362f9ef59de6d6db67a854e1a114af0c69a (diff) |
OMAPDSS: Do not require a VDDS_DSI regulator on AM35xx
On our AM3505 based board, dpi.c complains that there is no VDDS_DSI
regulator and the framebuffer cannot be enabled. However, this check
does not seem to apply to AM3505/17 chips.
This patch adds new features list for AM35xxx, which is the same as for
OMAP3 except the VDDS_DSI is removed.
Signed-off-by: Raphael Assenat <raph@8d.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/dss_features.c | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c index c26fc1fb7db..47c15304fe8 100644 --- a/drivers/video/omap2/dss/dss_features.c +++ b/drivers/video/omap2/dss/dss_features.c | |||
@@ -378,6 +378,25 @@ static const enum dss_feat_id omap3430_dss_feat_list[] = { | |||
378 | FEAT_DPI_USES_VDDS_DSI, | 378 | FEAT_DPI_USES_VDDS_DSI, |
379 | }; | 379 | }; |
380 | 380 | ||
381 | static const enum dss_feat_id am35xx_dss_feat_list[] = { | ||
382 | FEAT_LCDENABLEPOL, | ||
383 | FEAT_LCDENABLESIGNAL, | ||
384 | FEAT_PCKFREEENABLE, | ||
385 | FEAT_FUNCGATED, | ||
386 | FEAT_LINEBUFFERSPLIT, | ||
387 | FEAT_ROWREPEATENABLE, | ||
388 | FEAT_RESIZECONF, | ||
389 | FEAT_DSI_PLL_FREQSEL, | ||
390 | FEAT_DSI_REVERSE_TXCLKESC, | ||
391 | FEAT_VENC_REQUIRES_TV_DAC_CLK, | ||
392 | FEAT_CPR, | ||
393 | FEAT_PRELOAD, | ||
394 | FEAT_FIR_COEF_V, | ||
395 | FEAT_ALPHA_FIXED_ZORDER, | ||
396 | FEAT_FIFO_MERGE, | ||
397 | FEAT_OMAP3_DSI_FIFO_BUG, | ||
398 | }; | ||
399 | |||
381 | static const enum dss_feat_id omap3630_dss_feat_list[] = { | 400 | static const enum dss_feat_id omap3630_dss_feat_list[] = { |
382 | FEAT_LCDENABLEPOL, | 401 | FEAT_LCDENABLEPOL, |
383 | FEAT_LCDENABLESIGNAL, | 402 | FEAT_LCDENABLESIGNAL, |
@@ -490,6 +509,29 @@ static const struct omap_dss_features omap3430_dss_features = { | |||
490 | .burst_size_unit = 8, | 509 | .burst_size_unit = 8, |
491 | }; | 510 | }; |
492 | 511 | ||
512 | /* | ||
513 | * AM35xx DSS Features. This is basically OMAP3 DSS Features without the | ||
514 | * vdds_dsi regulator. | ||
515 | */ | ||
516 | static const struct omap_dss_features am35xx_dss_features = { | ||
517 | .reg_fields = omap3_dss_reg_fields, | ||
518 | .num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields), | ||
519 | |||
520 | .features = am35xx_dss_feat_list, | ||
521 | .num_features = ARRAY_SIZE(am35xx_dss_feat_list), | ||
522 | |||
523 | .num_mgrs = 2, | ||
524 | .num_ovls = 3, | ||
525 | .supported_displays = omap3430_dss_supported_displays, | ||
526 | .supported_color_modes = omap3_dss_supported_color_modes, | ||
527 | .overlay_caps = omap3430_dss_overlay_caps, | ||
528 | .clksrc_names = omap3_dss_clk_source_names, | ||
529 | .dss_params = omap3_dss_param_range, | ||
530 | .supported_rotation_types = OMAP_DSS_ROT_DMA | OMAP_DSS_ROT_VRFB, | ||
531 | .buffer_size_unit = 1, | ||
532 | .burst_size_unit = 8, | ||
533 | }; | ||
534 | |||
493 | static const struct omap_dss_features omap3630_dss_features = { | 535 | static const struct omap_dss_features omap3630_dss_features = { |
494 | .reg_fields = omap3_dss_reg_fields, | 536 | .reg_fields = omap3_dss_reg_fields, |
495 | .num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields), | 537 | .num_reg_fields = ARRAY_SIZE(omap3_dss_reg_fields), |
@@ -697,8 +739,13 @@ void dss_features_init(void) | |||
697 | omap_current_dss_features = &omap2_dss_features; | 739 | omap_current_dss_features = &omap2_dss_features; |
698 | else if (cpu_is_omap3630()) | 740 | else if (cpu_is_omap3630()) |
699 | omap_current_dss_features = &omap3630_dss_features; | 741 | omap_current_dss_features = &omap3630_dss_features; |
700 | else if (cpu_is_omap34xx()) | 742 | else if (cpu_is_omap34xx()) { |
701 | omap_current_dss_features = &omap3430_dss_features; | 743 | if (soc_is_am35xx()) { |
744 | omap_current_dss_features = &am35xx_dss_features; | ||
745 | } else { | ||
746 | omap_current_dss_features = &omap3430_dss_features; | ||
747 | } | ||
748 | } | ||
702 | else if (omap_rev() == OMAP4430_REV_ES1_0) | 749 | else if (omap_rev() == OMAP4430_REV_ES1_0) |
703 | omap_current_dss_features = &omap4430_es1_0_dss_features; | 750 | omap_current_dss_features = &omap4430_es1_0_dss_features; |
704 | else if (omap_rev() == OMAP4430_REV_ES2_0 || | 751 | else if (omap_rev() == OMAP4430_REV_ES2_0 || |