Post Go back to editing

ADV7613: No Video Output on LCD Display

Category: Datasheet/Specs
Product Number: ADV7613

Hello Team,

I am working on a project where I use the ADV7613 to bridge HDMI input signals to LVDS output for a LCD display. However, I am facing an issue where no video signals are appearing on the LCD display, despite having configured the ADV7613 according to the script provided by ADI for ADV7613.

Configurations:

HDMI Input:

TMDS clock: 65 MHz (from the HDMI source).

Display Specifications:

Pixel resolution: 1024 x 768 XGA.
Pixel clock: 65 MHz.
Display type: RGB 4:4:4 or YCrCb 4:4:4.
LVDS Interface: 30-pin, 1-channel LVDS interface.

Process Followed (asper the Analog Devices script for ADV7613):

I configured the ADV7613 I2C registers for HDMI Input_LVDS Output Port A script, TMDS CLK Greater Than 27MHz

1) 98 FF 80 ; default 0x00, I2C reset
98 F4 80 ; default 0x00, CEC Map Address set to 0x80
98 F5 7C ; default 0x00, Infoframe Map Address set to 0x7C
98 F8 4C ; default 0x00, DPLL Map Address set to 0x4C
98 F9 64 ; default 0x00, KSV Map Address set to 0x64
98 FA 6C ; default 0x00, EDID Map Address set to 0x6C
98 FB 68 ; default 0x00, HDMI Map Address set to 0x68
98 FD 44 ; default 0x00, CP Map Address set to 0x44
98 E9 C0 ; default 0x00, LVDS Map Address set to 0xC0

2) I wrote the EDID contents of the LCD to the ADV7613’s internal EDID RAM via external MCU:
64 74 00 ; Disable the Internal EDID
6C 00 00 ;
6C 01 FF ;
.
.
.
.
64 71 00 ; Set the Most Significant Bit of the SPA location to 0 (Is this register necessary to configure for ADV7613?)
64 74 01 ; Enable the Internal EDID for ports

3) ADI recommended write & custom register settings
98 00 0C ; default 0x08, [5:0] - VID_STD[5:0] = 6'b010010 - WXGA 1360x768p@60Hz
98 01 06 ; default 0x06, [3:0] - Prim_Mode[3:0] = 4'b0110 - HDMI-Gr
98 02 F2 ; default 0xF0, [7:4] - INP_COLOR_SPACE[3:0] = 4'b1111 - color space determined by HDMI block, [1] RGB_OUT - 1'b1 - RGB color space output
98 03 42 ; default 0x00, [7:0] - OP_FORMAT_SEL[7:0] = 8'b01000010 - 36-bit 4:4:4 SDR Mode 0
98 04 63 ; ADI Recommended write
98 05 20 ; ADI Recommended write
44 8B 40 ; ADI Recommended write
44 8C 01 ; ADI Recommended write
44 8D 01 ; ADI Recommended write
98 0C 42 ; default 0x62, [5] - POWER_DOWN = 1'b0 - Powers up part
98 15 AE ; default 0xBE, [4] - TRI_AUDIO = 1'b0 = untristate Audio , {3] - TRI_LLC = 1'b1 = tristate LLC, Bit{1] - TRI_PIX = 1'b1 = Tristate Pixel Pads
44 6C 00 ; default 0x10, ADI Recommended write
64 40 81 ; default 0x83, BCAPS[7:0] - Disable HDCP 1.1 features
68 03 98 ; default 0x18, ADI Recommended write
68 10 A5 ; default 0x25, ADI Recommended write
68 1B 08 ; default 0x18, ADI Recommended write
68 45 04 ; default 0x00, ADI Recommended write
68 97 C0 ; default 0x80, ADI Recommended write
68 3D 10 ; default 0x00, ADI Recommended write
68 3E 7B ; default 0x79, ADI recommended write
68 3F 5E ; default 0x63, ADI Recommended Write
68 4E FE ; default 0x7B, ADI recommended write
68 4F 08 ; default 0x63, ADI recommended write
68 57 A3 ; default 0x30, ADI recommended write
68 58 07 ; default 0x01, ADI recommended write
68 6F 08 ; default 0x00, ADI Recommended write
68 83 FE ; default 0xFF, ADI recommended write
68 85 10 ; default 0x16, ADI recommended write
68 86 9B ; default 0x00, ADI recommended write
68 89 01 ; default 0x00, ADI recommended write
68 9B 03 ; default 0x0B, ADI Recommended write
68 9C 80 ; default 0x08, ADI Recommended write
68 9C C0 ; default 0x08, ADI Recommended write
68 9C 00 ; default 0x08, ADI Recommended write
C0 40 08 ; default 0x02
C0 43 03 ; default 0x00, ADI Recommended write
C0 44 02 ; default 0x00, ADI Recommended write
C0 45 04 ; default 0x1E, ADI Recommended write
C0 46 53 ; default 0x77, ADI Recommended write
C0 47 03 ; default 0x02, ADI Recommended write
C0 4C 11 ; default 0x71
C0 4E 24 ; default 0x08


