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.

TVP5150 with DM8168 display problems

Other Parts Discussed in Thread: TVP5150

Hi all,

We've used a TVP5150 chip with the TI DM8168 processor to display CVBS & Y/C video.  We have connected the TVP5150 to VIP1 PORTB of the DM8168 processor & we have verified all the hardware signals correctly.  However, when we are trying to display an NTSC input scaled to a 480i via DM8168 & output on HDMI, we are not seeing a correct output.  I've verified all the signals & also referred the DM8168 HW user guide, checked the I2C signals on the TVP5150 & also checked this post: http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/167746.aspx?pi239031349=1 & I've tried to best use all possibilities. 

Messages during bootup:

HDMI W1 rev 2.0
adv7604 1-0020: adv7604 found @ 0x40 (OMAP I2C adapter)
z3bii-000: v4l2 sub device adv7604 registered grp 1
z3bii-000: V4L2 device registered as video0
tvp5150 1-005c: chip found @ 0xb8 (OMAP I2C adapter)
z3bii-001: v4l2 sub device tvp5150 registered grp 1
z3bii-001: V4L2 device registered as video1
ad9389b 1-003d: chip found @ 0x7a (OMAP I2C adapter)
ad9389b 1-003d: ad9389b found @ 0x7a (OMAP I2C adapter)
z3bii-002: v4l2 sub device ad9389b registered grp 1
z3bii-002: V4L2 device registered as video2
adv7611 1-004c: chip found @ 0x98 (OMAP I2C adapter)
z3bii-003: v4l2 sub device adv7611 registered grp 1
z3bii-003: V4L2 device registered as video3
Z3 Netra video decoders ver 0.6.0 successfully loaded, 4 devs.

While running our application:

