调试 edp 4k panel
问题描述:
客户整了块edp屏,还配了个转接板,使用原本的标准4k 屏参显示ng,会有一条亮白线。
于是找客户提供panel 的spec文档,看了看spec文档,发现这块屏和标准4k panel有一些不一样
屏参如下图:主要看Typ 典型值即可
开始调试
首先将clk改成533.25MHz,发现开机动画显示都是正常的,但是播视频就NG了。后来想想只改一个地方肯定是不行的
因为:DCLK = HTotal * VTotal * Vfreq 这个公式是必须要满足的。只改一个参数不满足改公式。
于是想着还是得按照整个屏参来填,if结构是原来标准4k 屏参,else结构是当前屏参。
最初填写的屏参的时候,iCONFIG_DISP_DEN_STA_HPOS=160,iCONFIG_DISP_DEN_STA_VPOS=3
iCONFIG_DISP_DEN_END_VPOS=2163,发现无法点亮屏幕。
最后在同事指点下:一眼就看出我填的有问题:
iCONFIG_DISP_DEN_STA_HPOS = Horizontal back porch(我填成 Horizontal front porch)
iCONFIG_DISP_DEN_STA_VPOS = Vertical back porch (我填成 Vertical front porch)
之所以会填错,是我把 Horizontal front porch、Horizontal back porch、Vertical front porch、Vertical back porch搞混了
具体的情况看最下面的图。
同时,同事指明 iCONFIG_DISP_DEN_STA_VPOS 这个值非常重要,不能填错。
#if 0
.iCONFIG_DISPLAY_CLOCK_MAX=600,
.iCONFIG_DISPLAY_CLOCK_MIN=590,
.iCONFIG_DISPLAY_REFRESH_RATE=60,
.iCONFIG_DISPLAY_CLOCK_TYPICAL=594*1000000,
.iCONFIG_DISP_HORIZONTAL_TOTAL=4400,
.iCONFIG_DISP_VERTICAL_TOTAL=2250,
#else
.iCONFIG_DISPLAY_CLOCK_MAX=548,
.iCONFIG_DISPLAY_CLOCK_MIN=520,
.iCONFIG_DISPLAY_REFRESH_RATE=60,
.iCONFIG_DISPLAY_CLOCK_TYPICAL=53328*10000,
.iCONFIG_DISP_HORIZONTAL_TOTAL=4000,
.iCONFIG_DISP_VERTICAL_TOTAL=2222,#endif
#if 0
.iCONFIG_DISP_HSYNC_WIDTH=15,
.iCONFIG_DISP_VSYNC_LENGTH=5,
.iCONFIG_DISP_DEN_STA_HPOS=280,
.iCONFIG_DISP_DEN_END_HPOS=4120,
.iCONFIG_DISP_DEN_STA_VPOS=45,
.iCONFIG_DISP_DEN_END_VPOS=2205,
#else
.iCONFIG_DISP_HSYNC_WIDTH=32,
.iCONFIG_DISP_VSYNC_LENGTH=5,
.iCONFIG_DISP_DEN_STA_HPOS=80, //160
.iCONFIG_DISP_DEN_END_HPOS=3920,
.iCONFIG_DISP_DEN_STA_VPOS=54, //3
.iCONFIG_DISP_DEN_END_VPOS=2214,//3+2160
#endif#if 0
.iCONFIG_DISP_HSYNC_LASTLINE=4400,
#else
.iCONFIG_DISP_HSYNC_LASTLINE=3999,
#endif
后遗症
按照标准屏参填好之后,发现会闪屏,猜测这个闪屏应该和VPOS有关。
于是尝试将iCONFIG_DISP_DEN_END_VPOS在原来的基础上+1(2214+1=2215),闪屏的现象消失。
但是没有理论依据,还得请教一下同事,同事看上去已经下班了.....