aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-06-25 02:56:38 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-06-29 03:15:49 -0400
commita8d5e41cef43bd740ca7c56ff316bdee30040a91 (patch)
tree13c8290cc97bd6a0c3437765d5fc2ea8d412498a /drivers/video
parenta9105cb5c25aa335b11088549927a8aa9eaa7ef2 (diff)
OMAPDSS: Add some new fields to omap_video_timings
Some panel timing related fields are contained in omap_panel_config in the form of flags. The fields are: - Hsync logic level - Vsync logic level - Data driven on rising/falling edge of pixel clock - Output enable/Data enable logic level - HSYNC/VSYNC driven on rising/falling edge of pixel clock Out of these parameters, Hsync and Vsync logic levels are a part of the timings in the Xorg modeline configuration. So it makes sense to move the to omap_video_timings. The rest aren't a part of modeline, but it still makes sense to move these since they are related to panel timings. These fields stored in omap_panel_config in dssdev are configured for LCD panels, and the corresponding LCD managers in the DISPC_POL_FREQo registers. Add the above fields in omap_video_timings. Represent their state via new enums. Add these parameters to the omap_video_timings instances in the panel drivers. Keep the corresponding IVS, IHS, IPC, IEO, RF and ONOFF flags in omap_panel_config for now. The struct will be removed later. Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/displays/panel-acx565akm.c7
-rw-r--r--drivers/video/omap2/displays/panel-generic-dpi.c114
-rw-r--r--drivers/video/omap2/displays/panel-lgphilips-lb035q02.c6
-rw-r--r--drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c6
-rw-r--r--drivers/video/omap2/displays/panel-picodlp.c6
-rw-r--r--drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c6
-rw-r--r--drivers/video/omap2/displays/panel-tfp410.c6
-rw-r--r--drivers/video/omap2/displays/panel-tpo-td043mtea1.c6
-rw-r--r--drivers/video/omap2/dss/hdmi_panel.c5
-rw-r--r--drivers/video/omap2/dss/sdi.c3
10 files changed, 164 insertions, 1 deletions
diff --git a/drivers/video/omap2/displays/panel-acx565akm.c b/drivers/video/omap2/displays/panel-acx565akm.c
index 9dc21ddc93da..acfaa40b932e 100644
--- a/drivers/video/omap2/displays/panel-acx565akm.c
+++ b/drivers/video/omap2/displays/panel-acx565akm.c
@@ -487,6 +487,13 @@ static struct omap_video_timings acx_panel_timings = {
487 .vfp = 3, 487 .vfp = 3,
488 .vsw = 3, 488 .vsw = 3,
489 .vbp = 4, 489 .vbp = 4,
490
491 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
492 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
493
494 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
495 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
496 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
490}; 497};
491 498
492static int acx_panel_probe(struct omap_dss_device *dssdev) 499static int acx_panel_probe(struct omap_dss_device *dssdev)
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 0534926dfc74..6cdd97c64330 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -69,6 +69,12 @@ static struct panel_config generic_dpi_panels[] = {
69 .vsw = 11, 69 .vsw = 11,
70 .vfp = 3, 70 .vfp = 3,
71 .vbp = 2, 71 .vbp = 2,
72
73 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
74 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
75 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
76 .de_level = OMAPDSS_SIG_ACTIVE_LOW,
77 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
72 }, 78 },
73 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 79 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
74 OMAP_DSS_LCD_IEO, 80 OMAP_DSS_LCD_IEO,
@@ -92,6 +98,12 @@ static struct panel_config generic_dpi_panels[] = {
92 .vsw = 1, 98 .vsw = 1,
93 .vfp = 1, 99 .vfp = 1,
94 .vbp = 1, 100 .vbp = 1,
101
102 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
103 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
104 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
105 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
106 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
95 }, 107 },
96 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 108 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
97 .power_on_delay = 50, 109 .power_on_delay = 50,
@@ -114,6 +126,12 @@ static struct panel_config generic_dpi_panels[] = {
114 .vfp = 4, 126 .vfp = 4,
115 .vsw = 2, 127 .vsw = 2,
116 .vbp = 2, 128 .vbp = 2,
129
130 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
131 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
132 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
133 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
134 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
117 }, 135 },
118 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 136 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
119 OMAP_DSS_LCD_IPC | 137 OMAP_DSS_LCD_IPC |
@@ -138,6 +156,12 @@ static struct panel_config generic_dpi_panels[] = {
138 .vfp = 4, 156 .vfp = 4,
139 .vsw = 10, 157 .vsw = 10,
140 .vbp = 12 - 10, 158 .vbp = 12 - 10,
159
160 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
161 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
162 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
163 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
164 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
141 }, 165 },
142 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 166 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
143 .power_on_delay = 0, 167 .power_on_delay = 0,
@@ -160,6 +184,12 @@ static struct panel_config generic_dpi_panels[] = {
160 .vsw = 2, 184 .vsw = 2,
161 .vfp = 4, 185 .vfp = 4,
162 .vbp = 11, 186 .vbp = 11,
187
188 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
189 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
190 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
191 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
192 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
163 }, 193 },
164 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 194 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
165 .power_on_delay = 0, 195 .power_on_delay = 0,
@@ -182,6 +212,12 @@ static struct panel_config generic_dpi_panels[] = {
182 .vsw = 10, 212 .vsw = 10,
183 .vfp = 2, 213 .vfp = 2,
184 .vbp = 2, 214 .vbp = 2,
215
216 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
217 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
218 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
219 .de_level = OMAPDSS_SIG_ACTIVE_LOW,
220 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
185 }, 221 },
186 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 222 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
187 OMAP_DSS_LCD_IEO, 223 OMAP_DSS_LCD_IEO,
@@ -205,6 +241,12 @@ static struct panel_config generic_dpi_panels[] = {
205 .vsw = 3, 241 .vsw = 3,
206 .vfp = 12, 242 .vfp = 12,
207 .vbp = 25, 243 .vbp = 25,
244
245 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
246 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
247 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
248 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
249 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
208 }, 250 },
209 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 251 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
210 .power_on_delay = 0, 252 .power_on_delay = 0,
@@ -227,6 +269,12 @@ static struct panel_config generic_dpi_panels[] = {
227 .vsw = 1, 269 .vsw = 1,
228 .vfp = 2, 270 .vfp = 2,
229 .vbp = 7, 271 .vbp = 7,
272
273 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
274 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
275 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
276 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
277 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
230 }, 278 },
231 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 279 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
232 .name = "nec_nl2432dr22-11b", 280 .name = "nec_nl2432dr22-11b",
@@ -247,6 +295,12 @@ static struct panel_config generic_dpi_panels[] = {
247 .vsw = 1, 295 .vsw = 1,
248 .vfp = 1, 296 .vfp = 1,
249 .vbp = 1, 297 .vbp = 1,
298
299 .vsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
300 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
301 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
302 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
303 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
250 }, 304 },
251 .name = "h4", 305 .name = "h4",
252 }, 306 },
@@ -266,6 +320,12 @@ static struct panel_config generic_dpi_panels[] = {
266 .vsw = 10, 320 .vsw = 10,
267 .vfp = 2, 321 .vfp = 2,
268 .vbp = 2, 322 .vbp = 2,
323
324 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
325 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
326 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
327 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
328 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
269 }, 329 },
270 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 330 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
271 331
@@ -286,6 +346,12 @@ static struct panel_config generic_dpi_panels[] = {
286 .vsw = 3, 346 .vsw = 3,
287 .vfp = 13, 347 .vfp = 13,
288 .vbp = 29, 348 .vbp = 29,
349
350 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
351 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
352 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
353 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
354 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
289 }, 355 },
290 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 356 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
291 .name = "focaltech_etm070003dh6", 357 .name = "focaltech_etm070003dh6",
@@ -306,6 +372,12 @@ static struct panel_config generic_dpi_panels[] = {
306 .vsw = 23, 372 .vsw = 23,
307 .vfp = 1, 373 .vfp = 1,
308 .vbp = 1, 374 .vbp = 1,
375
376 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
377 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
378 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
379 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
380 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
309 }, 381 },
310 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 382 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
311 OMAP_DSS_LCD_IPC, 383 OMAP_DSS_LCD_IPC,
@@ -329,6 +401,12 @@ static struct panel_config generic_dpi_panels[] = {
329 .vsw = 10, 401 .vsw = 10,
330 .vfp = 4, 402 .vfp = 4,
331 .vbp = 2, 403 .vbp = 2,
404
405 .vsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
406 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
407 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
408 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
409 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
332 }, 410 },
333 .name = "ortustech_com43h4m10xtc", 411 .name = "ortustech_com43h4m10xtc",
334 }, 412 },
@@ -348,6 +426,12 @@ static struct panel_config generic_dpi_panels[] = {
348 .vsw = 10, 426 .vsw = 10,
349 .vfp = 12, 427 .vfp = 12,
350 .vbp = 23, 428 .vbp = 23,
429
430 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
431 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
432 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
433 .de_level = OMAPDSS_SIG_ACTIVE_LOW,
434 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
351 }, 435 },
352 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 436 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
353 OMAP_DSS_LCD_IEO, 437 OMAP_DSS_LCD_IEO,
@@ -369,6 +453,12 @@ static struct panel_config generic_dpi_panels[] = {
369 .vsw = 1, 453 .vsw = 1,
370 .vfp = 26, 454 .vfp = 26,
371 .vbp = 1, 455 .vbp = 1,
456
457 .vsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
458 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
459 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
460 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
461 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
372 }, 462 },
373 .name = "mitsubishi_aa084sb01", 463 .name = "mitsubishi_aa084sb01",
374 }, 464 },
@@ -386,6 +476,12 @@ static struct panel_config generic_dpi_panels[] = {
386 .vsw = 2, 476 .vsw = 2,
387 .vfp = 35, 477 .vfp = 35,
388 .vbp = 10, 478 .vbp = 10,
479
480 .vsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
481 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
482 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
483 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
484 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
389 }, 485 },
390 .name = "edt_et0500g0dh6", 486 .name = "edt_et0500g0dh6",
391 }, 487 },
@@ -405,6 +501,12 @@ static struct panel_config generic_dpi_panels[] = {
405 .vsw = 2, 501 .vsw = 2,
406 .vfp = 10, 502 .vfp = 10,
407 .vbp = 33, 503 .vbp = 33,
504
505 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
506 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
507 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
508 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
509 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
408 }, 510 },
409 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 511 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
410 OMAP_DSS_LCD_IPC, 512 OMAP_DSS_LCD_IPC,
@@ -426,6 +528,12 @@ static struct panel_config generic_dpi_panels[] = {
426 .vsw = 2, 528 .vsw = 2,
427 .vfp = 10, 529 .vfp = 10,
428 .vbp = 33, 530 .vbp = 33,
531
532 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
533 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
534 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
535 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
536 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
429 }, 537 },
430 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 538 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
431 OMAP_DSS_LCD_IPC, 539 OMAP_DSS_LCD_IPC,
@@ -447,6 +555,12 @@ static struct panel_config generic_dpi_panels[] = {
447 .vsw = 4, 555 .vsw = 4,
448 .vfp = 1, 556 .vfp = 1,
449 .vbp = 23, 557 .vbp = 23,
558
559 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
560 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
561 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
562 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
563 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
450 }, 564 },
451 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 565 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
452 OMAP_DSS_LCD_IPC, 566 OMAP_DSS_LCD_IPC,
diff --git a/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
index 3b1877ce7983..fc57ed63b08b 100644
--- a/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
@@ -40,6 +40,12 @@ static struct omap_video_timings lb035q02_timings = {
40 .vsw = 2, 40 .vsw = 2,
41 .vfp = 4, 41 .vfp = 4,
42 .vbp = 18, 42 .vbp = 18,
43
44 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
45 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
46 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
47 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
48 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
43}; 49};
44 50
45static int lb035q02_panel_power_on(struct omap_dss_device *dssdev) 51static int lb035q02_panel_power_on(struct omap_dss_device *dssdev)
diff --git a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
index 531440875054..9eab0dda2f33 100644
--- a/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
+++ b/drivers/video/omap2/displays/panel-nec-nl8048hl11-01b.c
@@ -76,6 +76,12 @@ static struct omap_video_timings nec_8048_panel_timings = {
76 .vfp = 3, 76 .vfp = 3,
77 .vsw = 1, 77 .vsw = 1,
78 .vbp = 4, 78 .vbp = 4,
79
80 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
81 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
82 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
83 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
84 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
79}; 85};
80 86
81static int nec_8048_bl_update_status(struct backlight_device *bl) 87static int nec_8048_bl_update_status(struct backlight_device *bl)
diff --git a/drivers/video/omap2/displays/panel-picodlp.c b/drivers/video/omap2/displays/panel-picodlp.c
index 118e76b7b440..9363cf4ab740 100644
--- a/drivers/video/omap2/displays/panel-picodlp.c
+++ b/drivers/video/omap2/displays/panel-picodlp.c
@@ -69,6 +69,12 @@ static struct omap_video_timings pico_ls_timings = {
69 .vsw = 2, 69 .vsw = 2,
70 .vfp = 3, 70 .vfp = 3,
71 .vbp = 14, 71 .vbp = 14,
72
73 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
74 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
75 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
76 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
77 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
72}; 78};
73 79
74static inline struct picodlp_panel_data 80static inline struct picodlp_panel_data
diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
index 4285849d27b3..6b7b43c808e2 100644
--- a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
@@ -44,6 +44,12 @@ static struct omap_video_timings sharp_ls_timings = {
44 .vsw = 1, 44 .vsw = 1,
45 .vfp = 1, 45 .vfp = 1,
46 .vbp = 1, 46 .vbp = 1,
47
48 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
49 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
50 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
51 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
52 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
47}; 53};
48 54
49static int sharp_ls_bl_update_status(struct backlight_device *bl) 55static int sharp_ls_bl_update_status(struct backlight_device *bl)
diff --git a/drivers/video/omap2/displays/panel-tfp410.c b/drivers/video/omap2/displays/panel-tfp410.c
index ab5b1d43ca10..40cc0cfa5d17 100644
--- a/drivers/video/omap2/displays/panel-tfp410.c
+++ b/drivers/video/omap2/displays/panel-tfp410.c
@@ -39,6 +39,12 @@ static const struct omap_video_timings tfp410_default_timings = {
39 .vfp = 3, 39 .vfp = 3,
40 .vsw = 4, 40 .vsw = 4,
41 .vbp = 7, 41 .vbp = 7,
42
43 .vsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
44 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
45 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
46 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
47 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
42}; 48};
43 49
44struct panel_drv_data { 50struct panel_drv_data {
diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
index d9585c895052..e627c6c5c551 100644
--- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
+++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
@@ -267,6 +267,12 @@ static const struct omap_video_timings tpo_td043_timings = {
267 .vsw = 1, 267 .vsw = 1,
268 .vfp = 39, 268 .vfp = 39,
269 .vbp = 34, 269 .vbp = 34,
270
271 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
272 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
273 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
274 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
275 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
270}; 276};
271 277
272static int tpo_td043_power_on(struct tpo_td043_device *tpo_td043) 278static int tpo_td043_power_on(struct tpo_td043_device *tpo_td043)
diff --git a/drivers/video/omap2/dss/hdmi_panel.c b/drivers/video/omap2/dss/hdmi_panel.c
index 788ebf001cb0..5bf3a84d89cd 100644
--- a/drivers/video/omap2/dss/hdmi_panel.c
+++ b/drivers/video/omap2/dss/hdmi_panel.c
@@ -45,7 +45,10 @@ static int hdmi_panel_probe(struct omap_dss_device *dssdev)
45 45
46 dssdev->panel.config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS; 46 dssdev->panel.config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS;
47 47
48 dssdev->panel.timings = (struct omap_video_timings){640, 480, 25175, 96, 16, 48, 2 , 11, 31}; 48 dssdev->panel.timings = (struct omap_video_timings)
49 { 640, 480, 25175, 96, 16, 48, 2, 11, 31,
50 OMAPDSS_SIG_ACTIVE_LOW, OMAPDSS_SIG_ACTIVE_LOW,
51 };
49 52
50 DSSDBG("hdmi_panel_probe x_res= %d y_res = %d\n", 53 DSSDBG("hdmi_panel_probe x_res= %d y_res = %d\n",
51 dssdev->panel.timings.x_res, 54 dssdev->panel.timings.x_res,
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 5268fdba955d..4f43537d0214 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -80,6 +80,9 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
80 /* 15.5.9.1.2 */ 80 /* 15.5.9.1.2 */
81 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF; 81 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF;
82 82
83 dssdev->panel.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
84 dssdev->panel.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
85
83 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config); 86 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config);
84 87
85 r = dss_calc_clock_div(t->pixel_clock * 1000, &dss_cinfo, &dispc_cinfo); 88 r = dss_calc_clock_div(t->pixel_clock * 1000, &dss_cinfo, &dispc_cinfo);