Disp & Panel Q&A

Q1: How to open bootlogo and connect to UI APP smoothly?

echo 1> /sys/class/mstar/mdisp/bootlogo before starting the UI app

Q2: From which version to support Q1?

TAKOYAKI_DLC01V030.

Q3: Based on Q1, how to solve the green screen when switching from UI to video?

Do MI_DISP_EnableInputPort(0, 0); before switching; then call MI_DISP_ClearInputPortBuffer(0,0,1); during switching to clear the buf of the green screen to black.

Take zkgui as an example, when displaying the main interface, add MI_DISP_EnableInputPort(0, 0); MI_DISP_ClearInputPortBuffer(0, 0, TRUE);to clear the picture of video layer in the onUI_init() of mainlog.cc.

Q4:After enabling the smooth connection of bootlogo to the APP, what is the reason for the sudden change of the bootlogo size after the kernel is running?

The width and height of inputport set by bootlogo are not consistent with MI_DISP_SetInputPortAttr called by app.

Q5: How to solve Q4?

Do not call MI_DISP_SetInputPortAttr interface to reset the width and height of inputport when you just show UI. And set it when you need to play the video. (reset the input port interface when the UI is blocked)

Q6: When there is no bootlogo, after the kernel is running, call FB related interface to draw UI, why is the interface blocked and there is no return?

The current reference is star_disp_init: call MI_DISP_EnableVideoLayer to open MOP clk; please refer to clk to open FB.

Q7: Why is the FB interface blocked and no return when using individual screen parameters?

Please confirm the screen parameter used: Vstart = Vbp + VsyncWidth + VsyncStart, calculated according to the value filled in the screen parameter, VsyncStart cannot be a negative value (the same in the H direction).

Q8: Vdec bind disp can rotate 90°/270° when playing video. Why does it report an error when rotated 180° ("GFX Moudle is NOT initialized")?

Disp supports 90°/270° rotation, but does not support 180° rotation. The way of 180° rotation is that GFX first rotates and then puts it in disp to display, GFX reports that it is not initialized, just call MI_GFX_OPEN interface.

Q9: What is the reason for the color cast of the MIPI panel?

The width of MIPI screen parameters must be aligned with 4 pixels.

Q10:How to confirm that the MIPI signal output by the chip is normal?

This platform supports MIPI setting to 3lane output (modify screen parameters). After setting, you can see that the horizontal signal of one of the lanes is continuously output through the monochromatic pattern on the platform. (In 3lane mode, each lane corresponds to R/G/B).

Q11: The bootlogo does not display in the uboot phase, and it will be displayed when the kernel is running

It can be displayed when the kernel is running, indicating that there is no problem with the bootlogo screen parameters. The reason is generally that the padmux of bootlogo is not correct, and the padmux under the kernel is correct.

Check if the pad is correct in HalPnlSetTTLPadMux in boot/drivers/mstar/panel/hal/infinity2m/src/hal_pnl.c:

void HalPnlSetTTLPadMux(HalPnlOutputFormatBitMode_e enFmt)
{
    if(enFmt == E_HAL_PNL_OUTPUT_565BIT_MODE)
    {
        W2BYTEMSK(REG_CHIPTOP_0D_L,0x0D00,0x0F00); // TTL Mode = 13  If it is ttlmode10, change 0x0D00 to 0x0A00
    }
    else if(enFmt == E_HAL_PNL_OUTPUT_8BIT_MODE)
    {
        W2BYTEMSK(REG_CHIPTOP_0D_L,0x0100,0x0F00); // TTL Mode = 1
    }
}

Q12: The logo is displayed during the boot phase of the MIPI panel, but the panel flickers or goes black after the kernel is running.

After the kernel is running, DVFS may adjust the core voltage (adjustment range of ssd20x evaluation version: 1V-0.9V), which is also used by mipi. A few panels are more sensitive to this fluctuation. It is recommended to change the series resistance of the mipi interface from 100Ω to 22Ω To verify.

Q13: What is the reason for the black screen of the panel?

  1. Confirm that the backlight pin and reset pin of the panel are in good condition

  2. Dump fb, check if there is data: dd if=/dev/fb0 of=/xx/fb.raw, use 7yuv to open fb.raw in RGB format