Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

TDA2HG: 【YVU Displayout with UB933】

$
0
0

Part Number: TDA2HG

Hi:

Here is the configuration that we display out the yuv via UB933 with UB964

usecase

DispDistSrc_weston -> Display_m4(lcd2)

Capture_dsswb ->Display_yuv422(lcd1 DPI1)

displayType = CHAINS_DISPLAY_TYPE_LCD_10_INCH

Void ChainsCommon_SetDctrlConfig(
                                DisplayCtrlLink_ConfigParams *pPrm,
                                DisplayCtrlLink_OvlyParams *ovlyPrms,
                                DisplayCtrlLink_OvlyPipeParams *pipeOvlyPrms,
                                UInt32 displayType,
                                UInt32 displayWidth,
                                UInt32 displayHeight)
{
    DisplayCtrlLink_VencInfo *pVInfo;

    pPrm->numVencs = 2;
    pPrm->tiedVencs = 0;

    pVInfo = &pPrm->vencInfo[0];

   // pVInfo->tdmMode = DISPLAYCTRL_LINK_TDM_DISABLE;
    pVInfo->tdmMode = DISPLAYCTRL_LINK_TDM_24BIT_TO_8BIT;
    if(displayType == CHAINS_DISPLAY_TYPE_LCD_7_INCH)
    {
        pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
        pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1;
        pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI1_OUTPUT;
        pVInfo->vencOutputInfo.vsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.hsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;

        /* Below are of dont care for EVM LCD */
        pVInfo->vencOutputInfo.fidPolarity      =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.actVidPolarity   =   SYSTEM_DCTRL_POLARITY_ACT_LOW;

        pVInfo->mInfo.standard                  =   SYSTEM_STD_CUSTOM;
        pVInfo->mInfo.width                     =   displayWidth;
        pVInfo->mInfo.height                    =   displayHeight;
        pVInfo->mInfo.scanFormat                =   SYSTEM_SF_PROGRESSIVE;
        pVInfo->mInfo.pixelClock                =   29232u;
        pVInfo->mInfo.fps                       =   60U;
        pVInfo->mInfo.hFrontPorch               =   40u;
        pVInfo->mInfo.hBackPorch                =   40u;
        pVInfo->mInfo.hSyncLen                  =   48u;
        pVInfo->mInfo.vFrontPorch               =   13u;
        pVInfo->mInfo.vBackPorch                =   29u;
        pVInfo->mInfo.vSyncLen                  =   3u;
        pVInfo->vencDivisorInfo.divisorLCD      =   1;
        pVInfo->vencDivisorInfo.divisorPCD      =   4;

        pVInfo->vencOutputInfo.dataFormat       =   SYSTEM_DF_RGB24_888;
        pVInfo->vencOutputInfo.dvoFormat        =
                                    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
        pVInfo->vencOutputInfo.videoIfWidth     =   SYSTEM_VIFW_24BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.aFmt             =   SYSTEM_DCTRL_A_OUTPUT_MAX;

        /* Configure overlay params */

        ovlyPrms->vencId                       = SYSTEM_DCTRL_DSS_VENC_LCD1;
    }
    else if(displayType == CHAINS_DISPLAY_TYPE_LCD_10_INCH)
    {
        pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
        pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1;
        pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI1_OUTPUT;
        pVInfo->vencOutputInfo.vsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.hsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;

        /* Below are of dont care for EVM LCD */
        pVInfo->vencOutputInfo.fidPolarity      =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.actVidPolarity   =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        pVInfo->mInfo.standard                  =   SYSTEM_STD_CUSTOM;
        pVInfo->mInfo.width                     =   displayWidth;
        pVInfo->mInfo.height                    =   displayHeight;
        pVInfo->mInfo.scanFormat                =   SYSTEM_SF_PROGRESSIVE;
        pVInfo->mInfo.pixelClock                =   55296U;
        pVInfo->mInfo.fps                       =   30U;
        pVInfo->mInfo.hBackPorch                =   80U;
        pVInfo->mInfo.hSyncLen                  =   62U;
        pVInfo->mInfo.hFrontPorch               =   48U;
        pVInfo->mInfo.vBackPorch                =   12U;
        pVInfo->mInfo.vSyncLen                  =   35U;
        pVInfo->mInfo.vFrontPorch               =   6U;
        pVInfo->vencDivisorInfo.divisorLCD      =   1;
        pVInfo->vencDivisorInfo.divisorPCD      =   1;

        pVInfo->vencOutputInfo.dataFormat       =   SYSTEM_DF_BGR16_565;
        pVInfo->vencOutputInfo.dvoFormat        =
                                    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
        pVInfo->vencOutputInfo.videoIfWidth     =   SYSTEM_VIFW_16BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.aFmt             =   SYSTEM_DCTRL_A_OUTPUT_MAX;

        /* Configure overlay params */

        ovlyPrms->vencId                       =  pVInfo->vencId;
    }
    else if (displayType ==
        CHAINS_DISPLAY_TYPE_LDC_10_INCH_LCDCTRL_TC358778_MIPI_DSI_1920_1200)
    {
        pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
        pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1;
        pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI1_OUTPUT;
        pVInfo->vencOutputInfo.vsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.hsPolarity    =   SYSTEM_DCTRL_POLARITY_ACT_LOW;

        /* Below are of dont care for EVM LCD */
        pVInfo->vencOutputInfo.fidPolarity      =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.actVidPolarity   =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        pVInfo->mInfo.standard                  =   SYSTEM_STD_CUSTOM;
        pVInfo->mInfo.width                     =   displayWidth;
        pVInfo->mInfo.height                    =   displayHeight;
        pVInfo->mInfo.scanFormat                =   SYSTEM_SF_PROGRESSIVE;
        pVInfo->mInfo.pixelClock                =   147000U;
        pVInfo->mInfo.fps                       =   60U;
        pVInfo->mInfo.hBackPorch                =   32U;
        pVInfo->mInfo.hSyncLen                  =   16U;
        pVInfo->mInfo.hFrontPorch               =   32U;
        pVInfo->mInfo.vBackPorch                =   16U;
        pVInfo->mInfo.vSyncLen                  =   2U;
        pVInfo->mInfo.vFrontPorch               =   7U;
        pVInfo->vencDivisorInfo.divisorLCD      =   1;
        pVInfo->vencDivisorInfo.divisorPCD      =   1;

        pVInfo->vencOutputInfo.dataFormat       =   SYSTEM_DF_RGB24_888;
        pVInfo->vencOutputInfo.dvoFormat        =
                                    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
        pVInfo->vencOutputInfo.videoIfWidth     =   SYSTEM_VIFW_24BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.aFmt             =   SYSTEM_DCTRL_A_OUTPUT_MAX;

        /* Configure overlay params */

        ovlyPrms->vencId                       = SYSTEM_DCTRL_DSS_VENC_LCD1;
    }
    else if(displayType == CHAINS_DISPLAY_TYPE_HDMI_720P
            || displayType == CHAINS_DISPLAY_TYPE_HDMI_1080P)
    {
        pPrm->deviceId = DISPLAYCTRL_LINK_USE_HDMI;
        pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_HDMI;
        pVInfo->outputPort = SYSTEM_DCTRL_DSS_HDMI_OUTPUT;
        pVInfo->vencOutputInfo.vsPolarity       =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.hsPolarity       =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        /* Below are of dont care for EVM LCD */
        pVInfo->vencOutputInfo.fidPolarity      =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.actVidPolarity   =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        pVInfo->vencOutputInfo.dataFormat       =   SYSTEM_DF_RGB24_888;
        pVInfo->vencOutputInfo.dvoFormat        =
                                    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
        pVInfo->vencOutputInfo.videoIfWidth     =   SYSTEM_VIFW_24BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.aFmt             =   SYSTEM_DCTRL_A_OUTPUT_MAX;

        /* Configure overlay params */

        ovlyPrms->vencId                        = pVInfo->vencId;
    }
    else if(displayType == CHAINS_DISPLAY_TYPE_FPD)
    {
        pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
        pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD3;
        pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI3_OUTPUT;
        pVInfo->mInfo.width                     =   displayWidth;
        pVInfo->mInfo.height                    =   displayHeight;
        pVInfo->mInfo.pixelClock                =   74250;
        pVInfo->mInfo.fps                       =   60U;
        pVInfo->mInfo.hBackPorch                =   148U;
        pVInfo->mInfo.hSyncLen                  =   44U;
        pVInfo->mInfo.hFrontPorch               =   88U;
        pVInfo->mInfo.vBackPorch                =   15U;
        pVInfo->mInfo.vSyncLen                  =   5U;
        pVInfo->mInfo.vFrontPorch               =   2U;
        pVInfo->vencDivisorInfo.divisorLCD      =   1;
        pVInfo->vencDivisorInfo.divisorPCD      =   1;
        pVInfo->vencOutputInfo.vsPolarity       =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.hsPolarity       =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        /* Below are of dont care for EVM LCD */
        pVInfo->vencOutputInfo.fidPolarity      =   SYSTEM_DCTRL_POLARITY_ACT_LOW;
        pVInfo->vencOutputInfo.actVidPolarity   =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;

        pVInfo->vencOutputInfo.dataFormat       =   SYSTEM_DF_RGB24_888;
        pVInfo->vencOutputInfo.dvoFormat        =
                                    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
        pVInfo->vencOutputInfo.videoIfWidth     =   SYSTEM_VIFW_24BIT;

        pVInfo->vencOutputInfo.pixelClkPolarity =   SYSTEM_DCTRL_POLARITY_ACT_HIGH;
        pVInfo->vencOutputInfo.aFmt             =   SYSTEM_DCTRL_A_OUTPUT_MAX;

        /* Configure overlay params */

        ovlyPrms->vencId                        = pVInfo->vencId;
    }
    else
    {
        OSA_assert(0);
    }

    if(displayType == CHAINS_DISPLAY_TYPE_HDMI_720P)
    {
        pVInfo->mInfo.standard                  =   SYSTEM_STD_720P_60;
    }
    else if (displayType == CHAINS_DISPLAY_TYPE_HDMI_1080P)
    {
        pVInfo->mInfo.standard                  =   SYSTEM_STD_1080P_30;	//SYSTEM_STD_1080P_60
    }
    else if (displayType == CHAINS_DISPLAY_TYPE_FPD)
    {
        pVInfo->mInfo.standard                  =   SYSTEM_STD_720P_60;
    }

    /* TODO Dont know what to set here */
    pVInfo->mode = 0;
    pVInfo->isInputPipeConnected[0] =
                    TRUE;
    pVInfo->isInputPipeConnected[1] =
                    FALSE;
    pVInfo->isInputPipeConnected[2] =
                    FALSE;
    pVInfo->isInputPipeConnected[3] =
                    FALSE;
    pVInfo->writeBackEnabledFlag = FALSE;


    /* Setting other overlay parameters common to both Venc */

    ovlyPrms->deltaLinesPerPanel   = 0;
    ovlyPrms->alphaBlenderEnable   = 0;
    ovlyPrms->backGroundColor      = 0x10;
    ovlyPrms->colorKeyEnable       = 0;
    ovlyPrms->colorKeySel          = SYSTEM_DSS_DISPC_TRANS_COLOR_KEY_SRC;
    ovlyPrms->ovlyOptimization     = SYSTEM_DSS_DISPC_OVLY_FETCH_ALLDATA;
    ovlyPrms->transColorKey        = DRAW2D_TRANSPARENT_COLOR;

    /* Setting overlay pipe parameters */

    pipeOvlyPrms[0].pipeLine = SYSTEM_DSS_DISPC_PIPE_VID1;
    pipeOvlyPrms[0].globalAlpha = 0xFF;
    pipeOvlyPrms[0].preMultiplyAlpha = 0;
    pipeOvlyPrms[0].zorderEnable = TRUE;
    pipeOvlyPrms[0].zorder = SYSTEM_DSS_DISPC_ZORDER0;

    pipeOvlyPrms[1].pipeLine = SYSTEM_DSS_DISPC_PIPE_VID2;
    pipeOvlyPrms[1].globalAlpha = 0xFF;
    pipeOvlyPrms[1].preMultiplyAlpha = 0;
    pipeOvlyPrms[1].zorderEnable = TRUE;
    pipeOvlyPrms[1].zorder = SYSTEM_DSS_DISPC_ZORDER1;

    pipeOvlyPrms[2].pipeLine = SYSTEM_DSS_DISPC_PIPE_VID3;
    pipeOvlyPrms[2].globalAlpha = 0xFF;
    pipeOvlyPrms[2].preMultiplyAlpha = 0;
    pipeOvlyPrms[2].zorderEnable = TRUE;
    pipeOvlyPrms[2].zorder = SYSTEM_DSS_DISPC_ZORDER2;

    pipeOvlyPrms[3].pipeLine = SYSTEM_DSS_DISPC_PIPE_GFX1;
    pipeOvlyPrms[3].globalAlpha = 0xFF;
    pipeOvlyPrms[3].preMultiplyAlpha = 0;
    pipeOvlyPrms[3].zorderEnable = TRUE;
    pipeOvlyPrms[3].zorder = SYSTEM_DSS_DISPC_ZORDER3;

#if 1
   // SECOND 
    pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
    pVInfo = &pPrm->vencInfo[1];
    pVInfo->tdmMode = FALSE;
    pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD2;
    pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI2_OUTPUT;
    pVInfo->vencOutputInfo.vsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;
    pVInfo->vencOutputInfo.hsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;

    /* Below are of dont care for EVM LCD */
    pVInfo->vencOutputInfo.fidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH;
    pVInfo->vencOutputInfo.actVidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH;

    pVInfo->mInfo.standard = SYSTEM_STD_CUSTOM;
    pVInfo->mInfo.scanFormat = SYSTEM_SF_PROGRESSIVE;
    pVInfo->mInfo.width = displayWidth;
    pVInfo->mInfo.height = displayHeight;

    if(displayType == CHAINS_DISPLAY_TYPE_LCD_7_INCH)
    {
    pVInfo->mInfo.pixelClock = 29232u;
    pVInfo->mInfo.fps = 60U;
    pVInfo->mInfo.hFrontPorch = 40u;
    pVInfo->mInfo.hBackPorch = 40u;
    pVInfo->mInfo.hSyncLen = 48u;
    pVInfo->mInfo.vFrontPorch = 13u;
    pVInfo->mInfo.vBackPorch = 29u;
    pVInfo->mInfo.vSyncLen = 3u;
    pVInfo->vencDivisorInfo.divisorLCD = 1;
    pVInfo->vencDivisorInfo.divisorPCD = 4;
    }
    else if(displayType == CHAINS_DISPLAY_TYPE_LCD_10_INCH)
    {
    pVInfo->mInfo.pixelClock = 74500U;
    pVInfo->mInfo.fps = 60U;
    pVInfo->mInfo.hBackPorch = 20U;//20U80
    pVInfo->mInfo.hSyncLen = 62U;
    pVInfo->mInfo.hFrontPorch = 20U;//20U48
    pVInfo->mInfo.vBackPorch = 12U;
    pVInfo->mInfo.vSyncLen = 35U;
    pVInfo->mInfo.vFrontPorch = 6U;
    pVInfo->vencDivisorInfo.divisorLCD = 1;
    pVInfo->vencDivisorInfo.divisorPCD = 1;
    }
    else if (displayType ==
    CHAINS_DISPLAY_TYPE_LDC_10_INCH_LCDCTRL_TC358778_MIPI_DSI_1920_1200)
    {
    pVInfo->mInfo.pixelClock = 147000U;
    pVInfo->mInfo.fps = 60U;
    pVInfo->mInfo.hBackPorch = 30U;
    pVInfo->mInfo.hSyncLen = 16U;
    pVInfo->mInfo.hFrontPorch = 32U;
    pVInfo->mInfo.vBackPorch = 16U;
    pVInfo->mInfo.vSyncLen = 2U;
    pVInfo->mInfo.vFrontPorch = 7U;
    pVInfo->vencDivisorInfo.divisorLCD = 1;
    pVInfo->vencDivisorInfo.divisorPCD = 1;
    }
    else if (displayType == CHAINS_DISPLAY_TYPE_FPD)
    {
    pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD;
    pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD3;
    pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI3_OUTPUT;
    pVInfo->mInfo.width = displayWidth;
    pVInfo->mInfo.height = displayHeight;
    pVInfo->mInfo.pixelClock = 69300; /* modified as per panel-tlc59108.c form linux*/
    pVInfo->mInfo.fps = 60U;
    pVInfo->mInfo.hBackPorch = 44U;
    pVInfo->mInfo.hSyncLen = 32U;
    pVInfo->mInfo.hFrontPorch = 48U;
    pVInfo->mInfo.vBackPorch = 12U;
    pVInfo->mInfo.vSyncLen = 7U;
    pVInfo->mInfo.vFrontPorch = 4U;
    pVInfo->vencDivisorInfo.divisorLCD = 1;
    pVInfo->vencDivisorInfo.divisorPCD = 1;
    pVInfo->vencOutputInfo.vsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;
    pVInfo->vencOutputInfo.hsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;

    /* Below are of dont care for EVM LCD */
    pVInfo->vencOutputInfo.fidPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;
    pVInfo->vencOutputInfo.actVidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH;

    pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_RGB24_888;
    pVInfo->vencOutputInfo.dvoFormat =
    SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
    pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_24BIT;

    pVInfo->vencOutputInfo.pixelClkPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH;
    pVInfo->vencOutputInfo.aFmt = SYSTEM_DCTRL_A_OUTPUT_MAX;

    /* Configure overlay params */
    DisplayCtrlLink_OvlyParams *pOvlyPrms = &ovlyPrms[1];
    pOvlyPrms->vencId = pVInfo->vencId;
    pOvlyPrms->deltaLinesPerPanel = 0;
    pOvlyPrms->alphaBlenderEnable = 0;
    pOvlyPrms->backGroundColor = 0x10;
    pOvlyPrms->colorKeyEnable = 1;
    pOvlyPrms->colorKeySel = SYSTEM_DSS_DISPC_TRANS_COLOR_KEY_SRC;
    pOvlyPrms->ovlyOptimization = SYSTEM_DSS_DISPC_OVLY_FETCH_ALLDATA;
    pOvlyPrms->transColorKey = DRAW2D_TRANSPARENT_COLOR;
    }
    else
    {
    UTILS_assert(NULL);
    }
    /* Configure LCD overlay params */
    pVInfo->mode = 0;
    pVInfo->isInputPipeConnected[0] = FALSE;
    pVInfo->isInputPipeConnected[1] = TRUE;
    pVInfo->isInputPipeConnected[2] = TRUE;
    pVInfo->isInputPipeConnected[3] = TRUE;
    pVInfo->writeBackEnabledFlag = TRUE;



    pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_RGB24_888;
    pVInfo->vencOutputInfo.dvoFormat = SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC;
    pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_24BIT;

    pVInfo->vencOutputInfo.pixelClkPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW;
    pVInfo->vencOutputInfo.aFmt = SYSTEM_DCTRL_A_OUTPUT_MAX;
#if 0


    if(displayType != CHAINS_DISPLAY_TYPE_FPD)
    {
    DisplayCtrlLink_OvlyParams *pOvlyPrms = &ovlyPrms[1];
    pOvlyPrms->vencId = pVInfo->vencId;
    pOvlyPrms->deltaLinesPerPanel = 0;
    pOvlyPrms->alphaBlenderEnable = 0;
    pOvlyPrms->backGroundColor = 0x10;
    pOvlyPrms->colorKeyEnable = 0;
    pOvlyPrms->colorKeySel = SYSTEM_DSS_DISPC_TRANS_COLOR_KEY_SRC;
    pOvlyPrms->ovlyOptimization = SYSTEM_DSS_DISPC_OVLY_FETCH_ALLDATA;
    pOvlyPrms->transColorKey = DRAW2D_TRANSPARENT_COLOR;
    }

  
    /* Setting HDMI overlay pipe parameters */
    DisplayCtrlLink_OvlyPipeParams *pPipeOvlyPrms = &gChains_commonObj.pipeParams[0];
    pPipeOvlyPrms->pipeLine = SYSTEM_DSS_DISPC_PIPE_VID1;
    pPipeOvlyPrms->globalAlpha = 0xFF;
    pPipeOvlyPrms->preMultiplyAlpha = 0;
    pPipeOvlyPrms->zorderEnable = TRUE;
    pPipeOvlyPrms->zorder = SYSTEM_DSS_DISPC_ZORDER0;

    /* Setting LCD overlay pipe parameters */
    pPipeOvlyPrms = &gChains_commonObj.pipeParams[1];
    pPipeOvlyPrms->pipeLine = SYSTEM_DSS_DISPC_PIPE_VID2;
    pPipeOvlyPrms->globalAlpha = 0xFF;
    pPipeOvlyPrms->preMultiplyAlpha = 0;
    pPipeOvlyPrms->zorderEnable = TRUE;
    pPipeOvlyPrms->zorder = SYSTEM_DSS_DISPC_ZORDER1;

    /* Setting PIP overlay pipe parameters on LCD */
    pPipeOvlyPrms = &gChains_commonObj.pipeParams[2];
    pPipeOvlyPrms->pipeLine = SYSTEM_DSS_DISPC_PIPE_VID3;
    pPipeOvlyPrms->globalAlpha = 0xFF;
    pPipeOvlyPrms->preMultiplyAlpha = 0;
    pPipeOvlyPrms->zorderEnable = TRUE;
    pPipeOvlyPrms->zorder = SYSTEM_DSS_DISPC_ZORDER2;

    /* Configure graphics overlay for HDMI */
    pPipeOvlyPrms = &gChains_commonObj.pipeParams[3];
    pPipeOvlyPrms->pipeLine = SYSTEM_DSS_DISPC_PIPE_GFX1;
    pPipeOvlyPrms->globalAlpha = 0xFF;
    pPipeOvlyPrms->preMultiplyAlpha = 0;
    pPipeOvlyPrms->zorderEnable = TRUE;
    pPipeOvlyPrms->zorder = SYSTEM_DSS_DISPC_ZORDER3;
    #endif
    #endif


}


