summaryrefslogtreecommitdiff
path: root/drivers/video/ipu_disp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/ipu_disp.c')
-rw-r--r--drivers/video/ipu_disp.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c
index b9281ff..fef538e 100644
--- a/drivers/video/ipu_disp.c
+++ b/drivers/video/ipu_disp.c
@@ -51,6 +51,7 @@ struct dp_csc_param_t {
};
#define SYNC_WAVE 0
+#define NULL_WAVE (-1)
/* DC display ID assignments */
#define DC_DISP_ID_SYNC(di) (di)
@@ -567,12 +568,12 @@ void ipu_dc_init(int dc_chan, int di, unsigned char interlaced)
ipu_dc_link_event(dc_chan, DC_EVT_NL, 2, 3);
ipu_dc_link_event(dc_chan, DC_EVT_EOL, 3, 2);
ipu_dc_link_event(dc_chan, DC_EVT_NEW_DATA,
- 4, 1);
+ 1, 1);
} else {
ipu_dc_link_event(dc_chan, DC_EVT_NL, 5, 3);
ipu_dc_link_event(dc_chan, DC_EVT_EOL, 6, 2);
ipu_dc_link_event(dc_chan, DC_EVT_NEW_DATA,
- 7, 1);
+ 12, 1);
}
}
ipu_dc_link_event(dc_chan, DC_EVT_NF, 0, 0);
@@ -1208,12 +1209,14 @@ int32_t ipu_init_sync_panel(int disp, uint32_t pixel_clk,
/* Init template microcode */
if (disp) {
ipu_dc_write_tmpl(2, WROD(0), 0, map, SYNC_WAVE, 8, 5, 1);
- ipu_dc_write_tmpl(3, WROD(0), 0, map, SYNC_WAVE, 4, 5, 1);
- ipu_dc_write_tmpl(4, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+ ipu_dc_write_tmpl(3, WROD(0), 0, map, SYNC_WAVE, 4, 5, 0);
+ ipu_dc_write_tmpl(4, WRG, 0, map, NULL_WAVE, 0, 0, 1);
+ ipu_dc_write_tmpl(1, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
} else {
- ipu_dc_write_tmpl(5, WROD(0), 0, map, SYNC_WAVE, 8, 5, 1);
- ipu_dc_write_tmpl(6, WROD(0), 0, map, SYNC_WAVE, 4, 5, 1);
- ipu_dc_write_tmpl(7, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+ ipu_dc_write_tmpl(5, WROD(0), 0, map, SYNC_WAVE, 8, 5, 1);
+ ipu_dc_write_tmpl(6, WROD(0), 0, map, SYNC_WAVE, 4, 5, 0);
+ ipu_dc_write_tmpl(7, WRG, 0, map, NULL_WAVE, 0, 0, 1);
+ ipu_dc_write_tmpl(12, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
}
if (sig.Hsync_pol)