diff options
| author | Archit Taneja <archit@ti.com> | 2012-06-25 02:56:38 -0400 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-06-29 03:15:49 -0400 |
| commit | a8d5e41cef43bd740ca7c56ff316bdee30040a91 (patch) | |
| tree | 13c8290cc97bd6a0c3437765d5fc2ea8d412498a /include | |
| parent | a9105cb5c25aa335b11088549927a8aa9eaa7ef2 (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 'include')
| -rw-r--r-- | include/video/omapdss.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 115bbd849806..be6590dc66a5 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
| @@ -130,6 +130,17 @@ enum omap_panel_config { | |||
| 130 | OMAP_DSS_LCD_ONOFF = 1<<5, | 130 | OMAP_DSS_LCD_ONOFF = 1<<5, |
| 131 | }; | 131 | }; |
| 132 | 132 | ||
| 133 | enum omap_dss_signal_level { | ||
| 134 | OMAPDSS_SIG_ACTIVE_HIGH = 0, | ||
| 135 | OMAPDSS_SIG_ACTIVE_LOW = 1, | ||
| 136 | }; | ||
| 137 | |||
| 138 | enum omap_dss_signal_edge { | ||
| 139 | OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, | ||
| 140 | OMAPDSS_DRIVE_SIG_RISING_EDGE, | ||
| 141 | OMAPDSS_DRIVE_SIG_FALLING_EDGE, | ||
| 142 | }; | ||
| 143 | |||
| 133 | enum omap_dss_venc_type { | 144 | enum omap_dss_venc_type { |
| 134 | OMAP_DSS_VENC_TYPE_COMPOSITE, | 145 | OMAP_DSS_VENC_TYPE_COMPOSITE, |
| 135 | OMAP_DSS_VENC_TYPE_SVIDEO, | 146 | OMAP_DSS_VENC_TYPE_SVIDEO, |
| @@ -337,6 +348,17 @@ struct omap_video_timings { | |||
| 337 | u16 vfp; /* Vertical front porch */ | 348 | u16 vfp; /* Vertical front porch */ |
| 338 | /* Unit: line clocks */ | 349 | /* Unit: line clocks */ |
| 339 | u16 vbp; /* Vertical back porch */ | 350 | u16 vbp; /* Vertical back porch */ |
| 351 | |||
| 352 | /* Vsync logic level */ | ||
| 353 | enum omap_dss_signal_level vsync_level; | ||
| 354 | /* Hsync logic level */ | ||
| 355 | enum omap_dss_signal_level hsync_level; | ||
| 356 | /* Pixel clock edge to drive LCD data */ | ||
| 357 | enum omap_dss_signal_edge data_pclk_edge; | ||
| 358 | /* Data enable logic level */ | ||
| 359 | enum omap_dss_signal_level de_level; | ||
| 360 | /* Pixel clock edges to drive HSYNC and VSYNC signals */ | ||
| 361 | enum omap_dss_signal_edge sync_pclk_edge; | ||
| 340 | }; | 362 | }; |
| 341 | 363 | ||
| 342 | #ifdef CONFIG_OMAP2_DSS_VENC | 364 | #ifdef CONFIG_OMAP2_DSS_VENC |
