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 driver problem

Other Parts Discussed in Thread: TVP5150, TVP5147

Hi everybody,

I try to use IPNC RDK 4.0 to drive DM368 + TVP5150, but there is no TVP5150 support in this RDK. Only TVP514X.

Could you share some patch for RDK 4.0 to work with TVP5150?

Thanks!

  • Any answer will be appreciated!

  • Jesse Sam,

    I may not be able to share the patches to you, but I can give some hint. No major changes are required derive tvp5150 driver from tvp514x driver and get basic functionality up. Just modify the tvp514x driver by reffering to tvp5150 data sheet.  Consider updating device and addressed while doing so.

  • Hi ravikiran hv,

    Thank you for your replay. I also have done the port from tvp514x to tvp5150 based RDK 4.0 including TVP5150 register setting as datasheet, or compiling macro IMGS_TVP5150 definition in RDK4.0,  and it has taken me over one month to debug the procedure, no big further step, only blurry images gotten from the TI web av_capture example. It's a little case for you, however it's a complicated case for me. no indication is software or hardware issue. TVP5150 register dump is attached. 

    1614.tvp5150_regs_dump.txt
     I2C: 0x00 = 0x00
     I2C: 0x01 = 0x15
     I2C: 0x02 = 0x00
     I2C: 0x03 = 0x9f
     I2C: 0x04 = 0xdc
     I2C: 0x05 = 0x00
     I2C: 0x06 = 0x10
     I2C: 0x07 = 0x60
     I2C: 0x08 = 0x00
     I2C: 0x09 = 0x80
     I2C: 0x0a = 0x80
     I2C: 0x0b = 0x00
     I2C: 0x0c = 0x80
     I2C: 0x0d = 0x47
     I2C: 0x0e = 0x00
     I2C: 0x0f = 0x12
     I2C: 0x10 = 0x00
     I2C: 0x11 = 0x00
     I2C: 0x12 = 0x00
     I2C: 0x13 = 0x00
     I2C: 0x14 = 0x00
     I2C: 0x15 = 0x01
     I2C: 0x16 = 0x80
     I2C: 0x17 = 0x80
     I2C: 0x18 = 0x00
     I2C: 0x19 = 0x00
     I2C: 0x1a = 0x0c
     I2C: 0x1b = 0x14
     I2C: 0x1c = 0x00
     I2C: 0x1d = 0x00
     I2C: 0x1e = 0x00
     I2C: 0x1f = 0x00
     I2C: 0x20 = 0x00
     I2C: 0x21 = 0x00
     I2C: 0x22 = 0x00
     I2C: 0x23 = 0x00
     I2C: 0x24 = 0x00
     I2C: 0x25 = 0x00
     I2C: 0x26 = 0x00
     I2C: 0x27 = 0x00
     I2C: 0x28 = 0x00
     I2C: 0x29 = 0x00
     I2C: 0x2a = 0x00
     I2C: 0x2b = 0x00
     I2C: 0x2c = 0x35
     I2C: 0x2d = 0x25
     I2C: 0x2e = 0x0f
     I2C: 0x2f = 0x01
     I2C: 0x30 = 0x00
     I2C: 0x31 = 0x00
     I2C: 0x32 = 0x00
     I2C: 0x33 = 0x00
     I2C: 0x34 = 0xff
     I2C: 0x35 = 0x00
     I2C: 0x36 = 0x00
     I2C: 0x37 = 0x00
     I2C: 0x38 = 0x00
     I2C: 0x39 = 0x2e
     I2C: 0x3a = 0x01
     I2C: 0x3b = 0x3a
     I2C: 0x3c = 0x00
     I2C: 0x3d = 0x00
     I2C: 0x3e = 0x00
     I2C: 0x3f = 0x00
     I2C: 0x40 = 0x00
     I2C: 0x41 = 0x00
     I2C: 0x42 = 0x00
     I2C: 0x43 = 0x00
     I2C: 0x44 = 0x00
     I2C: 0x45 = 0x00
     I2C: 0x46 = 0x00
     I2C: 0x47 = 0x00
     I2C: 0x48 = 0x00
     I2C: 0x49 = 0x00
     I2C: 0x4a = 0x00
     I2C: 0x4b = 0x00
     I2C: 0x4c = 0x00
     I2C: 0x4d = 0x00
     I2C: 0x4e = 0x00
     I2C: 0x4f = 0x00
     I2C: 0x50 = 0x00
     I2C: 0x51 = 0x00
     I2C: 0x52 = 0x00
     I2C: 0x53 = 0x00
     I2C: 0x54 = 0x00
     I2C: 0x55 = 0x00
     I2C: 0x56 = 0x00
     I2C: 0x57 = 0x00
     I2C: 0x58 = 0x00
     I2C: 0x59 = 0x00
     I2C: 0x5a = 0x02
     I2C: 0x5b = 0x03
     I2C: 0x5c = 0x03
     I2C: 0x5d = 0x03
     I2C: 0x5e = 0x03
     I2C: 0x5f = 0x03
     I2C: 0x60 = 0x03
     I2C: 0x61 = 0x03
     I2C: 0x62 = 0x01
     I2C: 0x63 = 0x01
     I2C: 0x64 = 0x01
     I2C: 0x65 = 0x01
     I2C: 0x66 = 0x01
     I2C: 0x67 = 0x01
     I2C: 0x68 = 0x01
     I2C: 0x69 = 0x01
     I2C: 0x6a = 0x01
     I2C: 0x6b = 0x01
     I2C: 0x6c = 0x01
     I2C: 0x6d = 0x01
     I2C: 0x6e = 0x01
     I2C: 0x6f = 0x01
     I2C: 0x70 = 0x01
     I2C: 0x71 = 0x01
     I2C: 0x72 = 0x01
     I2C: 0x73 = 0x01
     I2C: 0x74 = 0x01
     I2C: 0x75 = 0x01
     I2C: 0x76 = 0x01
     I2C: 0x77 = 0x01
     I2C: 0x78 = 0x01
     I2C: 0x79 = 0x01
     I2C: 0x7a = 0x01
     I2C: 0x7b = 0x01
     I2C: 0x7c = 0x01
     I2C: 0x7d = 0x01
     I2C: 0x7e = 0x01
     I2C: 0x7f = 0x01
     I2C: 0x80 = 0xa3
     I2C: 0x81 = 0x75
     I2C: 0x82 = 0x04
     I2C: 0x83 = 0x00
     I2C: 0x84 = 0x00
     I2C: 0x85 = 0x02
     I2C: 0x86 = 0x80
     I2C: 0x87 = 0x00
     I2C: 0x88 = 0x90
     I2C: 0x89 = 0x10
     I2C: 0x8a = 0x1a
     I2C: 0x8b = 0x00
     I2C: 0x8c = 0x81
     I2C: 0x8d = 0x01
     I2C: 0x8e = 0x02
     I2C: 0x8f = 0x01
     I2C: 0x90 = 0x00
     I2C: 0x91 = 0xdf
     I2C: 0x92 = 0xf0
     I2C: 0x93 = 0x00
     I2C: 0x94 = 0x00
     I2C: 0x95 = 0x08
     I2C: 0x96 = 0x00
     I2C: 0x97 = 0x44
     I2C: 0x98 = 0x52
     I2C: 0x99 = 0x42
     I2C: 0x9a = 0x00
     I2C: 0x9b = 0x01
     I2C: 0x9c = 0x84
     I2C: 0x9d = 0x00
     I2C: 0x9e = 0x20
     I2C: 0x9f = 0x08
     I2C: 0xa0 = 0x08
     I2C: 0xa1 = 0x00
     I2C: 0xa2 = 0x01
     I2C: 0xa3 = 0x20
     I2C: 0xa4 = 0x12
     I2C: 0xa5 = 0x00
     I2C: 0xa6 = 0x20
     I2C: 0xa7 = 0x01
     I2C: 0xa8 = 0x01
     I2C: 0xa9 = 0x88
     I2C: 0xaa = 0x48
     I2C: 0xab = 0xc4
     I2C: 0xac = 0x02
     I2C: 0xad = 0x84
     I2C: 0xae = 0xb4
     I2C: 0xaf = 0x8a
     I2C: 0xb0 = 0x60
     I2C: 0xb1 = 0x61
     I2C: 0xb2 = 0x00
     I2C: 0xb3 = 0x22
     I2C: 0xb4 = 0x00
     I2C: 0xb5 = 0x00
     I2C: 0xb6 = 0x04
     I2C: 0xb7 = 0x00
     I2C: 0xb8 = 0x00
     I2C: 0xb9 = 0x00
     I2C: 0xba = 0x40
     I2C: 0xbb = 0x00
     I2C: 0xbc = 0x00
     I2C: 0xbd = 0x00
     I2C: 0xbe = 0x00
     I2C: 0xbf = 0x00
     I2C: 0xc0 = 0x57
     I2C: 0xc1 = 0x00
     I2C: 0xc2 = 0x01
     I2C: 0xc3 = 0x2e
     I2C: 0xc4 = 0xf0
     I2C: 0xc5 = 0x00
     I2C: 0xc6 = 0xf1
     I2C: 0xc7 = 0x00
     I2C: 0xc8 = 0x31
     I2C: 0xc9 = 0x00
     I2C: 0xca = 0x18
     I2C: 0xcb = 0x4e
     I2C: 0xcc = 0x00
     I2C: 0xcd = 0x00
     I2C: 0xce = 0x00
     I2C: 0xcf = 0x00
     I2C: 0xd0 = 0x00
     I2C: 0xd1 = 0x80
     I2C: 0xd2 = 0x8f
     I2C: 0xd3 = 0x8d
     I2C: 0xd4 = 0xff
     I2C: 0xd5 = 0x67
     I2C: 0xd6 = 0xfa
     I2C: 0xd7 = 0xfb
     I2C: 0xd8 = 0xff
     I2C: 0xd9 = 0xdd
     I2C: 0xda = 0xff
     I2C: 0xdb = 0xef
     I2C: 0xdc = 0xff
     I2C: 0xdd = 0xff
     I2C: 0xde = 0xff
     I2C: 0xdf = 0xff
     I2C: 0xe0 = 0xff
     I2C: 0xe1 = 0xff
     I2C: 0xe2 = 0xff
     I2C: 0xe3 = 0xff
     I2C: 0xe4 = 0xff
     I2C: 0xe5 = 0xff
     I2C: 0xe6 = 0xff
     I2C: 0xe7 = 0xff
     I2C: 0xe8 = 0xff
     I2C: 0xe9 = 0xff
     I2C: 0xea = 0xff
     I2C: 0xeb = 0xff
     I2C: 0xec = 0xff
     I2C: 0xed = 0xff
     I2C: 0xee = 0x95
     I2C: 0xef = 0x2d
     I2C: 0xf0 = 0xaf
     I2C: 0xf1 = 0xd8
     I2C: 0xf2 = 0xfb
     I2C: 0xf3 = 0xaf
     I2C: 0xf4 = 0xef
     I2C: 0xf5 = 0xff
     I2C: 0xf6 = 0xff
     I2C: 0xf7 = 0xe2
     I2C: 0xf8 = 0xa7
     I2C: 0xf9 = 0x42
     I2C: 0xfa = 0xdf
     I2C: 0xfb = 0xe1
     I2C: 0xfc = 0x47
     I2C: 0xfd = 0x00
     I2C: 0xfe = 0x00
    

    Could you help to check what's wrong?my email:  jsamcnt@gmail.com, your patch will be much appreciated. 

    Thanks!

     

  • Hi Jess, Ravikiran,

    Could you please share tvp5150 patch in this forum.

    It is highly appreciated !!!

    Thanks,

    Ran

  • Ran,

    RDK documentation includes an application note which explains how to integrate an external video decoder.

    Regards,

    Yair

  • Sorry folks

    Since IPNC is licenced, I don know wether I can share the code. I need to check with our office ppl on this regards.

  • Ok. Thanks.

  • Hi the code for capturing BT656 should be the same for TVP5150/TVP5147.

    However, the register values to initialize the chips should be different.   You just need to set 3 registers to enable TVP5150 work.

    WR_REG,VID_DEC,1,0x7F,0x00 // Restart CPU

    WR_REG,VID_DEC,1,0x0F,0x0A // Select GPCL pin definition
    WR_REG,VID_DEC,1,0x03,0x6F // GPCL high (not used), YUV output enable

    BR,

    Eason

  • Jesse Sam, DM368 EVM + TVP5150 + IPNC_RDK_DM36x_Version4.1.0, Whether to solve the problem? How to solve?