This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Image sensor and tv out

Other Parts Discussed in Thread: TVP5158

Hi everyone

We have customized board, base on DM385, M3 is running IPNC MCFW 3.5 firmware

image sensor is sony imx104, I am modifing the demo multich_capturedisplay.c in 

RDK3.5\Source\ipnc_rdk\ipnc_mcfw\mcfw\src_linux\mcfw_api\usecases.

//--------------------------------------------------------------------------------------

/* Camera Link params */
CameraLink_CreateParams_Init(&cameraPrm);
cameraPrm.captureMode = CAMERA_LINK_CAPMODE_ISIF;
cameraPrm.outQueParams[0].nextLink = dupId[HDMIDIS_DUP_IDX] ;
cameraPrm.outQueParams[1].nextLink = dupId[TVOUT_DUP_IDX];
/* This is for TVP5158 Audio Channels - Change it to 16 if there are 16
* audio channels connected in cascade */
cameraPrm.numAudioChannels = 0;
cameraPrm.numVipInst = 1;
cameraPrm.tilerEnable = FALSE;

cameraPrm.vsEnable = 0;
pCameraInstPrm = &cameraPrm.vipInst[0];
pCameraInstPrm->vipInstId = SYSTEM_CAMERA_INST_VP_CSI2;
pCameraInstPrm->videoDecoderId = MultiCh_getSensorId(gUI_mcfw_config.sensorId);
pCameraInstPrm->inDataFormat = SYSTEM_DF_BAYER_RAW;
pCameraInstPrm->sensorOutWidth = 1280;
pCameraInstPrm->sensorOutHeight = 720;
#ifdef YUV_FRAMES_TO_A8
pCameraInstPrm->standard = SYSTEM_STD_1080P_30;
#else
pCameraInstPrm->standard = SYSTEM_STD_720P_60; //SYSTEM_STD_1080P_60;
#endif
pCameraInstPrm->numOutput = 2;

/* First stream */
pCameraOutPrm = &pCameraInstPrm->outParams[0];
pCameraOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
pCameraOutPrm->scEnable = FALSE;
pCameraOutPrm->scOutWidth = 1280;
pCameraOutPrm->scOutHeight = 720;
pCameraOutPrm->outQueId = 0;

/* Second stream */
pCameraOutPrm = &pCameraInstPrm->outParams[1];
pCameraOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
pCameraOutPrm->scEnable = FALSE;
pCameraOutPrm->scOutWidth = 720;
pCameraOutPrm->scOutHeight = 480;
pCameraOutPrm->standard = SYSTEM_STD_NTSC;//SYSTEM_STD_PAL;
pCameraOutPrm->outQueId = 1;

but tv out link below:

I try change color pattern of ISS register (IPIPE_SRC_COL 0x5C01 080C) 

---------------------------------
| EE = R    | EO =  Gr |
---------------------------------
| OE = Gb  | OO =  B  |
----------------------------------

my question is :

1. the color is wrong

2. Missing part of the display positions

how can I do ? or have any idea ? 

thank you very much.

  • Hi vic Lin,

    1. You need to correct your ISIF CCOLP along with ipipe CCOLP.
    2. If I remember correctly, CCOLP values for IMX104 is 0xE4. Any ways, please have a look at color pattern support of IMX104 and derive correct value.
  • Hi Ravikiran hv

    Thank you very much for your reply.

    I modify the ISS Source file, it's normal work!

    ti_tools/iss_03_50_00_00/packages/ti/psp/iss/drivers/capture/src/issdrv_captureApi.c

    gIss_captCommonObj.pIssConfig->eColorPattern = MSP_IPIPE_BAYER_PATTERN_RGGB;

    ti_tools/iss_03_50_00_00/packages/ti/psp/iss/core/src/iss_drv_isif.c

    cfg->src_cfg->vd_pol = ISIF_NEGATIVE_POLARITY;

    cfg->src_cfg->hd_pol = ISIF_POSITIVE_POLARITY;