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.

TMDS181: 1/4 Rate Clock with 4k60 Resolution

Part Number: TMDS181

Hello,

 

I’m having a problem with the TMDS181 and looking for a little help.   My problem is very similar to these two threads:

 

 

We are seeing an issue with the TMDS181 as a sink device where it does pass through the clock properly after hotplug of Quantum Data 780E Multi-Protocol Analyzer/Generator set to 3480x2160p60 (RGB bit).   Firmware on the 780E has been confirmed as up-to-date (v18.08.3163).

 

We can scope the clock going to the IN_CLKp/n pins is 148.5 MHz, but the clock coming out of OUT_CLKp/n is 37.125 MHz.  For reference we are not using the lane swap feature.

 

If we do any of the following, the clocks on the input and output both become 148.5 MHz and video is passing correctly:

  1. Change the 780E video source to 4k30 and back to 4k60.
  2. Write a 1 to APPLY_RXTX_CHANGES.
  3. Write a 1 followed by a 0 to HPDSNK_GATE_EN.
  4. Write a 1 followed by a 0 to PD_EN.

 

With regard to methods 2, 3, and 4; they all disrupt the video and can’t be pinged on a regular basis.

 

Our I2C_EN/PIN is tied high for I2C control and we write to register 0x0B with 0x1A on power up to set the TX_TERM_CTL to 75Ω to 150Ω.

 

We have used the analyzer to check that bit 1 of address 0xA8 offset 0x20 in the SCDC register set is written with a 1’b1 when the cable to the 780E is connected, we can also verify this on our receiver, and when we read back the status of register 0x0B, it shows 0x1A, which should mean the TMDS_CLOCK_RATIO_STATUS is correct on the TMDS181 and on our receiver.

 

Also, we’ve dumped the entire 256 byte I2C register map, in a known good and known bad state.   Both maps match each other.

 

Our system looks like this:

  • HDMI Connector -> TMDS181 -> FPGA (TMDS lines)
  • TMDS181 (Local I2C Port) -> CPU

 

TMDS181 Top Marks

  • TMDS181
  • TI831
  • CDG7 G4

 

Given our system we are looking for the following:

 

  1. A register bit or configuration that avoids putting the clock into this state.
  2. A way to reliably detect if the TMDS181 is in this state through the local I2C port, at which point we can toggle the APPLY_RXTX_CHANGES bit to reset the state machine.
  3. Some kind of hardware fix.   While we can spin the board, this is the least desirable option.

 

Looking forward to your response.

 

Don