Despite following this configuration process, no video signal is appearing on the LCD, and I’m encountering the following register values:

Registers Readback:
VCLK_CHNG_RAW = 1 (indicating a change in the TMDS clock frequency).
NEW_TMDS_FRQ_RAW = 1 (indicating the detection of a new TMDS frequency).
HDMI_MODE = 0 (HDMI mode not set).
KSV_LIST_READY = 0 (KSV list not ready for HDCP).
HDMI Map register values:
0x51 = 00001010
0x52 = 10101011

Questions:

1) Could you please correct me, if steps followed to configure ADV7613 are correct or not?
2) Is there any other registers I have to write?
3) What are the correct LVDS Configurations?

Issue Diagnosis:

The HDMI Map register values at 0x51 and 0x52 seem to be incorrect for a 65 MHz TMDS clock input:

0x51 = 00001010 (this should correspond to the TMDS frequency in MHz).
0x52 = 10101011 (fractional bits).
Could you please explain why these values are not consistent with my input clock frequency of 65 MHz, and how I can correct or interpret these register values?

I appreciate any insights or suggestions you may have to resolve the issue.

Thanks & Regards,

Rupesh

  • Hi,

     Please let us know whether are you using keyed or non-keyed part and also let us know your source device whether is generator or player?

       ADV7613-P has no HDCP keys.

       ADV7613 are keyed part which has HDCP keys.
    Thanks,
    Poornima
  • Hi,

    The source device (toradex verdin iMX8mp) is a generator which provides HDMI (Video & Audio) signals to ADV7613. I am using keyed part, below are some register readbacks:

    IO MAP:
    Addr Data
    0x21 0x08
    0x6A 0x53
    0x6B 0x00
    0x6C 0x00
    0x6E 0x00
    0x6F 0x05
    0x83 0x42
    0x84 0x00
    0x85 0x00
    0x87 0x00

    HDMI MAP:
    Addr Data
    0x00 0x00
    0x04 0x23
    0x05 0xB0
    0x0D 0x04
    0x51 0x20
    0x52 0x7C

    I have followed below procedure:
    1) Programmed slave mapping addresses
    2) Wait for 1ms, then write EDID contents to internal EDID RAM
    3) Assert the hot plug (HDMI input) on +5v detect
    4) ADI recommended write & custom register settings
    5) Enable the LCD display communication

    By following above steps HDMI MAP addresses 0x51 & 0x52 are updated which I shown above.

    Please let me know if above steps are correct to follow.

    Thanks & Regards,
    Rupesh Kathar

  • Hi,

       Please let us know, Are you observing the same issue even with other formats like 1080p ?

       Kindly note that, A video format with a pixel clock of less than 92MHz can be output on a single TX or both TXs (LVDS).
      A video format with a pixel clock of more than 92MHz must be output on both TXs(LVDS).

      For single LVDS link, Please make sure with below register,

    Single mode selection : TX_BYPASS_PIX_DEMUX, OpenLDI Tx, Address 0x4E[5]
      

    The ADV7613 LVDS transmitter can output a maximum clock frequency of 92 MHz.
    1080i/60Hz, the TMDS clock is 74.250MHz and 1080p/30Hz clock rate also would be 74.25Mhz .So we can output with single LVDS link.

    Also make sure with below recommended writes configured for LVDS Output.
    ADI recommends the below register setting should be programmed to setup the ADV7613 in LVDS mode at ADV7613_Recommended_Settings_Guide.pdf
          C0 43 03 ADI Recommended write
          C0 45 04 ADI Recommended write
          C0 46 53 ADI Recommended write
          C0 47 03 ADI Recommended write

     

    Thanks,

    Poornima

  • Hi,

    I am encountering an issue related to TMDS clock frequency and missing clock pulses. Below is the detailed setup and issue description:

    TMDS Frequency Calculation:

    I have calculated the TMDS frequency based on the TMDSFREQ and TMDSFREQ_FRAC registers, which gives me a TMDS frequency of around 63.59 MHz.
    The FREQTOLERANCE is set to the default value of 4 MHz, so I think TMDS frequency is acceptable and is within frequency tolerance range.

    Issue Observed:

    Despite the calculated frequency being within tolerance, I am seeing the following readbacks from the ADV7613 registers:

    NEW_TMDS_FRQ_RAW = 1: This indicates that the TMDS frequency has changed by more than the tolerance set in the FREQTOLERANCE register.
    VCLK_CHNG_RAW = 1: This indicates that irregular or missing pulses in the TMDS clock have triggered this interrupt.
    HDMI_CONTENT_ENCRYPTED = 0: The input stream processed by the HDMI core is not HDCP encrypted.

    Display Configuration:

    I am using a single LCD display and only one LVDS transmitter output.
    The following registers have been set to suit this setup:
    TX_BYPASS_PIX_DEMUX = 1
    TX_PIXEL_SWAP = 1

    By setting TX_PIXEL_SWAP = 1, the AVI InfoFrame checksum seems correct, and the following registers indicate no errors:
    ALWAYS_STORE_INF = 1
    AVI_INFO_RAW = 1
    AVI_INF_CKS_ERR_RAW = 0

    Given these details, I am seeking help to understand the following:

    1) What factors could cause the NEW_TMDS_FRQ_RAW = 1 and VCLK_CHNG_RAW = 1 flags to be set, even though the TMDS frequency appears to be within the specified tolerance?
    2) What could be the possible root causes of irregular or missing TMDS clock pulses in this setup?
    3) What steps or adjustments should I take to resolve this issue?

    Any guidance or suggestions would be greatly appreciated.

    Thank you for your time and assistance!

    Thanks & Regards,

    Rupesh

  • Hi,

      Kindly note that, Pixel clock for '1360x768' is 85.500 Mhz but your case it seems different and it is calculated by using below formula,

         Pixel Clock=Total Horizontal Pixels x Total Vertical Lines x Refresh Rate (Refer VESA document in order to get total horizontal & Vertical pixels)

    Also Please check your TMDS freq register calculation against below formula,

       

    At first, Please check with 1080p standard format and let us know about the result.

    Thanks,

    Poornima

  • Hi,

    I am using pixel resolution 1024 x 768 XGA and pixel clock 65 MHz not 1360 x 768 at 85.5MHz.

    Below are the contents of HDMI MAP:
    0x51 = 1F
    0X52 = CB

    I have calculated the TMDS frequency based on the TMDSFREQ and TMDSFREQ_FRAC registers, which gives me a TMDS frequency of around 63.59 MHz.
    The FREQTOLERANCE is set to the default value of 4 MHz, so I think TMDS frequency is acceptable and is within frequency tolerance range.

    Issue Observed:

    Despite the calculated frequency being within tolerance, I am seeing the following readbacks from the ADV7613 registers:

    NEW_TMDS_FRQ_RAW = 1: This indicates that the TMDS frequency has changed by more than the tolerance set in the FREQTOLERANCE register.
    VCLK_CHNG_RAW = 1: This indicates that irregular or missing pulses in the TMDS clock have triggered this interrupt.
    HDMI_CONTENT_ENCRYPTED = 0: The input stream processed by the HDMI core is not HDCP encrypted.

    I am seeking help to understand the following:

    1) What factors could cause the NEW_TMDS_FRQ_RAW = 1 and VCLK_CHNG_RAW = 1 flags to be set, even though the TMDS frequency appears to be within the specified tolerance?
    2) What could be the possible root causes of irregular or missing TMDS clock pulses in this setup?
    3) What steps or adjustments should I take to resolve this issue?

    Any guidance or suggestions would be greatly appreciated.

    Thank you for your time and assistance!

    Thanks & Regards,

    Rupesh Kathar

  • Hi,

      Please find the below comments,

    1. Poor shielding can introduce noise into the HDMI TMDS signals, causing fluctuations in the clock or signal integrity. Signal degradation due to poor cable quality, long cable lengths, or poor connectors could affect the quality of the TMDS signal, leading to irregularities in the clock frequency or missing pulses.

    If the source device (such as a DVD player, Blu-ray, or other HDMI transmitter) is experiencing instability or issues with clock generation, it might introduce inconsistencies in the TMDS clock.
    Check the status of TMDSPLL_LCK_A_RAW[6] (0x6A) , if it is 1 then only the incoming clock is perfectly locked with ADV7613. 

    Please read '0x6A' register and let us know about it.

    Depending on the source it may not even output a TMDS clock until it sees a valid EDID.  You can probe to TMDS line to see if it has the pixel clock on it.

    The sequence should be from unpowered, disconnected state:

    1) make sure the host(Source) doesn't see the ADV7613/display

    2) power up the ADV7613

    3) make sure the code has run to load the EDID data

    4) Plug in the ADV7613 to the host

    5) Verify the host(Source) sees the ADV7613 with EDID.

    Kindly note that, After writing the EDID data are you pulsing HPD low to inform the source to reread the EDID.  Either by 'HPA_MANUAL' bit or unplugging the HDMI source cable.
    Thanks,
    Poornima
  • Hi Poornima,

    I have followed the below steps:

    1) Disable HPD through HPA_MANUAL or unplugging the HDMI source cable
    2) Power up the ADV7613
    3) Map slave addresses
    4) Load EDID data to ADV7613 through external MCU
    5) Load ADI recommended write & custom register settings
    6) Enable HPD through HPA_MANUAL or plugging the HDMI source cable
    7) Power ON LCD Display

    The status of TMDSPLL_LCK_A_RAW[6] (0x6A) is 1, the contents at 0x6A is 0x53, which indicates that incoming clock is perfectly locked with ADV7613.

    Also, the source outputs a TMDS clock.

    I have provided detailed register writes in my above posts.

    Thanks & Regards,
    Rupesh Kathar

  • Hi,

       As stated many times , Please check with 1080p but we didn't get any update regarding that resolution.

      Also make sure with below referred register ,

      If PLL is not detected, then enable the PLL in the OpenLDI transmitter

    Also make sure before connecting the display make sure to powerup LVDS transmitter by making 0x40[1] as 0.
     
    Kindly note that, When dual LVDS transmitter enabled, the LVDS output clock to drive the identical panels will be running at half the input clock rate(74.25). Therefore, 1080p60 output format possible when set the dual mode. In single LVDS transmitter mode pixel frequency exceeds the maximum limit.
    And make sure your input resolutions should not exceed 1080p at 60 Hz .Dual LVDS transmitters supports up to a maximum input resolution of 1080p at 60Hz.
    Thanks,
    Poornima