OMAPDSS: DPI: Maintain our own timings field in driver data
[linux-3.10.git] / drivers / video / omap2 / displays / panel-picodlp.c
index 118e76b..0d7a8ff 100644 (file)
@@ -69,6 +69,12 @@ static struct omap_video_timings pico_ls_timings = {
        .vsw            = 2,
        .vfp            = 3,
        .vbp            = 14,
+
+       .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_FALLING_EDGE,
 };
 
 static inline struct picodlp_panel_data
@@ -371,6 +377,9 @@ static int picodlp_panel_power_on(struct omap_dss_device *dssdev)
         * then only i2c commands can be successfully sent to dpp2600
         */
        msleep(1000);
+
+       omapdss_dpi_set_timings(dssdev, &dssdev->panel.timings);
+
        r = omapdss_dpi_display_enable(dssdev);
        if (r) {
                dev_err(&dssdev->dev, "failed to enable DPI\n");
@@ -414,8 +423,6 @@ static int picodlp_panel_probe(struct omap_dss_device *dssdev)
        struct i2c_client *picodlp_i2c_client;
        int r = 0, picodlp_adapter_id;
 
-       dssdev->panel.config = OMAP_DSS_LCD_ONOFF | OMAP_DSS_LCD_IHS |
-                               OMAP_DSS_LCD_IVS;
        dssdev->panel.timings = pico_ls_timings;
 
        picod =  kzalloc(sizeof(struct picodlp_data), GFP_KERNEL);