MT6755 使用R63350 IC 出现唤醒概率性闪白,并导致ESD FAIL

现象描述.

手机自动灭屏后按power键或home 键点亮屏幕,概率性上方有白色的一道,还会闪两三下屏.
使用的LCM IC是:r63350, (FHD VDO)屏,附件为mtklog看看是什么原因?

dear custom:

若關閉 ESD check 對問題現象有改善

是否可以協助把 frontporch 加大測試一下

謝謝

1. 加大 vertical_frontporch
params->dsi.vertical_frontporch = 24;

hi mtk:

单独修改 params->dsi.vertical_frontporch = 24; 验证有复现到这个现象.
关闭esd check机制,目前还没测试到闪屏现象,但不太确定后面会不会出现。

这边FAE有如下疑问:因为唤醒时出现的异常, vendor有2点怀疑
1.在唤醒屏还没有正常显示图像(正常工作), esd check会不会就提前去检测屏状态了?
2.lcm_resume多久,esd check才会有检测动作 ? 能不能再延后一点开启esd 检测线程。 

dear custom:

就我們驗證其他 vendor IC 經驗

一般其他 vendor 都是提供另外其他的寄存器當作 ESD reg check

只有 RSP 只能讀 0x0A

一般 0x0A reg 都只在第一次開機確認 panel 有沒接上來使用

且就經驗了解 RSP DDIC 0x0A 所需穩定的時間特別久

若 RSP 堅持只能讀 0x0A 當作 ESD read reg check 的話

只能透過 delay 來等待 RSP DDIC reg 0x0A 穩定

但其他 vendor DDIC 並不會有這樣的限制.....

供貴司作參考 

Dear customer

內部另外討論了一個延遲 ESD check 的實驗

麻煩先把之前建議的代碼修改 (resume/suspend 函式 "在下完亮屏指令之後" 多加些 delay) 先屏蔽掉

在 disp_recovery.c 內之 primary_display_check_recovery_worker_kthread(void *data) 函式

新增如下延遲代碼試試看

謝謝


/* 1. esd check & recovery */
if (esd_check_enable) {

i = 0;/*repeat*/
do {

mdeay(100); //add by MTK

ret = primary_display_esd_check();

if (ret == 1) {
DISPERR("[ESD]esd check fail, will do esd recovery. try=%d ", i);
primary_display_esd_recovery();
recovery_done = 1;
} else
break;

} while (++i < esd_try_cnt); 

闪白屏这块可以让vendor查一下根本原因.

最终将0x11移到代码最前面,解决了此问题.这种方法有可能导致模组OTP vcom设定有可能被覆盖。

原文地址:https://www.cnblogs.com/lexuele/p/5132816.html