OMAPDSS: DPI: Maintain copy of number of data lines in driver data
[linux-block.git] / drivers / video / omap2 / displays / panel-nec-nl8048hl11-01b.c
index 8b38b39213f480861e981433c2c36e45cf4c26b5..908fd268f3dc90fd98b3eb4827166a5f5e94214f 100644 (file)
@@ -76,6 +76,12 @@ static struct omap_video_timings nec_8048_panel_timings = {
        .vfp            = 3,
        .vsw            = 1,
        .vbp            = 4,
+
+       .vsync_level    = OMAPDSS_SIG_ACTIVE_LOW,
+       .hsync_level    = OMAPDSS_SIG_ACTIVE_LOW,
+       .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
+       .de_level       = OMAPDSS_SIG_ACTIVE_HIGH,
+       .sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 };
 
 static int nec_8048_bl_update_status(struct backlight_device *bl)
@@ -116,9 +122,6 @@ static int nec_8048_panel_probe(struct omap_dss_device *dssdev)
        struct backlight_properties props;
        int r;
 
-       dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-                               OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_RF |
-                               OMAP_DSS_LCD_ONOFF;
        dssdev->panel.timings = nec_8048_panel_timings;
 
        necd = kzalloc(sizeof(*necd), GFP_KERNEL);
@@ -172,6 +175,9 @@ static int nec_8048_panel_power_on(struct omap_dss_device *dssdev)
        if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
                return 0;
 
+       omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
+       omapdss_dpi_set_data_lines(dssdev, dssdev->phy.dpi.data_lines);
+
        r = omapdss_dpi_display_enable(dssdev);
        if (r)
                goto err0;