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.

TMDS1204: HPD_IN/HPD_OUT

Part Number: TMDS1204

Tool/software:

I am going to use TMDS1204 for my project, as exactly liner re-driver (not as limited re-driver), and I am not going to use re-driver’s HPD functionality at all, more than I want to have manual control of the re-driver as much as possible. So let me clarify a couple points regarding the HPD feature.

As I understand HPD_IN has two main goals:

- inform internal logic of re-driver (like HPD_PWRDWN, SIGDET, RX_TERM)

- level-shifter

  1. I would like to control input RX_TERMINATION manually, and as far as I understand I don’t have the capability to overwrite the HPD_IN state. So, I can see only one option for control input termination is using “RX_TERM_DISABLE” 0x08[5] bit and holding HPD_IN pin always HI by HW side. Right?
  2. I would like to hold the re-driver always active, so I keep “HPD_PWRDWN_DISABLE” 0x01[2] as “1” and HPD_IN pin as HI. So, I should not expect any problems from the relation of power down mode and HPD_IN here. Right?
  3. Is there any other not obvious relation between HPD_IN and other re-driver’s parts which can be a problem if HPD_IN pin is always HI.
  • Hi Nikita,

    1. You can override the HPD state using the PD_RST register bits 2:0. To set the TMDS1204 in active mode regardless of HPD, set PD_EN to 0, STANDBY_DISABLE to 1, and HPD_PWRDWN_DISABLE to 1.

    To toggle the RX terminations, you would use RX_TERM_DISABLE as you've described.

    2. You will also need to set PD_EN to 0 to hold the re-driver always active. If you do not want the device to use the standby state then you will also need to set STANDBY_DISABLE to 1.

    3. There is no issue for the TMDS1204 with holding HPD_IN high, however you can encounter system level issues if you do this. The video sink and source use HPD to communicate when an attachment has occurred. If you are constantly pulling HPD high, the video source may not detect when the sink is disconnected or changed with a new sink. I recommend using the I2C registers to override HPD rather than holding HPD high if you are passing the system HPD through our part.

    Best,

    Shane

  • Hi, thank you for the comments!

    1. So does it mean that 

    if PD_EN = 0, STANDBY_DISABLE = 1, and HPD_PWRDWN_DISABLE = 1 but HPD_IN pin is low, I still can turn on the RX termination via 0x08[5] bit? (RX_TERM_DISABLE=0)?

    3. Sorry I forgot to mention I am going to use my own circuits for all low-speed signals. They will be controlled by FPGA or GPU. So I probably will not connect DDC, HPD to TMDS at all. 

  • if PD_EN = 0, STANDBY_DISABLE = 1, and HPD_PWRDWN_DISABLE = 1 but HPD_IN pin is low, I still can turn on the RX termination via 0x08[5] bit? (RX_TERM_DISABLE=0)?

    Yes I believe so. Let me check internally to confirm on this.

    3. Sorry I forgot to mention I am going to use my own circuits for all low-speed signals. They will be controlled by FPGA or GPU. So I probably will not connect DDC, HPD to TMDS at all. 

    In that case there shouldn't be any issue leaving HPD_IN high through a pullup.

    Best,

    Shane

  • Yes I believe so. Let me check internally to confirm on this

    Ok, thank you, I'll wait

    In that case there shouldn't be any issue leaving HPD_IN high through a pullup.

    Greate, thanks!

  • Hi Nikita,

    The RX terminations will be enabled by default when overriding the HPD signal through I2C registers. This is shown in Table 7-21:

    You can use the RX_TERM_DISABLE register to disable these terminations as needed. This should allow you to manually toggle the RX terminations.

    Best,

    Shane

  • I see, thanks a lot!