aboutsummaryrefslogtreecommitdiffstats
path: root/include/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 /include/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 'include/video')
-rw-r--r--include/video/omapdss.h22
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
133enum omap_dss_signal_level {
134 OMAPDSS_SIG_ACTIVE_HIGH = 0,
135 OMAPDSS_SIG_ACTIVE_LOW = 1,
136};
137
138enum omap_dss_signal_edge {
139 OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES,
140 OMAPDSS_DRIVE_SIG_RISING_EDGE,
141 OMAPDSS_DRIVE_SIG_FALLING_EDGE,
142};
143
133enum omap_dss_venc_type { 144enum 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