AnsweredAssumed Answered

ADV7611 YUV Parallel no output

Question asked by EricWu on Jan 15, 2018
Latest reply on Jan 31, 2018 by Poornima

Hello :

 

I'm now debugging ADV7611 , the layout would be Sport Camera  ->  (HDMI) -> ADV7611 -> (YUV Parallel) -> Vin Interface

now I force Sport Camera output 1080P30 format , but Vin can't receive data correctly,

Would you have a look what's going on with my script ?

Also I have done some trouble shooting below.

 

    {0x98, 0xFF, 0x80}, /* I2C reset */

    {0x98, 0xF4, 0x80}, /* CEC */

    {0x98, 0xF5, 0x7C}, /* INFOFRAME */

    {0x98, 0xF8, 0x4C}, /* DPLL */

    {0x98, 0xF9, 0x64}, /* KSV */

    {0x98, 0xFA, 0x6C}, /* EDID */

    {0x98, 0xFB, 0x68}, /* HDMI */

    {0x98, 0xFD, 0x44}, /* CP */

    {0x98, 0x00, 0x1E}, /* Prim_Mode =1920x1080 */

    {0x98, 0x01, 0x25}, /*  30 HZ HDMI-COMP */

    {0x98, 0x02, 0xF7}, /* Auto CSC, YCrCb out, Set op_656 bit */

    {0x98, 0x03, 0x80}, /* 16 bit SDR 422 Mode 0 */

    {0x98, 0x05, 0x28}, /* AV Codes Off */

    {0x98, 0x06, 0xA6}, /* Invert VS,HS pins */

    {0x98, 0x0B, 0x44}, /* Power up part */

    {0x98, 0x0C, 0x42}, /* Power up part */

    {0x98, 0x14, 0x7F}, /* Max Drive Strength */

    {0x98, 0x15, 0x80}, /* Disable Tristate of Pins */

    {0x98, 0x19, 0x8A}, /* LLC DLL phase */

    {0x98, 0x33, 0x40}, /* LLC DLL enable */

    {0x44, 0xBA, 0x01}, /* Set HDMI FreeRun */

    {0x44, 0xC9, 0x2D}, /* DIS_AUTO_PARAM_BUFF */

    {0x44, 0xBF, 0x13},

    {0x64, 0x40, 0x81}, /* Disable HDCP 1.1 features */

    {0x68, 0x9B, 0x03}, /* ADI recommended setting */

    {0x68, 0xC1, 0x01}, /* ADI recommended setting */

    {0x68, 0xC2, 0x01}, /* ADI recommended setting */

    {0x68, 0xC3, 0x01}, /* ADI recommended setting */

    {0x68, 0xC4, 0x01}, /* ADI recommended setting */

    {0x68, 0xC5, 0x01}, /* ADI recommended setting */

    {0x68, 0xC6, 0x01}, /* ADI recommended setting */

    {0x68, 0xC7, 0x01}, /* ADI recommended setting */

    {0x68, 0xC8, 0x01}, /* ADI recommended setting */

    {0x68, 0xC9, 0x01}, /* ADI recommended setting */

    {0x68, 0xCA, 0x01}, /* ADI recommended setting */

    {0x68, 0xCB, 0x01}, /* ADI recommended setting */

    {0x68, 0xCC, 0x01}, /* ADI recommended setting */

    {0x68, 0x00, 0x00}, /* Set HDMI Input Port A */

    {0x68, 0x83, 0xFE}, /* Enable clock terminator for port A */

    {0x68, 0x6F, 0x08}, /* ADI recommended setting */

    {0x68, 0x85, 0x1F}, /* ADI recommended setting */

    {0x68, 0x87, 0x70}, /* ADI recommended setting */

    {0x68, 0x8D, 0x04}, /* LFG */

    {0x68, 0x8E, 0x1E}, /* HFG */

    {0x68, 0x1A, 0x8A}, /* unmute audio */

    {0x68, 0x57, 0xDA}, /* ADI recommended setting */

    {0x68, 0x58, 0x01}, /* ADI recommended setting */

    {0x68, 0x03, 0x98}, /* DIS_I2C_ZERO_COMPR */

    {0x68, 0x75, 0x10}, /* DDC drive strength */

    {0x68, 0x4C, 0x44}, /* NEW_VS_PARAM */

 

 

