aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2014-10-02 13:58:48 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2015-02-26 05:15:11 -0500
commit7a16360d56f6846da5a7c8cb50b14e3464ad133a (patch)
tree243d03d8cc3d4010c994c3e5a34a4bedb2808c15 /drivers/video
parent6246c8b57c1467791fd5b2d25cb5b0b9059cf856 (diff)
OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
DISPC can drive data lines either on rising or falling pixel clock edge, which can be configured by the user. Sync lines can also be driven on rising or falling pixel clock edge, but additionally the HW can be configured to drive the sync lines on opposite clock edge from the data lines. This opposite edge setting does not make any sense, as the same effect can be achieved by just setting the sync lines to be driven on the other edge compared to the data lines. It feels like some kind of backward compatibility option, even if all DSS versions seem to have the same implementation. To simplify the code and configuration of the signals, and to make the dispc timings more compatible with what is used on other platforms, let's just remove the whole opposite-edge support. The drivers that used OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES setting are changed so that they use the opposite setting from the data edge. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/omap2/displays-new/connector-dvi.c2
-rw-r--r--drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c2
-rw-r--r--drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c2
-rw-r--r--drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c2
-rw-r--r--drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c2
-rw-r--r--drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c2
-rw-r--r--drivers/video/fbdev/omap2/dss/dispc.c10
-rw-r--r--drivers/video/fbdev/omap2/dss/display.c4
-rw-r--r--drivers/video/fbdev/omap2/dss/dsi.c2
-rw-r--r--drivers/video/fbdev/omap2/dss/rfbi.c2
-rw-r--r--drivers/video/fbdev/omap2/omapfb/omapfb-main.c4
11 files changed, 16 insertions, 18 deletions
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-dvi.c b/drivers/video/fbdev/omap2/displays-new/connector-dvi.c
index 0cdc97413020..a8ce920fa797 100644
--- a/drivers/video/fbdev/omap2/displays-new/connector-dvi.c
+++ b/drivers/video/fbdev/omap2/displays-new/connector-dvi.c
@@ -37,7 +37,7 @@ static const struct omap_video_timings dvic_default_timings = {
37 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH, 37 .hsync_level = OMAPDSS_SIG_ACTIVE_HIGH,
38 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE, 38 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
39 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 39 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
40 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 40 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
41}; 41};
42 42
43struct panel_drv_data { 43struct panel_drv_data {
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c
index 27d4fcfa1824..9974a37a11af 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c
@@ -37,7 +37,7 @@ static struct omap_video_timings lb035q02_timings = {
37 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW, 37 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
38 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE, 38 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
39 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 39 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
40 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 40 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
41}; 41};
42 42
43struct panel_drv_data { 43struct panel_drv_data {
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c
index 18b19b6e1ac2..eae263702964 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c
@@ -54,7 +54,7 @@ static const struct omap_video_timings sharp_ls_timings = {
54 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW, 54 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
55 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE, 55 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
56 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 56 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
57 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 57 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
58}; 58};
59 59
60#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev) 60#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c b/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c
index 337ccc5c0f5e..90cbc4c3406c 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c
@@ -108,7 +108,7 @@ static const struct omap_video_timings acx565akm_panel_timings = {
108 108
109 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE, 109 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
110 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 110 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
111 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 111 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
112}; 112};
113 113
114#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev) 114#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
index fbba0b8ca871..9edc51133c59 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
@@ -58,7 +58,7 @@ static struct omap_video_timings td028ttec1_panel_timings = {
58 58
59 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE, 59 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
60 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 60 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
61 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 61 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
62}; 62};
63 63
64#define JBT_COMMAND 0x000 64#define JBT_COMMAND 0x000
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c
index 5aba76bca25a..79e4a029aab9 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c
@@ -91,7 +91,7 @@ static const struct omap_video_timings tpo_td043_timings = {
91 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW, 91 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
92 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE, 92 .data_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
93 .de_level = OMAPDSS_SIG_ACTIVE_HIGH, 93 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
94 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, 94 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
95}; 95};
96 96
97#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev) 97#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/video/fbdev/omap2/dss/dispc.c b/drivers/video/fbdev/omap2/dss/dispc.c
index a19a1d4b2d19..11bd780fcdfa 100644
--- a/drivers/video/fbdev/omap2/dss/dispc.c
+++ b/drivers/video/fbdev/omap2/dss/dispc.c
@@ -2934,22 +2934,18 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsw,
2934 case OMAPDSS_DRIVE_SIG_FALLING_EDGE: 2934 case OMAPDSS_DRIVE_SIG_FALLING_EDGE:
2935 ipc = true; 2935 ipc = true;
2936 break; 2936 break;
2937 case OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES:
2938 default: 2937 default:
2939 BUG(); 2938 BUG();
2940 } 2939 }
2941 2940
2941 /* always use the 'rf' setting */
2942 onoff = true;
2943
2942 switch (sync_pclk_edge) { 2944 switch (sync_pclk_edge) {
2943 case OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES:
2944 onoff = false;
2945 rf = false;
2946 break;
2947 case OMAPDSS_DRIVE_SIG_FALLING_EDGE: 2945 case OMAPDSS_DRIVE_SIG_FALLING_EDGE:
2948 onoff = true;
2949 rf = false; 2946 rf = false;
2950 break; 2947 break;
2951 case OMAPDSS_DRIVE_SIG_RISING_EDGE: 2948 case OMAPDSS_DRIVE_SIG_RISING_EDGE:
2952 onoff = true;
2953 rf = true; 2949 rf = true;
2954 break; 2950 break;
2955 default: 2951 default:
diff --git a/drivers/video/fbdev/omap2/dss/display.c b/drivers/video/fbdev/omap2/dss/display.c
index 2412a0dd0c13..a6fd2d35ad60 100644
--- a/drivers/video/fbdev/omap2/dss/display.c
+++ b/drivers/video/fbdev/omap2/dss/display.c
@@ -295,7 +295,9 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
295 OMAPDSS_DRIVE_SIG_RISING_EDGE : 295 OMAPDSS_DRIVE_SIG_RISING_EDGE :
296 OMAPDSS_DRIVE_SIG_FALLING_EDGE; 296 OMAPDSS_DRIVE_SIG_FALLING_EDGE;
297 297
298 ovt->sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES; 298 ovt->sync_pclk_edge = vm->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
299 OMAPDSS_DRIVE_SIG_FALLING_EDGE :
300 OMAPDSS_DRIVE_SIG_RISING_EDGE;
299} 301}
300EXPORT_SYMBOL(videomode_to_omap_video_timings); 302EXPORT_SYMBOL(videomode_to_omap_video_timings);
301 303
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c
index 5081f6fb1737..28b0bc11669d 100644
--- a/drivers/video/fbdev/omap2/dss/dsi.c
+++ b/drivers/video/fbdev/omap2/dss/dsi.c
@@ -4137,7 +4137,7 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
4137 dsi->timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH; 4137 dsi->timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
4138 dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE; 4138 dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
4139 dsi->timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH; 4139 dsi->timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
4140 dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES; 4140 dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
4141 4141
4142 dss_mgr_set_timings(mgr, &dsi->timings); 4142 dss_mgr_set_timings(mgr, &dsi->timings);
4143 4143
diff --git a/drivers/video/fbdev/omap2/dss/rfbi.c b/drivers/video/fbdev/omap2/dss/rfbi.c
index 28e694b11ff9..065effca9236 100644
--- a/drivers/video/fbdev/omap2/dss/rfbi.c
+++ b/drivers/video/fbdev/omap2/dss/rfbi.c
@@ -869,7 +869,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
869 rfbi.timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH; 869 rfbi.timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
870 rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE; 870 rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
871 rfbi.timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH; 871 rfbi.timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
872 rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES; 872 rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
873 873
874 dss_mgr_set_timings(mgr, &rfbi.timings); 874 dss_mgr_set_timings(mgr, &rfbi.timings);
875} 875}
diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
index 22f07f88bc40..4f0cbb54d4db 100644
--- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
+++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c
@@ -2073,7 +2073,7 @@ static int omapfb_mode_to_timings(const char *mode_str,
2073 } else { 2073 } else {
2074 timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE; 2074 timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
2075 timings->de_level = OMAPDSS_SIG_ACTIVE_HIGH; 2075 timings->de_level = OMAPDSS_SIG_ACTIVE_HIGH;
2076 timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES; 2076 timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
2077 } 2077 }
2078 2078
2079 timings->pixelclock = PICOS2KHZ(var->pixclock) * 1000; 2079 timings->pixelclock = PICOS2KHZ(var->pixclock) * 1000;
@@ -2223,7 +2223,7 @@ static void fb_videomode_to_omap_timings(struct fb_videomode *m,
2223 } else { 2223 } else {
2224 t->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE; 2224 t->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
2225 t->de_level = OMAPDSS_SIG_ACTIVE_HIGH; 2225 t->de_level = OMAPDSS_SIG_ACTIVE_HIGH;
2226 t->sync_pclk_edge = OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES; 2226 t->sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
2227 } 2227 }
2228 2228
2229 t->x_res = m->xres; 2229 t->x_res = m->xres;