下面是DSI83的调试注意点,供大家参考!
#1 LCD Panel 规格,时序要求:
Panels Timing |
page 15 |
||||
LCD Panel |
|
Min |
Typ. |
Max. |
|
Clock Frequency |
52 |
65 |
71 |
MHz |
|
HS Period Time |
1114 |
1344 |
1400 |
DCLK |
|
HS Blanking(BP+FP) |
90 |
320 |
376 |
DCLK |
|
VS Period Time |
778 |
806 |
845 |
H |
|
VS Blanking (BP+FP) |
10 |
38 |
77 |
H |
#2 目标应用
分辨率: 1024 X 768 @ 60帧
LVDS 输出:4 Data + 1 CLK
MIPI 输入: 4 lane + 1 CLK
DSI Video Mode: RGB888
#3 SN65DSI83的寄存器配置, 如附件.(CSR.txt)
#4 Qualcomm 的配置
MIPI CLK = 200MHz
pinfo->lcdc.h_front_porch = 98;/* thfp */
pinfo->lcdc.h_back_porch = 88; /* thb */
pinfo->lcdc.h_pulse_width = 40; /* thpw */
pinfo->lcdc.v_front_porch = 15; /* tvfp */
pinfo->lcdc.v_back_porch = 23; /* tvb */
pinfo->lcdc.v_pulse_width = 20; /* tvpw */
/* mipi – video mode */
pinfo->mipi.traffic_mode = DSI_BURST_MODE; //DSI_NON_BURST_SYNCH_EVENT;//DSI_BURST_MODE;
pinfo->mipi.pulse_mode_hsa_he = true;//true; //false; /* send HSA and HE following VS/VE packet */
pinfo->mipi.hfp_power_stop = false;//true; //false; /* LP-11 during the HFP period */
pinfo->mipi.hbp_power_stop = false;//true; //false; /* LP-11 during the HBP period */
pinfo->mipi.hsa_power_stop = false;//true; //false; /* LP-11 during the HSA period */
/* LP-11 or let Command Mode Engine send packets in HS or LP mode for the BLLP of the last line of a frame */
pinfo->mipi.eof_bllp_power_stop = true;//true; //false;
/* LP-11 or let Command Mode Engine send packets in HS or LP mode for packets sent during BLLP period */
pinfo->mipi.bllp_power_stop = false;//true; //false;
pinfo->mipi.force_clk_lane_hs = 1; 强制DSI_CLK始终处于HS,因我们用DSI CLK as 参考时钟
pinfo.mipi.vc = 0; // SN65DSI83 不支持 Virtual Channel capability
#5 初始化流程
重点注意:
(1) THE EN signal MUST be deasserted prior to enabling the MIPI CLK.
(2) ALL DSI INPUTS(MIPI INPUTS) MUST BE IN LP 11 during the deassertion/assertion of the EN signal.
This sequence should be ok.
1) Drive all DSI input lanes to LP11.
2) Assert the EN pin
3) Wait for 1ms
4) Initalize CSR
5) Set PLL EN bit then wait for PLL LOCK to be set
6) Start video stream
7) Soft reset (开视频后,一定要做的。)
#6 如不能直接点亮,可以用DSI83内部的测试模式,可以检查DSI83工作是否正常,配置寄存器和panel的图像,见附件。
Regards,
Jack
Jack Li:
#6 如不能直接点亮,可以用DSI83内部的测试模式,可以检查DSI83工作是否正常,配置寄存器和panel的图像,见附件。
Jack Li:
回复 Jack Li:
#6 如不能直接点亮,可以用DSI83内部的测试模式,可以检查DSI83工作是否正常,配置寄存器和panel的图像,见附件。
Jack Li:
回复 Jack Li:
供你参考:
如出现闪烁或水波纹等,请先检查下面的可能:
1)遇見在lk裏面顯示內容閃爍很嚴重的問題,注意是內容查實不是配置屏幕的clk造成的,最後查出是porch沒有調整好。
2)注意clk或大或小不會影響顯示的,可能不匹配會造成屏幕閃爍,與其刷新率沒有對上。
3)用廠商给的序列要麼屏點不亮要麼界面有水波紋,這些通常都是rgb interface polarity導致,需要調整pclk hsync vsync de極性使之符合平台極性。
http://rritw.com/a/bianchengyuyan/C__/20130104/283658.html
以上,仅供大家参考,如还有问题,敬请跟我们联系!
Regards,
Jack
hyde sun:
回复 Jack Li:
Dear jack,
我可以咨询你一个问题吗?我是asus 的BSP 工程师,我们现在在使用贵公司的sn65dsi83 这个mipi–>lvds 的bridge IC ,
我使用test mode ,测试已经将panle 点亮了,但是如果走mipi 还没有亮。
我们使用的cpu 是qualcom 的8226,我不 明白的是,mipi 那里我将porch ,resoloutation 都设置好了,那么dsi 的timing 需要如何设置啊?
mdss_dsi_phy_init (就是在这个function 里面)。一般如果我们直接点mipi 的panel的话,我们会根据panel IC 的
T_CLK_PREPARE
T_CLK_ZERO
T_CLK_TRAIL
T_HS_PREPARE
T_HS_ZERO
T_HS_TRAIL
T_HS_RQST
T_HS_EXIT
T_TA_GO
T_TA_SURE
T_TA_GET
TEOT
T_CLK_POST
T_CLK_PRE
上面参数计算出一个dsi 的timing ,请问下你们的bidge IC 也有这些参数吗?因为panle 是lvds 的,所有,肯定是没有这些参数,现在我的mipi 直接对象就是bridge IC ,按照道理是应该有的,还是就不需要设置dsi 的timing .
thanks
hyde_sun
David Zhao:
谢谢分享
hyde sun:
回复 David Zhao:
Dear david,
请问下,我qualocm 那里的timing 需要如何设定?你们会有那些参数提供给吗?
thanks
hyde_sun
abcde:
回复 hyde sun:
Hi, hyde_sun,
您好,最近也在porting DSI83這顆IC,panel也是lvds的,想請教您是如何在test mode把panel點亮起來?
還有關於這顆IC的 driver 官方好像沒有提供,不知道您是否方便提供作參考? Thanks.
hyde sun:
回复 abcde:
Dear abcde,
Test mode 是TI lvds 这颗bridge IC 自己的用来debug lvds 有没有好坏。
它完全不吃Mipi 讯号,你要通过lvds tune tool 中选择test mode ,将tune tool 产生的init code 通过I2C 下给LVDS bridge ic 。
下完后,LVDS 就会内部吐出RGB 的clor bar 到panel 上面。
thanks
hyde_sun
abcde:
回复 hyde sun:
Hi, hyde_sun,
方便告诉我的lvds tune tool可以到哪里下载吗?或是提供你说的tune tool产生的初始化代码让我做参考吗Thanks.