EDID

 

{0x64, 0x77, 0x00},

    {0x6C, 0x00, 0x00},

    {0x6C, 0x01, 0xFF},

    {0x6C, 0x02, 0xFF},

    {0x6C, 0x03, 0xFF},

    {0x6C, 0x04, 0xFF},

    {0x6C, 0x05, 0xFF},

    {0x6C, 0x06, 0xFF},

    {0x6C, 0x07, 0x00}, //8

    {0x6C, 0x08, 0x06},

    {0x6C, 0x09, 0x8F},

    {0x6C, 0x0A, 0x07},

    {0x6C, 0x0B, 0x11},

    {0x6C, 0x0C, 0x01},

    {0x6C, 0x0D, 0x00},

    {0x6C, 0x0E, 0x00},

    {0x6C, 0x0F, 0x00}, //16

    {0x6C, 0x10, 0x17},

    {0x6C, 0x11, 0x11},

    {0x6C, 0x12, 0x01},

    {0x6C, 0x13, 0x03},

    {0x6C, 0x14, 0x80},

    {0x6C, 0x15, 0x0C},

    {0x6C, 0x16, 0x09},

    {0x6C, 0x17, 0x78}, //24

    {0x6C, 0x18, 0x0A},

    {0x6C, 0x19, 0x1E},

    {0x6C, 0x1A, 0xAC},

    {0x6C, 0x1B, 0x98},

    {0x6C, 0x1C, 0x59},

    {0x6C, 0x1D, 0x56},

    {0x6C, 0x1E, 0x85},

    {0x6C, 0x1F, 0x28}, //32

    {0x6C, 0x20, 0x29},

    {0x6C, 0x21, 0x52},

    {0x6C, 0x22, 0x57},

    {0x6C, 0x23, 0x00},

    {0x6C, 0x24, 0x00},

    {0x6C, 0x25, 0x00},

    {0x6C, 0x26, 0x01},

    {0x6C, 0x27, 0x01}, //40

    {0x6C, 0x28, 0x01},

    {0x6C, 0x29, 0x01},

    {0x6C, 0x2A, 0x01},

    {0x6C, 0x2B, 0x01},

    {0x6C, 0x2C, 0x01},

    {0x6C, 0x2D, 0x01},

    {0x6C, 0x2E, 0x01},

    {0x6C, 0x2F, 0x01}, //48

    {0x6C, 0x30, 0x01},

    {0x6C, 0x31, 0x01},

    {0x6C, 0x32, 0x01},

    {0x6C, 0x33, 0x01},

    {0x6C, 0x34, 0x01},

    {0x6C, 0x35, 0x01},

    {0x6C, 0x36, 0x8C},

    {0x6C, 0x37, 0x0A}, //56

    {0x6C, 0x38, 0xD0},

    {0x6C, 0x39, 0x8A},

    {0x6C, 0x3A, 0x20},

    {0x6C, 0x3B, 0xE0},

    {0x6C, 0x3C, 0x2D},

    {0x6C, 0x3D, 0x10},

    {0x6C, 0x3E, 0x10},

    {0x6C, 0x3F, 0x3E}, //64

    {0x6C, 0x40, 0x96},

    {0x6C, 0x41, 0x00},

    {0x6C, 0x42, 0x81},

    {0x6C, 0x43, 0x60},

    {0x6C, 0x44, 0x00},

    {0x6C, 0x45, 0x00},

    {0x6C, 0x46, 0x00},

    {0x6C, 0x47, 0x18}, //72

    {0x6C, 0x48, 0x01},

    {0x6C, 0x49, 0x1D},

    {0x6C, 0x4A, 0x80},

    {0x6C, 0x4B, 0x18},

    {0x6C, 0x4C, 0x71},

    {0x6C, 0x4D, 0x1C},

    {0x6C, 0x4E, 0x16},

    {0x6C, 0x4F, 0x20}, //80

    {0x6C, 0x50, 0x58},

    {0x6C, 0x51, 0x2C},

    {0x6C, 0x52, 0x25},

    {0x6C, 0x53, 0x00},

    {0x6C, 0x54, 0x81},

    {0x6C, 0x55, 0x49},

    {0x6C, 0x56, 0x00},

    {0x6C, 0x57, 0x00}, //88

    {0x6C, 0x58, 0x00},

    {0x6C, 0x59, 0x9E},

    {0x6C, 0x5A, 0x00},

    {0x6C, 0x5B, 0x00},

    {0x6C, 0x5C, 0x00},

    {0x6C, 0x5D, 0xFC},

    {0x6C, 0x5E, 0x00},

    {0x6C, 0x5F, 0x56}, //96

    {0x6C, 0x60, 0x41},

    {0x6C, 0x61, 0x2D},

    {0x6C, 0x62, 0x31},

    {0x6C, 0x63, 0x38},

    {0x6C, 0x64, 0x30},

    {0x6C, 0x65, 0x39},

    {0x6C, 0x66, 0x41},

    {0x6C, 0x67, 0x0A}, //104

    {0x6C, 0x68, 0x20},

    {0x6C, 0x69, 0x20},

    {0x6C, 0x6A, 0x20},

    {0x6C, 0x6B, 0x20},

    {0x6C, 0x6C, 0x00},

    {0x6C, 0x6D, 0x00},

    {0x6C, 0x6E, 0x00},

    {0x6C, 0x6F, 0xFD}, //112

    {0x6C, 0x70, 0x00},

    {0x6C, 0x71, 0x17},

    {0x6C, 0x72, 0x3D},

    {0x6C, 0x73, 0x0D},

    {0x6C, 0x74, 0x2E},

    {0x6C, 0x75, 0x11},

    {0x6C, 0x76, 0x00},

    {0x6C, 0x77, 0x0A}, //120

    {0x6C, 0x78, 0x20},

    {0x6C, 0x79, 0x20},

    {0x6C, 0x7A, 0x20},

    {0x6C, 0x7B, 0x20},

    {0x6C, 0x7C, 0x20},

    {0x6C, 0x7D, 0x20},

    {0x6C, 0x7E, 0x01},

    {0x6C, 0x7F, 0x1C}, //128

    {0x6C, 0x80, 0x02},

    {0x6C, 0x81, 0x03},

    {0x6C, 0x82, 0x33},

    {0x6C, 0x83, 0x71},

    {0x6C, 0x84, 0x4C},

    {0x6C, 0x85, 0x02},

    {0x6C, 0x86, 0x05},

    {0x6C, 0x87, 0x04}, //136

    {0x6C, 0x88, 0x01},

    {0x6C, 0x89, 0xA2},

    {0x6C, 0x8A, 0x11},

    {0x6C, 0x8B, 0x14},

    {0x6C, 0x8C, 0x13},

    {0x6C, 0x8D, 0x06},

    {0x6C, 0x8E, 0x15},

    {0x6C, 0x8F, 0x03}, //144

    {0x6C, 0x90, 0x12},

    {0x6C, 0x91, 0x35},

    {0x6C, 0x92, 0x0F},

    {0x6C, 0x93, 0x7F},

    {0x6C, 0x94, 0x07},

    {0x6C, 0x95, 0x17},

    {0x6C, 0x96, 0x1F},

    {0x6C, 0x97, 0x38}, //152

    {0x6C, 0x98, 0x1F},

    {0x6C, 0x99, 0x07},

    {0x6C, 0x9A, 0x30},

    {0x6C, 0x9B, 0x2F},

    {0x6C, 0x9C, 0x07},

    {0x6C, 0x9D, 0x72},

    {0x6C, 0x9E, 0x3F},

    {0x6C, 0x9F, 0x7F}, //160

    {0x6C, 0xA0, 0x72},

    {0x6C, 0xA1, 0x57},

    {0x6C, 0xA2, 0x7F},

    {0x6C, 0xA3, 0x00},

    {0x6C, 0xA4, 0x37},

    {0x6C, 0xA5, 0x7F},

    {0x6C, 0xA6, 0x72},

    {0x6C, 0xA7, 0x83}, //168

    {0x6C, 0xA8, 0x4F},

    {0x6C, 0xA9, 0x00},

    {0x6C, 0xAA, 0x00},

    {0x6C, 0xAB, 0x67},

    {0x6C, 0xAC, 0x03},

    {0x6C, 0xAD, 0x0C},

    {0x6C, 0xAE, 0x00},

    {0x6C, 0xAF, 0x10}, //176

    {0x6C, 0xB0, 0x00},

    {0x6C, 0xB1, 0x88},

    {0x6C, 0xB2, 0x2D},

    {0x6C, 0xB3, 0x00},

    {0x6C, 0xB4, 0x00},

    {0x6C, 0xB5, 0x00},

    {0x6C, 0xB6, 0x00},

    {0x6C, 0xB7, 0xFF}, //184

    {0x6C, 0xB8, 0x00},

    {0x6C, 0xB9, 0x0A},

    {0x6C, 0xBA, 0x20},

    {0x6C, 0xBB, 0x20},

    {0x6C, 0xBC, 0x20},

    {0x6C, 0xBD, 0x20},

    {0x6C, 0xBE, 0x20},

    {0x6C, 0xBF, 0x20}, //192

    {0x6C, 0xC0, 0x20},

    {0x6C, 0xC1, 0x20},

    {0x6C, 0xC2, 0x20},

    {0x6C, 0xC3, 0x20},

    {0x6C, 0xC4, 0x20},

    {0x6C, 0xC5, 0x20},

    {0x6C, 0xC6, 0x00},

    {0x6C, 0xC7, 0x00}, //200

    {0x6C, 0xC8, 0x00},

    {0x6C, 0xC9, 0xFF},

    {0x6C, 0xCA, 0x00},

    {0x6C, 0xCB, 0x0A},

    {0x6C, 0xCC, 0x20},

    {0x6C, 0xCD, 0x20},

    {0x6C, 0xCE, 0x20},

    {0x6C, 0xCF, 0x20}, //208

    {0x6C, 0xD0, 0x20},

    {0x6C, 0xD1, 0x20},

    {0x6C, 0xD2, 0x20},

    {0x6C, 0xD3, 0x20},

    {0x6C, 0xD4, 0x20},

    {0x6C, 0xD5, 0x20},

    {0x6C, 0xD6, 0x20},

    {0x6C, 0xD7, 0x20}, //216

    {0x6C, 0xD8, 0x00},

    {0x6C, 0xD9, 0x00},

    {0x6C, 0xDA, 0x00},

    {0x6C, 0xDB, 0xFF},

    {0x6C, 0xDC, 0x00},

    {0x6C, 0xDD, 0x0A},

    {0x6C, 0xDE, 0x20},

    {0x6C, 0xDF, 0x20}, //224

    {0x6C, 0xE0, 0x20},

    {0x6C, 0xE1, 0x20},

    {0x6C, 0xE2, 0x20},

    {0x6C, 0xE3, 0x20},

    {0x6C, 0xE4, 0x20},

    {0x6C, 0xE5, 0x20},

    {0x6C, 0xE6, 0x20},

    {0x6C, 0xE7, 0x20}, //232

    {0x6C, 0xE8, 0x20},

    {0x6C, 0xE9, 0x20},

    {0x6C, 0xEA, 0x00},

    {0x6C, 0xEB, 0x00},

    {0x6C, 0xEC, 0x00},

    {0x6C, 0xED, 0x00},

    {0x6C, 0xEE, 0x00},

    {0x6C, 0xEF, 0x00}, //240

    {0x6C, 0xF0, 0x00},

    {0x6C, 0xF1, 0x00},

    {0x6C, 0xF2, 0x00},

    {0x6C, 0xF3, 0x00},

    {0x6C, 0xF4, 0x00},

    {0x6C, 0xF5, 0x00},

    {0x6C, 0xF6, 0x00},

    {0x6C, 0xF7, 0x00}, //248

    {0x6C, 0xF8, 0x00},

    {0x6C, 0xF9, 0x00},

    {0x6C, 0xFA, 0x00},

    {0x6C, 0xFB, 0x00},

    {0x6C, 0xFC, 0x00},

    {0x6C, 0xFD, 0x00},

    {0x6C, 0xFE, 0x00},

    {0x6C, 0xFF, 0xE9}, //256

    {0x64, 0x77, 0x00},

    {0x64, 0x52, 0x20},

    {0x64, 0x53, 0x00},

    {0x64, 0x70, 0x9E},

    {0x64, 0x74, 0x03}

 

