背景
cpu:msm8953
屏ic:联咏nt51021
版本:安卓9.0
bug现象
屏幕出现两秒钟正常,然后图像会向上偏移2s,然后又正常,如此循环。见图:
原因分析
屏ic和平台的兼容性问题,需要更改mipi信号的clk为continueous mode。默认是no-continueous mode。
修改方法
lk阶段在屏参的配置.h文件中Lane configuration中
/*---------------------------------------------------------------------------*/
/* Lane configuration */
/*---------------------------------------------------------------------------*/
static struct lane_configuration nt51021_1080p_video_lane_config = {
4, 0, 1, 1, 1, 1, 1
};
//最后一个1,默认为0,表示non-continueous,我们改成1,表示continueous。
kernel里面比较尴尬的就是加上qcom,mdss-dsi-force-clock-lane-hs;这个配置项,但是dts获取不到。最后没办法只能强制赋值,判断force_clk_lane_hs的地址强制执行,一共修改了两个文件,三个地方。记录如下
a/android/kernel/msm-4.9/drivers/video/fbdev/msm/dsi_host_v2.c
a/android/kernel/msm-4.9/drivers/video/fbdev/msm/mdss_dsi.c