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.

TDA4VM: Is RGB888 supported/validated in CSITx example in PDK?

Part Number: TDA4VM

Hi,

We use PSDKR v7.2, and created a sensor driver to receive RGB888 colorbar which generated by our serializer(MAX97717F), it works.  [CASE 1]

Then we tried receiving RAW12 stream generated by CSITx example in PDK, it works too. [CASE 2]

But when set APP_TX_IMAGE_DT to FVID2_CSI2_DF_RGB888, and APP_TX_FRAME_BPP to 4 in csitx_transmit_test_cfg.h, we got incorrect display: [CASE 3]

We use {VX_DF_IMAGE_RGBX, 23} in CASE 1, so I tried {VX_DF_IMAGE_RGB, 23} in our sensor driver, but there is no display and FPS is 0.

I also tried setting APP_TX_FRAME_BPP to 3 in CSITx example, but got error output:

Clock Freq: TISCI_DEV_CSI_TX_IF0_ESC_CLK_CLK = 20000000Hz
Clock Freq: TISCI_DEV_CSI_TX_IF0_DPHY_TXBYTECLKHS_CL_CLK = 0Hz
Clock Freq: TISCI_DEV_CSI_TX_IF0_VBUS_CLK_CLK = 250000000Hz
Clock Freq: TISCI_DEV_CSI_TX_IF0_MAIN_CLK_CLK = 500000000Hz
CSITX_TX_APP: Sample Application - STARTS !!!
CSITX_TX_APP: Tx DF:0x24
CSITX_TX_APP: Tx BPP:0x3
CSITX_TX_APP: Tx Resolution:1920 x 1080
src/csitx_drv.c @ Line 307: Instance create failed!!!
src/csitx_drv.c @ Line 331: Create failed for given configuration
src/fvid2_drvMgr.c @ Line 759: Driver create failed!!
src/csitx_transmit_test_main.c @ Line 494: CSITX_TX_APP: Tx Create Failed!!!
src/csitx_transmit_test_main.c @ Line 291: CSITX_TX_APP: [ERROR]App_create() FAILED!!!
Sample Application - DONE !!!

So I want to confirm that is RGB888 supported/validated in CSITx example in PDK?

Thanks!

  • Hi Keelung Yang,

    Bit confused. Are you talking about CSIRX or CSITX? Because case1 and case2 look like CSIRX test case, whereas case3 is for CSITX.

    RGB888 is supported, but please note that 24bit pixel should be stored in unpacked 32bit format. 

    Regards,

    Brijesh

  • Hi Brijesh,

    Both of them, it's board to board test.

    Is it enough just change APP_TX_FRAME_BPP  &  APP_TX_IMAGE_DT in CSITx example in PDK to send RGB888 stream?

    Seems not.

  • Hi Keelung Yang,

    You could need to change data type to RGB32 (like ARGB of RGBA) and then change to BPP to 4. This should work fine.

    Regards,

    Brijesh

  • Hi Brijesh,

    I've set APP_TX_IMAGE_DT to FVID2_CSI2_DF_RGB888, and APP_TX_FRAME_BPP to 4 in csitx_transmit_test_cfg.h, and got incorrect stream on display(the snapshot is posted on top of this thread)

    Since CASE1 and CASE2 work, I focus on csitx_transmit_test app in CSITx driver example.

    After digging it, I'm confued about inFmt.dataFormat and outCsiDataType fields in Csitx_ChCfg:

    In csitx_transmit_test app, inFmt is hard-coded to FVID2_DF_BGRX32_8888, that's why CSL_REG32_WR() is used to set pixel data?

    But outCsiDataType is in FVID2_CSI2_DF_RGB888 now or FVID2_CSI2_DF_RAW12 by default, and then how CSITx driver can convert FVID2_DF_BGRX32_8888 to FVID2_CSI2_DF_RGB888 or FVID2_CSI2_DF_RAW12?

    On the other hand, according comments in drv/csitx/csitx.h, FVID2_DF_BGRX32_8888 is not even a supported pixel format:

    So what the relation between inFmt.dataFormat and outCsiDataType ? 

    Thanks!

  • Hi Brijesh,

    I searched "CSITx RGB888" in e2e forum, only 2 results I got, and one of them is this thread.

    So, is it a rare case of sending RGB888 by CSITx example in PDK from Ti's user? If yes, I dout it does validated by Ti.

    Or is it an issue of searching of e2e site?

  • Hi Keelung Yang,

    So what the relation between inFmt.dataFormat and outCsiDataType ? 

    The only usage of the dataFormat is to determine ordering of luma and chroma component for YUV422 format, as the comment says. It is not used otherwise. The format is otherwise determined from the outCsiDataType  variable only. 

    For the RGB data, as explained in the TRM, below is only format supported in the TX. So please make sure to store the data in this format. 

    Regards,

    Brijesh