Some Trouble Shooting

1. IO Map R0x6F[0] is equal to 1 (detect cable in) 

01  --> YES

 

2. IO Map R0x6A[4] is equal to 1 (detect HDMI Clock)

53 -->  YES

 

3. HDMI Map R0x04[1] is equal to 1 (is HDMI PLL lock)

23  --> YES

 

4. HDMI Map R0x05[6] is equal to 1 (HDMI encryption)

B0  --> NO

 

5. HDMI Map R0x07[5] is equal to 1 (De generation is lock)

A7 --> YES

 

------------------ STDI INFOMATION (FORMAT IDENTIFY)-------------------

 

6. Block Length CH1_BL[13:0]

This is the number of 28.6363 MHz clock cycles (XTAL frequency) in a block of eight lines. From this, the time duration of one line can be concluded.

CH1_BL

9A82 -> [5:0][7:0] 1A82 -> 6786

 

7. Line count in VSYNC CH1_LCVS[4:0]

The LCVS[4:0] readback value is the number of lines within one VSync period.

CH1_LCVS

28   -> [7:3] -> 5

 

8. Line count in Field CH1_LCF[10:0]

The CH1_LCF[10:0] readback value is the number of lines between two VSyncs, that is, over one field measured by channel.

 

CH1_LCF

