AnsweredAssumed Answered

I.MX6: TW8836_TVIN(BT656) ===> CSI0 (8-Bit / CSI0_DAT12 : CSI0_DAT19)

Question asked by Raju CM on Mar 28, 2015
Latest reply on Jul 6, 2016 by echo zeng

Dear All,

We are developing TVIN V4L2 Slave driver for TW8836 (Video codec Chip from I).

This VCODEC chip can output BT656 standard YCbCr (8bit) NTSC/PAL video standard.


In my schematic,

TW8836(VCODEC) ===connected===>IMx6q's CSI0 (CSI0_DAT12 : CSI0_DAT19).

It also has HSYNC & VSYNC Lines for video synchronization.


I have followed, ADV7180 as a example driver and initialized TW8836 with vendor recommended values using I2C.

I used following IOCTL callback to configure TW8836


static int ioctl_dev_init(struct v4l2_int_device *s)


    int ret;

    tw8836_data.on = true;

    pr_debug("In tw8836:ioctl_dev_init\n");

    ret = tw8836_chip_init();      // <--- Configure TW8836 to output BT656 standard video

                                            //       Configurations were given by TW8836 vendor

    return ret;



We further check that, I2C read/Writes are perfect and sensor configured for given values.

Also we measured, Pix-clock using scope i.e 27MHz (cool.. I believe it is as per standard).



Then, I tried using mxc_v4l2_tvin application as recommended as follows...

root@sabresd_6dq:/ # mxc_v4l2_tvin -ow 720 -oh 525 -ol 10 -ot 20 -f YUV422

        mxc_v4l2_tvin -ow 720 -oh 480 -ol 20

        TV decoder chip is tw8836_decoder

        driver=mxc_vout, card=DISP3 FG, bus=, version=0x00000000, capabilities=0x04000002

        fmt RGB565: fourcc = 0x50424752

        fmt BGR24: fourcc = 0x33524742

        fmt RGB24: fourcc = 0x33424752

        fmt RGB32: fourcc = 0x34424752

        fmt BGR32: fourcc = 0x34524742

        fmt NV12: fourcc = 0x3231564e

        fmt UYVY: fourcc = 0x59565955

        fmt YUYV: fourcc = 0x56595559

        fmt YUV422 planar: fourcc = 0x50323234

        fmt YUV444: fourcc = 0x34343459

        fmt YUV420: fourcc = 0x32315559

        fmt YVU420: fourcc = 0x32315659

        fmt TILED NV12P: fourcc = 0x50564e54

        fmt TILED NV12F: fourcc = 0x46564e54

        fmt YUV444 planar: fourcc = 0x50343434

        start time = 86476 s, 582752 us


Now what we can see is, a window is displayed with noise (may be white noise). I have updated screen snap shot (pleas check).

Can any one give me some hint. What could be gone wrong???   Please lemme know if more info needed...


Please help me....