root@arago:~# i2cdump -y 1 0x5c b
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 15 00 09 c0 09 10 60 00 80 80 00 80 47 00 08    .?.????`.??.?G.?
10: 00 00 00 00 00 01 80 80 00 00 0c 14 00 00 00 00    .....???..??....
20: 00 00 00 00 00 00 00 20 0a 00 00 00 00 00 0f 01    ....... ?.....??
30: 00 00 00 00 00 19 ed d7 00 98 01 0a 01 01 01 01    .....???.???????
40: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01    ????????????????
50: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01    ????????????????
60: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01    ????????????????
70: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01    ????????????????
80: 51 50 04 00 00 02 80 00 00 10 00 00 81 01 0a 01    QP?..??..?..????
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: f8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
c0: 40 00 04 16 10 00 40 00 80 00 00 4e 00 01 00 00    @.???.@.?..N.?..
d0: 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff 7f 00 00 00    ............?...

I'm still seeing only the attached jpeg output from an NTSC source.

I see the bars move with the source but still not displaying correct output. Any ideas on what I'm missing?  Thanks,

Bharadwaj

  • Hi,

    Instead of running the saLoopBack, try running saCapture and dump the buffer in file and try to see it through YUV player. You can also send me dump of register address 0x48105500 first 100 registers and 0x48105a00 same first 100 registers.

  • Hi Hardik,

    We're not using the saLoopBack or the saCapture application. We have our own that will capture signals & has been working great to capture HDMI, VGA & DVI signals. Looking at the TVP5150 I2C dump, do you think there are any mismatches in the registers?  I'm trying both NTSC J & NTSC 4.43 -60Hz signals to see if either works. Thanks,

    Bharadwaj

  • Hi,

    I have not gone through whole TVP5150 dump but what you can do is that you can send few important register dump with description and i will try to look into it. But VIP dump is also important and send that also to make sure that both VIP and TVP register are in sync to see the data format.

  • Hi Hardik,

    I've attached a file that will give the TVP5150 register specs & here's the dump of the VIP (HDVPSS_INST0):

    root@arago:~# ./devmem_test.o -v -r -l 1024 0x48105500
    Request to memread 0x400 bytes from address 0x48105500
            using 1 byte accesses
    Attempting to map 0x1000 bytes at address 0x48105000
    open(/dev/mem) ok
    mmap() ok
    OK? y
    48105500:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105510:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105520:  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    48105530:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105540:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105550:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105560:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105570:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105580:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105590:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055b0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055c0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055d0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055e0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481055f0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105600:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105610:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105620:  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    48105630:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105640:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105650:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105660:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105670:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105680:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105690:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056b0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056c0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056d0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056e0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481056f0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105700:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105710:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105720:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105730:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105740:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105750:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105760:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105770:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105780:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105790:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057b0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057c0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057d0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057e0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481057f0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105800:  00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105810:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105820:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105830:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105840:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
    48105850:  00 08 84 0c 10 00 10 00 90 01 04 00 00 00 00 00
    48105860:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105870:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105880:  00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105890:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481058a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481058b0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481058c0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
    481058d0:  00 08 84 0c 10 00 10 00 90 01 04 00 00 00 00 00
    481058e0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    481058f0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    root@arago:~#

    i2cset -y 1 0x5c 0x00 0x00 b #Video input source selection #1
    i2cset -y 1 0x5c 0x01 0x15 b #Analog channel controls
    i2cset -y 1 0x5c 0x02 0x00 b
    i2cset -y 1 0x5c 0x03 0x09 b #Miscellaneous controls - Op mode control changed from 0x6F
    i2cset -y 1 0x5c 0x04 0xC0 b #Autoswitch mask changed from 0xdc
    i2cset -y 1 0x5c 0x05 0x09 b
    i2cset -y 1 0x5c 0x06 0x10 b
    i2cset -y 1 0x5c 0x07 0x60 b
    i2cset -y 1 0x5c 0x08 0x00 b
    i2cset -y 1 0x5c 0x09 0x80 b
    i2cset -y 1 0x5c 0x0A 0x80 b
    i2cset -y 1 0x5c 0x0B 0x00 b
    i2cset -y 1 0x5c 0x0C 0x80 b
    i2cset -y 1 0x5c 0x0D 0x47 b #Data rate select for 4:2:2 0x40, def 0x47
    i2cset -y 1 0x5c 0x0E 0x00 b
    i2cset -y 1 0x5c 0x0F 0x08 b
    i2cset -y 1 0x5c 0x11 0x00 b
    i2cset -y 1 0x5c 0x12 0x00 b
    i2cset -y 1 0x5c 0x13 0x00 b
    i2cset -y 1 0x5c 0x14 0x00 b
    i2cset -y 1 0x5c 0x15 0x01 b
    i2cset -y 1 0x5c 0x16 0x80 b
    i2cset -y 1 0x5c 0x18 0x00 b
    i2cset -y 1 0x5c 0x19 0x00 b
    i2cset -y 1 0x5c 0x1A 0x0C b
    i2cset -y 1 0x5c 0x1B 0x54 b #Chroma control changed from 0x14
    i2cset -y 1 0x5c 0x1C 0x00 b
    i2cset -y 1 0x5c 0x1D 0x00 b
    i2cset -y 1 0x5c 0x1E 0x00 b
    i2cset -y 1 0x5c 0x27 0x20 b #Undocumented but initialized acc to driver
    i2cset -y 1 0x5c 0x28 0x0A b #Video std set to NTSC changed from 0x02
    i2cset -y 1 0x5c 0x2E 0x0F b
    i2cset -y 1 0x5c 0x2F 0x01 b
    i2cset -y 1 0x5c 0xBB 0x00 b
    i2cset -y 1 0x5c 0xC0 0x00 b
    i2cset -y 1 0x5c 0xC1 0x00 b
    i2cset -y 1 0x5c 0xC2 0x04 b
    i2cset -y 1 0x5c 0xC8 0x80 b
    i2cset -y 1 0x5c 0xC9 0x00 b
    i2cset -y 1 0x5c 0xCA 0x00 b
    i2cset -y 1 0x5c 0xCB 0x4E b
    i2cset -y 1 0x5c 0xCC 0x00 b
    i2cset -y 1 0x5c 0xCD 0x01 b
    i2cset -y 1 0x5c 0xCF 0x00 b
    i2cset -y 1 0x5c 0xD0 0x00 b
    i2cset -y 1 0x5c 0xFC 0x7F b

  • Hi,

    All the registers are 0x00. There could be following possiblities.

    1. Dump is taken before starting capture.

    2. Some bug in your code modification where capture is not starting.

    3. Capture is starting on another video port and you are taking dump of video port 1.

    Regards,

    Hardik Shah

  • Hi Hardik,

    1. Dump is taken definitely while capture is happening (I see the screen mentioned in picture above)

    2. I believe the capture is starting because I see the code entering NTSC mode & trying to output NTSC mode via DM8168 (that is scaled to 480i).

    3. I took a dump of the VIP1 & here is that dump:

    ./devmem_test.o -v -r -l 1024 0x48105A00

    root@arago:~# ./devmem_test.o -v -r -l 1024 0x48105A00
    Request to memread 0x400 bytes from address 0x48105a00
            using 1 byte accesses
    Attempting to map 0x1000 bytes at address 0x48105000
    open(/dev/mem) ok
    mmap() ok
    OK? y
    48105a00:  02 00 00 00 00 00 00 00 00 00 00 00 00 a1 00 00
    48105a10:  00 00 00 00 00 00 00 00 00 00 00 00 00 b0 00 00
    48105a20:  ff ff ff ff ff ff ff ff ff ff ff ff fc ff ff ff
    48105a30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105a40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105a50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105a60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105a70:  f4 00 d0 02 00 00 00 00 00 00 00 00 00 00 00 00
    48105a80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105a90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105aa0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ab0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ac0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ad0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ae0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105af0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b00:  02 00 00 00 00 00 00 00 00 00 00 00 00 a1 00 00
    48105b10:  00 00 00 00 00 00 00 00 00 00 00 00 00 b0 00 00
    48105b20:  ff ff ff ff ff ff ff ff ff ff ff ff fc ff ff ff
    48105b30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b70:  f4 00 d0 02 00 00 00 00 00 00 00 00 00 00 00 00
    48105b80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105b90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ba0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105bb0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105bc0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105bd0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105be0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105bf0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c00:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c10:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105c90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ca0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105cb0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105cc0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105cd0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105ce0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105cf0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105d00:  04 40 00 00 00 00 01 00 00 00 00 00 00 00 00 00
    48105d10:  e4 01 2d 00 e4 01 2d 00 00 00 00 00 00 00 00 00
    48105d20:  00 f0 2c 00 00 00 00 01 00 00 00 00 00 00 00 00
    48105d30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105d40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
    48105d50:  00 08 84 0c 10 00 10 00 90 01 04 00 00 00 00 00
    48105d60:  e4 01 d0 02 00 00 00 00 00 00 00 00 00 00 00 00
    48105d70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105d80:  04 40 00 00 00 00 01 00 00 00 00 00 00 00 00 00
    48105d90:  e4 01 2d 00 e4 01 2d 00 00 00 00 00 00 00 00 00
    48105da0:  00 f0 2c 00 00 00 00 01 00 00 00 00 00 00 00 00
    48105db0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    48105dc0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
    48105dd0:  00 08 84 0c 10 00 10 00 90 01 04 00 00 00 00 00
    48105de0:  e4 01 d0 02 00 00 00 00 00 00 00 00 00 00 00 00
    48105df0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    root@arago:~#

    The earlier dump was for VIP0 & I made a mistake of sending you that dump.  We are trying to capture on VIP1 for the TVP5150 & this is the correct one. Thanks,

    Bharadwaj