[MTK] MT6589 DSI Video Mode的屏,加入ESD机制后每隔2S会闪一下屏(情形一)

 

[DESCRIPTION]
         MT6589 DSI Video Mode的屏,加入ESD机制后每隔2S会闪一下屏,但是把MIPI clock改为
   continuous clock则不会闪屏。 则属于这种情况,可以按照以下方法进行修改。
 
        以SSD2075为例:
  Root cause:  SSD2075 IC内的电压DVDDH由MIPI clock generate形成。
   MIPI clock一旦停掉,DVDDH就会drop,理论上就会有闪屏。 但是如果MIPI clock停掉的时间较短
   的话,这个闪屏是不会被人眼所察觉到。
 
  

[SOLUTION]
 解决思路:当读寄存器的时候,让MIPI clock保持HS 状态。
读完之后再把MIPI clock切到LP的bit 位置位 

具体修改方法如下:
  在alps/m ediat ek/k ern el/driv ers/vid eo/disp_drv.c中
 (1) 添加下面一行定义
   static PDSI_R EGS const DSI_R EG = (PDSI_R EGS)(DSI_BAS E); //add by mtk

 (2) 在DISP_ ESDCh eck()函数中添加几行,红色标记
  BOOL DISP_ EsdCh eck(void)
{
    BOOL r esult = FALS E;
         
    DSI_TXRX_CTRL_REG tmp_reg;               //add by mtk
    tmp_reg=DSI_REG->DSI_TXRX_CTRL;         //add by mtk
     tmp_reg.HSTX_CKLP_EN = 0;                //add by mtk
     DSI_clk_HS_mode(1);                      //add by mtk
         
    disp_drv_init_cont ext();
    MMProfil eLog Ex(MTKFB_MMP_ Ev ents. EsdCh eck, MMProfil eFlagPuls e, 0x10, 0);
    if(lcm_drv-> esd_ch eck == NULL && disp_drv-> esd_ch eck == NULL)
    {
        r eturn FALS E;
    }
    if (down_int erruptibl e(&s em_updat e_scr e en)) {
        printk(" ERROR: Can't g et s em_updat e_scr e en in DISP_ EsdCh eck()\n");
        r eturn FALS E;
    }
    MMProfil eLog Ex(MTKFB_MMP_ Ev ents. EsdCh eck, MMProfil eFlagPuls e, 0x11, 0);
    if(is_lcm_in_susp end_mod e)
    {
        up(&s em_updat e_scr e en);
        r eturn FALS E;
    }
         if(disp_drv-> esd_ch eck)
                   r esult |= disp_drv-> esd_ch eck();
         
         
    MMProfil eLog Ex(MTKFB_MMP_ Ev ents. EsdCh eck, MMProfil eFlagPuls e, 0x12, 0);
#ifnd ef MT65XX_N EW_DISP
    LCD_CH ECK_R ET(LCD_WaitForNotBusy());
    if(lcm_params->typ e==LCM_TYP E_DSI)
        DSI_CH ECK_R ET(DSI_WaitForNotBusy());
         if(lcm_drv-> esd_ch eck)
    {
        mut ex_lock(&LcmCmdMut ex);
                   r esult |= lcm_drv-> esd_ch eck();
        mut ex_unlock(&LcmCmdMut ex);
    }
# endif
    up(&s em_updat e_scr e en);
       tmp_reg.HSTX_CKLP_EN = 1;            //add by mtk
    r eturn r esult;
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值