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.

TDA4VH-Q1: CSI D-Phy Terminal Resistor Control

Part Number: TDA4VH-Q1
Other Parts Discussed in Thread: TDA4VH, TDA4VM

Hi TI Experts,

Customer is working on TDA4VH latest SDK.

Our TI Serdes experts are supporting customer use TDA4VH to connect to our Serdes, but meeting some MIPI consistence problem.

Our TI Serdes experts are asking if our TDA4VH CSI D-Phy has the register that could adjust the D-Phy terminal resistor to adjust the CSI signal quality?

Could you please check if we have this register or not?

Thanks,

Kevin

  • Hi TI Experts,

    Our Serdes feedback to me that, if you could see from the MIPI standard below, this is a basic requirement that SOC could support transmit/receive the data with a range of voltage swing values. And generally the IVI SOC like Qualcomm supports to adjust the CSI D-PHY terminal resistor to achieve this. May I know if you could help to check if our TDA4VH has such kind of register that could meet this requirement?

    mipi_C-PHY-v2-1_cts_v1-0.pdf

    Thanks,

    Kevin

  • Hi Kevin,

    Here is the response from IP vendor:

    The termination value is not "programmed" with a direct Ohm value; instead, it is calibrated against a reference and then adjustable via offset value.
    • Initial Calibration: The PHY uses an external precision resistor (500 ohm ±1%) connected to the RCALIB pin to calibrate the internal termination resistors to a target of 100 ohm differential (50 ohm single-ended).
    • Fine-Tuning: Once calibrated, you can use the digital registers to "nudge" this value up or down if your system requires a specific impedance adjustment to compensate for board-level variations.

    The CMN_DIG_TBIT0 register is the primary interface for manual override and fine-tuning of the resistor calibration.
    o Bit 14 (rx_res_cal_code_adj_en): Set this to 1'b1 to enable manual adjustment of the calibrated value.
    o Bit 15 (rx_res_cal_code_adj_action): Controls the direction of the adjustment.
          Set to 1'b1 to increment the calibration code (increasing resistance).
          Set to 1'b0 to decrement the calibration code (decreasing resistance).

    While the exact Ohm-per-step is process-dependent, the 5-bit code covers the required MIPI range (typically 80 ohm to 125 ohm differential). Therefore, each adjustment step (1 LSB change in the code) represents a change in differential resistance.

    This is the register they're referring to (taken from TDA4VM registers):

  • Hi Mark,

    Thanks for your feedback. Can I summary from Cadence response that the terminal registers can be manually adjusted?

    And in the below reply, it only mentioned the direction of calibration code, but how can we set it to an exact number which we want?

    Bit 15 (rx_res_cal_code_adj_action): Controls the direction of the adjustment.
          Set to 1'b1 to increment the calibration code (increasing resistance).
          Set to 1'b0 to decrement the calibration code (decreasing resistance).

    Thanks!

  • Hi Harry,

    Yes, it can be adjusted but the exact value from device-to-device is unknown due to the process variation. There does not appear to be a control to set an exact value.