The log
 [HOST] [IPU2  ]     29.712316 s:  DISPLAYCTRL: Create in progress !!!
 [HOST] [IPU2  ]     29.712499 s:  DISPLAYCTRL: Create Done !!!
 [HOST] [IPU2  ]     29.712865 s:  DISPLAYCTRL: Set config in progress !!!
 [HOST] [IPU2  ]     29.712956 s:  DISPLAYCTRL: Enabled Video PLL for LCD !!!
 [HOST] [IPU2  ]     29.780851 s:  DisplayCtrlLink_config : SYSTEM_DCTRL_DSS_VENC_LCD1 pixel clock 55296 !!!
 [HOST] [IPU2  ]     29.781004 s:  DISPLAYCTRL: Enabled Video PLL for LCD !!!
 [HOST] [IPU2  ]     29.848868 s:  DisplayCtrlLink_config : SYSTEM_DCTRL_DSS_VENC_LCD2 pixel clock 74500 !!!
 [HOST] [IPU2  ]     29.849234 s:  DISPLAYCTRL: Set overlay params in progress !!!
 [HOST] [IPU2  ]     29.849325 s:  DISPLAYCTRL: Set overlay params Done !!!
 [HOST] [IPU2  ]     29.849386 s:  DISPLAYCTRL: Set overlay params in progress !!!
 [HOST] [IPU2  ]     29.849478 s:  DISPLAYCTRL: Set overlay params Done !!!
 [HOST] [IPU2  ]     29.849539 s:  DISPLAYCTRL: Set overlay pipeline params in progress !!!
 [HOST] [IPU2  ]     29.849630 s:  DISPLAYCTRL: Set overlay pipeline params Done !!!
 [HOST] [IPU2  ]     29.849752 s:  DISPLAYCTRL: Set overlay pipeline params in progress !!!
 [HOST] [IPU2  ]     29.849844 s:  DISPLAYCTRL: Set overlay pipeline params Done !!!
 [HOST] [IPU2  ]     29.849935 s:  DISPLAYCTRL: Set overlay pipeline params in progress !!!
 [HOST] [IPU2  ]     29.850027 s:  DISPLAYCTRL: Set overlay pipeline params Done !!!
 [HOST] [IPU2  ]     29.850088 s:  DISPLAYCTRL: Set overlay pipeline params in progress !!!

Question:

  •  how to set the pixclock here (1280*720 @ 30fps) we see document that pixelclock= 1280*720*30*2 = 55296K HZ
  • why the vout1_clk output is 74250 KHZ, that mean the LCD2 is connected to VOUT1_CLK.

           omapconf read 0x58000040  (DSS_CTRL) is 00011001


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>