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.

TUSB1064RNQEVM: How to use I2C interface with TUSB1064RNQEVM

Part Number: TUSB1064RNQEVM
Other Parts Discussed in Thread: TUSB1064

Hi,

I am planning to drive the I2C interface of TUSB1064RNQEVM development kit.

My current setup is:

- i2c_EN = 1 (jumper connected to VCC)

- SDA = 1 (jumper connected to 1K and VCC)

- SCL = 1 (jumper connected to 1K and VCC)

(R76 and R78 resistors are not present, as expected)

I did check the voltage for each pin and I have noticed that SCL maximum value is 1.9V (expected 3.3, because the pull up).

Even if I send a single message through the I2C interface, it does not work. For some reason the SCL does not reach 3.3 V at any moment.

Can you help me to understand what is the problem and how can I get info from the device through I2C interface?

  • Fabrizio

    The schematic in the app note does not match with the board, please use the attached schematic.

    HSDC025A-002 Schematics.pdf

    What does your A0 and A1 set to?

    Thanks

    David

  • Dear David,

    Thanks for coming back.

    the schematic (dated Feb 2018) you have sent me does not match the evaluation board.
    As far I can detect with multimeter and scope, the schematic on "User's Guide - SLLU278 March 2018" matches better the board.
    Unfortunately I2C is not not working yet.
    The current values for A0 and A1 are ZERO but I don't think I am facing an i2c-address issue, because the SCL line is fixed to 1.8V (expected value is 3.3V when idle).

    Is my assumption correct?

    What kind of test do you suggest me to do in order to debug it better?

    thanks
  • Unfortunately there is a typo all previous messages, it is NOT 1.8V but only 0.18V. it means almost ZERO Volt.
  • Fabrizio

    If you remove R34 (CTL0/SDA) and R37 (FLIP/SCL), what voltage are you seeing?

    Thanks
    David
  • Hi,
    Can you send the schematic you are looking at?
    Are you looking directly at the board PCB?
  • Fabrizio

    I am looking at the schematic in the "User's Guide - SLLU278 March 2018", these two resistors connecting to the GPIO output of the PD controller.

    Thanks
    David
  • Very good, we are looking at the same doc now.

    I do understand what you are planning to do, it is a good idea.

    I did find the two resistors (R34 R37), but it looks like the board has different labels compared the schematic.

    Attached you can find front and back of my board and I have highlighted the two resistors, they does not look the correct ones.

    Can I have some more help?

  • Maybe I found the correct resistors: R41 and R44.

    Let me give a try.
  • Fabrizio

    The board picture matches with the schematic I sent to you, please do not use the schematic in the app note, it does not match with the board.

    Thanks

    David

  • Dear David,

    Now I am able to drive i2c lines correctly.
    After I have changed all register I need, I cannot see any video on my monitor.
    The only work around I have found is generating a rising event on the HDP line (like connecting a DP monitor to the board).

    This is my final register configuration:
    INFO: addr=0x0A, curr=0x13
    INFO: addr=0x10, curr=0xAA
    INFO: addr=0x11, curr=0xAA
    INFO: addr=0x12, curr=0x00
    INFO: addr=0x13, curr=0x90
    INFO: addr=0x20, curr=0xAA
    INFO: addr=0x21, curr=0x0A
    INFO: addr=0x22, curr=0x04

    Can you please tell me if there is any way I can trigger the board to forward DP signals to the monitor through register?
    Is connecting a DP cable the only way to do that?

    Thanks
    F
  • Fabrizio

    How is the HPDIN being connected? HDPIN must be high to enable DP lanes, otherwise DP output will shut down as part of the TUSB1064 power management feature. You can also force HPDIN to be high by populating R1 with a 10k resistor on the board.

    Thanks
    David

  • Let me explain a bit more the current issue:

    I'm planning to drive through I2C the TUSB1064 component in order to provide USB3 AND DP-2lines at the same time.

    As you suggested I have removed the 2 resistors connected to the PD-controller and SCL/SDA lines.

    A monitor is already connected to the board.

    I can configure all registers through i2c protocol and I have sent the correct value for each of those (values available in previous post).

    Unfortunately I cannot see any image on my monitor.

    I have tried to understand the problem and It came out that IF I trigger the HPD line the image will be available on the monitor.

    - The easy way to trigger HPD is disconnecting and and connecting the video cable.

    - Another way is creating a short-circuit to ground for few millisec. (I don't think this is the correct approach, but it works).

    I did some experiments and it seems that the PD-controller requires that trigger to change state in his FSM and enable DP signals.

     

    In this scenario, is there any way to get DP signals IF I drive tusb1064 through i2c?

    --------------

    If I configure TUSB1064 using GPIO and i2c_en DISABLED I can see images on my monitor as soon as I connect the usb-c cable to my PC (monitor already connected to the board).

    Can you explain the different behavior between i2c and GPIO configuration from the point of view of the PD-controller?

    Thanks

    F

  • Fabrizio

    The HPDIN is driven by the monitor, this is the signal the monitor uses to inform the TUSB1064 and PD-controller that a monitor has been connected.

    TUSB1064 DisplayPort needs to be enabled using CTL1 pin or CTLSEL1 register and also HPDIN needs to be pulled high for the DisplayPort data trasfer to be enabled through the DisplayPort lanes. If HPDIN is low, then DisplayPort lanes will be turned off.

    If monitor does not drive HPD, you can manually force HPDIN high by populating R1 resistor.

    Thanks

    David