]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/commitdiff
omapdss: features: Add a dss_features struct for DRA7xx SoC
authorArchit Taneja <archit@ti.com>
Thu, 4 Apr 2013 12:07:31 +0000 (17:37 +0530)
committerArchit Taneja <archit@ti.com>
Thu, 30 May 2013 14:31:35 +0000 (20:01 +0530)
Add a new features struct for DRA7xx. The connections between outputs and
managers in DRA7xx differ a lot from OMAP5, so we add a new feat struct for it.

Signed-off-by: Archit Taneja <archit@ti.com>
drivers/video/omap2/dss/dss_features.c
include/video/omapdss.h

index 430a4b9cd38660f05707a20e5fc8673cda32e717..f69fe0c21afe787d3f186bafb54c2bd8014a8f20 100644 (file)
@@ -174,6 +174,20 @@ static const enum omap_display_type omap5_dss_supported_displays[] = {
        OMAP_DISPLAY_TYPE_DSI,
 };
 
+static const enum omap_display_type dra7xx_dss_supported_displays[] = {
+       /* OMAP_DSS_CHANNEL_LCD */
+       OMAP_DISPLAY_TYPE_DPI,
+
+       /* OMAP_DSS_CHANNEL_DIGIT */
+       OMAP_DISPLAY_TYPE_HDMI | OMAP_DISPLAY_TYPE_DPI,
+
+       /* OMAP_DSS_CHANNEL_LCD2 */
+       OMAP_DISPLAY_TYPE_DPI,
+
+       /* OMAP_DSS_CHANNEL_LCD3 */
+       OMAP_DISPLAY_TYPE_DPI,
+};
+
 static const enum omap_dss_output_id omap2_dss_supported_outputs[] = {
        /* OMAP_DSS_CHANNEL_LCD */
        OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI,
@@ -231,6 +245,20 @@ static const enum omap_dss_output_id omap5_dss_supported_outputs[] = {
        OMAP_DSS_OUTPUT_DSI2,
 };
 
+static const enum omap_dss_output_id dra7xx_dss_supported_outputs[] = {
+       /* OMAP_DSS_CHANNEL_LCD */
+       OMAP_DSS_OUTPUT_DPI,
+
+       /* OMAP_DSS_CHANNEL_DIGIT */
+       OMAP_DSS_OUTPUT_HDMI | OMAP_DSS_OUTPUT_DPI,
+
+       /* OMAP_DSS_CHANNEL_LCD2 */
+       OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DPI1,
+
+       /* OMAP_DSS_CHANNEL_LCD3 */
+       OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DPI2,
+};
+
 static const enum omap_color_mode omap2_dss_supported_color_modes[] = {
        /* OMAP_DSS_GFX */
        OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
@@ -791,6 +819,27 @@ static const struct omap_dss_features omap5_dss_features = {
        .burst_size_unit = 16,
 };
 
+/* DRA DSS Features */
+static const struct omap_dss_features dra7xx_dss_features = {
+       .reg_fields = omap5_dss_reg_fields,
+       .num_reg_fields = ARRAY_SIZE(omap5_dss_reg_fields),
+
+       .features = omap5_dss_feat_list,
+       .num_features = ARRAY_SIZE(omap5_dss_feat_list),
+
+       .num_mgrs = 4,
+       .num_ovls = 4,
+       .supported_displays = dra7xx_dss_supported_displays,
+       .supported_outputs = dra7xx_dss_supported_outputs,
+       .supported_color_modes = omap4_dss_supported_color_modes,
+       .overlay_caps = omap4_dss_overlay_caps,
+       .clksrc_names = omap5_dss_clk_source_names,
+       .dss_params = omap5_dss_param_range,
+       .supported_rotation_types = OMAP_DSS_ROT_DMA | OMAP_DSS_ROT_TILER,
+       .buffer_size_unit = 16,
+       .burst_size_unit = 16,
+};
+
 #if defined(CONFIG_OMAP4_DSS_HDMI) || defined(CONFIG_OMAP5_DSS_HDMI)
 /* HDMI OMAP4 Functions*/
 static const struct ti_hdmi_ip_ops omap4_hdmi_functions = {
@@ -1003,10 +1052,13 @@ void dss_features_init(enum omapdss_version version)
                break;
 
        case OMAPDSS_VER_OMAP5:
-       case OMAPDSS_VER_DRA7xx:
                omap_current_dss_features = &omap5_dss_features;
                break;
 
+       case OMAPDSS_VER_DRA7xx:
+               omap_current_dss_features = &dra7xx_dss_features;
+               break;
+
        case OMAPDSS_VER_AM35xx:
                omap_current_dss_features = &am35xx_dss_features;
                break;
index 09fdcd6e60e28599cbedcf3e00ecd47f2dc95d12..7ca219a63c62ac2436cbc28c2cccd4bcb331b046 100644 (file)
@@ -219,6 +219,8 @@ enum omap_dss_output_id {
        OMAP_DSS_OUTPUT_DSI2    = 1 << 4,
        OMAP_DSS_OUTPUT_VENC    = 1 << 5,
        OMAP_DSS_OUTPUT_HDMI    = 1 << 6,
+       OMAP_DSS_OUTPUT_DPI1    = 1 << 7,
+       OMAP_DSS_OUTPUT_DPI2    = 1 << 8,
 };
 
 /* Stereoscopic Panel types