aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorRaphaël Assénat <raph@8d.com>2012-09-19 15:53:14 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-25 04:20:37 -0400
commit524d9f48a64dbe1ec3a276b57ac2a422fc14af07 (patch)
tree8972e3b91675d007a3c013b8be4d60cf18f973be /drivers/video
parentfda7c362f9ef59de6d6db67a854e1a114af0c69a (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.c51
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
381static 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
381static const enum dss_feat_id omap3630_dss_feat_list[] = { 400static 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 */
516static 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
493static const struct omap_dss_features omap3630_dss_features = { 535static 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 ||