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.

TUSB1211: Host / Device Mode Clarification

Part Number: TUSB1211

Hi Team –

I was hoping to clarify this device’s behavior upon reset, as I’ve recently read a couple items that seemed to contradict.

If the host controller ignores ID detection, and the ID pin is floating, then it’s in device mode, correct? I understand that the host controller impacts this, but I’m asking more on how the device acts upon reset.

The datasheet indicates this device defaults to host mode… so, how is only device mode available if the ID pin is floating? Is there a way to change this, so that it comes up in host mode?

Sampling of the ID pin is disabled by default, so I’m not seeing how floating the pin causes it to come up in device mode.

I understand that If the host controller needs ID detection, to it tie to GND through a resistor less than 1mΩ

Also, does Linux need to have the USB product ID added

Thank you!

  • Hi Dan,

    The ID pin was added to the USB cable in order to support On-the-Go. The decision of ID detection is taken by the Host controller, not on USB PHY.


    If the Host Controller ignores ID detection totally then ID pin connection is don't care and it can be left floating since there is an internal weak pull-up resistor.


    If the expected functionality is USB OTG, then the ID pin must be connected to the USB connector and the role host or device will be negotiated by the Host negotiation protocol (HNP).


    If the Host controller is going to sense ID pin and it is not connected to the USB connector, the recommendation is leave floating for a device mode or tie to GND through 1Kohms resistor for a Host mode.

    Linux does not need to have the product ID added, but it currently has the vendor ID added and some vendor ID added too. please see the link below for further details.

    http://www.linux-usb.org/usb.ids

    Regards,

    Gerardo

    Consider checking the "Verify Answer" button if I've answered the question

  • This was my question to Dan. Are the reset values for the TUSB1211 registers listed in the datasheet still accurate? We've seen the OTG_CTRL register boot up to 0x01 instead of 0x06.

    We are forcing the USB controller to be in host mode, but still cannot find the USB device on the USB bus.
  • Hi Gerardo -

    Hope you enjoyed the holidays.

    Can you please confirm this for Alex?

    Take care,

    Dan

  • Hello Alex,

    Yes they are. OTG_CONTROL register bits DRVVBUS and DRVVBUSEXTERNAL bits are
    0 by default, and DPPULLDOWN, DMPULLDOWN bits are 1 by default such that the 15 kΩ pulldown
    resistors at DP/DM pins are enabled by default.

    Regards,
    Gerardo