Disp & Panel Q&A

Q1: bootlogo在uboot阶段不亮,kernel起来时会亮一下

kernel下面能亮说明bootlogo屏参是好的,问题原因一般是bootlogo的padmux没有切对,kernel下面的padmux是对的。

需要在boot/drivers/mstar/panel/hal/infinity2m/src/hal_pnl.c的HalPnlSetTTLPadMux检查pad是不是对的:

void HalPnlSetTTLPadMux(HalPnlOutputFormatBitMode_e enFmt)
{
    if(enFmt == E_HAL_PNL_OUTPUT_565BIT_MODE)
    {
        W2BYTEMSK(REG_CHIPTOP_0D_L,0x0D00,0x0F00); // TTL Mode = 13  如果是ttlmode10,0x0D00改成0x0A00
    }
    else if(enFmt == E_HAL_PNL_OUTPUT_8BIT_MODE)
    {
        W2BYTEMSK(REG_CHIPTOP_0D_L,0x0100,0x0F00); // TTL Mode = 1
    }
}

Q2: 如何打开bootlogo无缝连接到app UI?

在启动UI应用之前,先 echo 1 > /sys/class/mstar/mdisp/bootlogo

Q3: 打开bootlogo无缝连接之后,此一次从UI切到视频播放的时候出现的绿色花屏现象怎么解决?

UI切换到video之前先做MI_DISP_EnableInputPort(0, 0);的操作,然后在UI show出来期间call MI_DISP_ClearInputPortBuffer(0,0,1);接口可清掉绿色花屏的buf为黑色

Q4:更新bootlogo无缝连接的commit之后,kernel起来后bootlogo大小突变的原因?

该现象是bootlogo设置的inputport的宽高跟应用下调用MI_DISP_SetInputPortAttr设置的宽高不一致导致

Q5: 如何解决因与bootlogo的input port设置不一致导致的画面突变现象?

应用起来后只是show UI,若担心设置的inputport不一致,可以不调用MI_DISP_SetInputPortAttr接口重设inputport宽高。

等到需要播放视频的时候再进行设置(有UI遮挡的时候做重置input port接口操作)

Q6: 没有bootlogo的情况下,kernel起来后call fb相关接口绘制UI,出现接口堵塞无返回?

参考公布是star_disp_init接口做法,需要call到:MI_DISP_EnableVideoLayer 接口打开MOP clk,打开fb参考clk

Q7: 使用个别屏参,出现FB接口堵塞卡死无返回?

请确认使用的屏参参数:Vstart = Vbp + VsyncWidth + VsyncStart 按照屏参填的数值计算,VsyncStart不能是负值 (H方向同样)