0464 -> [3:0][7:0] -> 1124

 

9. Field Length CH1_FCL[12:0]

This is the number of 28.6363 MHz clock cycles in a 1/256th of a field. Alternately, this value of FCL multiplied by 256 gives one field

length count in 28.6363 MHz (XTAL) clocks.

 

CH1_FCL

0E94 -> [4:0][7:0] -> 3732

 

------------------ HDMI INPUT INFOMATION -------------------

 

10. Total line width is a horizontal synchronization measurement. This gives the total number of pixels per line. This measurement is valid only when the DE regeneration filter has locked.

TOTAL_LINE_WIDTH[13:0]

898 -> 2200

 

11. HSync front porch width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement is valid only when the DE regeneration filter has locked.

HSYNC_FRONT_PORCH[12:0]

58 -> 88

 

12. HSync pulse width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement is valid only when the DE regeneration filter has locked.

HSYNC_PULSE_WIDTH[12:0]

2C -> 44

 

13. HSync Back Porch width is a horizontal synchronization measurement. The unit of this measurement is unique pixels. This measurement is valid only when the DE regeneration filter has locked.

HSYNC_BACK_PORCH[12:0]

94 -> 148

 

14. Field 0 total height is a vertical synchronization measurement. This readback gives the total number of half lines in Field 0. This measurement is valid only when the vertical filter has locked.

