diff options
author | Kevin Huang <kevinh@nvidia.com> | 2011-05-03 10:52:24 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-05-13 18:56:28 -0700 |
commit | 30582abff8f85b56bafb86d0bc05db25257bf456 (patch) | |
tree | 6b85f09a382c20262fb5bfe6226435cc133fd7f1 /drivers | |
parent | 179cfb15f90962530300cfd084314354a53f4517 (diff) |
video: tegra: dsi: Adjusted the values of packet sequence registers.
Changed the values of packet sequence registers for DSI burst video mode.
Change-Id: I70188ed3c8fff094862a89377457751fd0d4382c
Reviewed-on: http://git-master/r/31080
Reviewed-by: Kevin Huang <kevinh@nvidia.com>
Tested-by: Kevin Huang <kevinh@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'drivers')
-rwxr-xr-x | drivers/video/tegra/dc/dsi.c | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/drivers/video/tegra/dc/dsi.c b/drivers/video/tegra/dc/dsi.c index ef1d66fd54c2..070289786827 100755 --- a/drivers/video/tegra/dc/dsi.c +++ b/drivers/video/tegra/dc/dsi.c @@ -177,23 +177,37 @@ const u32 dsi_pkt_seq_video_non_burst[NUMOF_PKT_SEQ] = { }; static const u32 dsi_pkt_seq_video_burst[NUMOF_PKT_SEQ] = { - PKT_ID0(CMD_NULL) | PKT_LEN0(4) | PKT_ID1(CMD_VS) | PKT_LEN1(0) | - PKT_ID2(CMD_EOT) | PKT_LEN2(0) | PKT_LP, + PKT_ID0(CMD_VS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(7) | PKT_LP, 0, - PKT_ID0(CMD_NULL) | PKT_LEN0(4) | PKT_ID1(CMD_HS) | PKT_LEN1(0) | - PKT_ID2(CMD_EOT) | PKT_LEN2(0) | PKT_LP, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(7) | PKT_LP, 0, - PKT_ID0(CMD_NULL) | PKT_LEN0(4) | PKT_ID1(CMD_HS) | PKT_LEN1(0) | - PKT_ID2(CMD_EOT) | PKT_LEN2(0) | PKT_LP, - PKT_ID0(CMD_BLNK) | PKT_LEN0(4) | PKT_ID1(CMD_HS) | PKT_LEN1(0) | - PKT_ID2(CMD_BLNK) | PKT_LEN2(2), - PKT_ID3(CMD_RGB) | PKT_LEN3(3) | PKT_ID4(CMD_EOT) | PKT_LEN4(0), - PKT_ID0(CMD_NULL) | PKT_LEN0(4) | PKT_ID1(CMD_HS) | PKT_LEN1(0) | - PKT_ID2(CMD_EOT) | PKT_LEN2(0) | PKT_LP, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(7) | PKT_LP, 0, - PKT_ID0(CMD_BLNK) | PKT_LEN0(4) | PKT_ID1(CMD_HS) | PKT_LEN1(0) | - PKT_ID2(CMD_BLNK) | PKT_LEN2(2), - PKT_ID3(CMD_RGB) | PKT_LEN3(3) | PKT_ID4(CMD_EOT) | PKT_LEN4(0), + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_BLNK) | PKT_LEN1(2)| + PKT_ID2(CMD_RGB) | PKT_LEN2(3) | PKT_LP, + PKT_ID0(CMD_EOT) | PKT_LEN0(7), + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(7) | PKT_LP, + 0, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_BLNK) | PKT_LEN1(2)| + PKT_ID2(CMD_RGB) | PKT_LEN2(3) | PKT_LP, + PKT_ID0(CMD_EOT) | PKT_LEN0(7), +}; + +static const u32 dsi_pkt_seq_video_burst_no_eot[NUMOF_PKT_SEQ] = { + PKT_ID0(CMD_VS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(0) | PKT_LP, + 0, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(0) | PKT_LP, + 0, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(0) | PKT_LP, + 0, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_BLNK) | PKT_LEN1(2)| + PKT_ID2(CMD_RGB) | PKT_LEN2(3) | PKT_LP, + PKT_ID0(CMD_EOT) | PKT_LEN0(0), + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_EOT) | PKT_LEN1(0) | PKT_LP, + 0, + PKT_ID0(CMD_HS) | PKT_LEN0(0) | PKT_ID1(CMD_BLNK) | PKT_LEN1(2)| + PKT_ID2(CMD_RGB) | PKT_LEN2(3) | PKT_LP, + PKT_ID0(CMD_EOT) | PKT_LEN0(0), }; /* TODO: verify with hw about this format */ @@ -676,8 +690,11 @@ static void tegra_dsi_set_pkt_seq(struct tegra_dc *dc, case TEGRA_DSI_VIDEO_BURST_MODE_FAST_SPEED: case TEGRA_DSI_VIDEO_BURST_MODE_FASTEST_SPEED: case TEGRA_DSI_VIDEO_BURST_MODE_MANUAL: - pkt_seq_3_5_rgb_hi = DSI_PKT_SEQ_3_HI_PKT_33_ID(rgb_info); - pkt_seq = dsi_pkt_seq_video_burst; + pkt_seq_3_5_rgb_lo = DSI_PKT_SEQ_3_LO_PKT_32_ID(rgb_info); + if(!dsi->info.no_pkt_seq_eot) + pkt_seq = dsi_pkt_seq_video_burst; + else + pkt_seq = dsi_pkt_seq_video_burst_no_eot; break; case TEGRA_DSI_VIDEO_NONE_BURST_MODE_WITH_SYNC_END: pkt_seq_3_5_rgb_hi = DSI_PKT_SEQ_3_HI_PKT_34_ID(rgb_info); |