FIELD0_TOTAL_HEIGHT[13:0]

8CA -> 2250

 

15. Field 1 total height is a vertical synchronization measurement. This readback gives the total number of half lines in Field 1. This measurement is valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1.

FIELD1_TOTAL_HEIGHT[13:0]

8CA -> 2250

 

16. Field 0 VSync front porch width is a vertical synchronization measurement. The unit of this measurement is half lines. This measurement is valid only when the vertical filter has locked.

FIELD0_VS_FRONT_PORCH[13:0]

08 -> 08

 

17. Field 1 VSync front porch width is a vertical synchronization measurement. The unit of this measurement is half lines. This measurement is valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1

FIELD1_VS_FRONT_PORCH[13:0]

08 -> 08

 

18. Field 0 VSync width is a vertical synchronization measurement. The unit for this measurement is half lines. This measurement is valid only when the vertical filter has locked.

FIELD0_VS_PULSE_WIDTH[13:0]

0A -> 10

 

19. Field 1 VSync width is a vertical synchronization measurement. The unit for this measurement is half lines. This measurement is valid only when the vertical filter has locked. Field 1 measurements are valid when HDMI_INTERLACED is set to 1

FIELD1_VS_PULSE_WIDTH[13:0]

0A -> 10

 

 

I want to ask, from those information, ADV7611 can identify sport camera output ?

if ADV7611 can identify the input, I will check the Vin side setting,

 

 

Thanks,

Eric.

Outcomes