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.

TPS25751: TPS25751 Design Feasibility Evaluation for Role Swap Use Case.

Part Number: TPS25751

Tool/software:

Hi TI team,

We are currently evaluating a product concept with the TPS25751, where the customer wants to design an external expansion dock that can also provide power to the host system. Therefore, USB PD Role Swap support is required. The intended behavior is as follows:

  • Initially, the host is in a Dead Battery state (no internal battery), so the dock provides power after negotiating via the CC pins.

  • The dock only supports USB 2.0 data as a UFP.

  • After the host becomes power ready, it initiates a Data Role Swap to switch the dock into UFP mode for data communication.

We noticed that the TPS25751 supports a Web-based GUI and pre-configured firmware:
https://www.ti.com/product/TPS25751

We have the following questions:

  1. Can the TPS25751 fulfill our product requirements? What considerations or limitations should we be aware of?

  2. Is it feasible to achieve this design without an MCU on the dock side, using only the Web-based GUI and pre-configured firmware?

  3. The TPS25751 datasheet mentions that "The GPIO is driven high when the data role of any port in the PD controller is UFP."
    Since our dock only supports UFP, we plan to use a USB MUX to disconnect the USB data lines initially, and then connect them after confirming the role has swapped to UFP using the GPIO signal from TPS25751.
    Is this approach viable?

  4. How can we configure the GPIO event "The GPIO is driven high when the data role of any port in the PD controller is UFP"?
    We didn’t find this option in the Web-based GUI. Is it possible to implement this function through the pre-configured firmware in a no-MCU design?

Thanks for your support!

  • Hi Tom, 

    Can the TPS25751 fulfill our product requirements? What considerations or limitations should we be aware of?

    TPS25751 can be configured to be Dual Role Data (DRD) and has the capability to process Data Role request to become DFP or UFP depending on the configuration set through the Web-based GUI. Is TPS25751 being used in the external expansion dock? 

    Is it feasible to achieve this design without an MCU on the dock side, using only the Web-based GUI and pre-configured firmware?

    If the only function you need from the PD is to have the capability to accept data role swap and drive GPIOs based on the pre-configured settings, then no MCU is needed. Do keep in mind TPS25751 does require it's configuration to be loaded upon every boot-up so an EEPROM will be required for a MCU-less system. From the GUI, you'll need to generate a full flash binary and load this binary image into a 32KB EEPROM such as the CAT24C256. TPS25751 will be the I2C controller (legacy master) to the EEPROM which will act as the I2C target (legacy slave). The EEPROM also needs to have I2C target address of 0x50. 

    The TPS25751 datasheet mentions that "The GPIO is driven high when the data role of any port in the PD controller is UFP."
    Since our dock only supports UFP, we plan to use a USB MUX to disconnect the USB data lines initially, and then connect them after confirming the role has swapped to UFP using the GPIO signal from TPS25751.
    Is this approach viable?

    Yes this is viable, in the TPS25751 Technical Reference Manual there is a GPIO events table that list out all the available GPIO events that can be used on any of TPS25751 GPIO pins. See the two possible events you can use for UFP indication below: 

    How can we configure the GPIO event "The GPIO is driven high when the data role of any port in the PD controller is UFP"?
    We didn’t find this option in the Web-based GUI. Is it possible to implement this function through the pre-configured firmware in a no-MCU design?

    To configure the GPIO pins in the web-based GUI, enable "Advanced Configuration" as shown below:

    This will open up the entirety of TPS25751 Host Interface, scroll down to find IO Config (0x5c) and select any GPIOs you want to configure. Once you select the GPIO, click on the drop down menu for the events and select the UFP event. In the example below, GPIO1 is now set to ufp_indicator_event (44). 

    Let us know if there's any additional questions or concerns! 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Thank you for your reply!

    Our product consists of a main unit and a docking station, and we are currently evaluating its feasibility.

    The main unit includes an MCU. Its Type-C port functions as a Power Sink only and supports USB 2.0 DRP for data.
    The docking station does not have an MCU. Its Type-C port acts as a Power Source and supports USB 2.0 UFP for data.

    There are two usage scenarios:

    1. The main unit is connected directly to a USB-C power adapter.

    2. The main unit is connected to the docking station to expand I/O.

    Based on these requirements, support for USB-C PD Role Swap functionality may be necessary, and we are currently studying this further.

    We noticed that the TPS25751 supports pre-configured firmware, which could meet the MCU-less requirement on the docking station. On the main unit side, we are also evaluating which PD controller to pair with.

    Given our requirements, are there any design considerations we should be aware of?

    Thanks for your support!

  • Hi Tom, 

    The main unit includes an MCU. Its Type-C port functions as a Power Sink only and supports USB 2.0 DRP for data.
    The docking station does not have an MCU. Its Type-C port acts as a Power Source and supports USB 2.0 UFP for data.

    Is TPS25751 going to be on both sides of the main unit and the docking station? Based on these requirements given, TPS25751 can achieve these functionalities on both ends without the need for MCU. I recommend purchasing the TPS25751 EVM to test with in order to see the full functionality. 

    Based on these requirements, support for USB-C PD Role Swap functionality may be necessary, and we are currently studying this further.

    When two PD capable devices are first connected, the source will be DFP and the sink will be UFP. After PD negotiation is completed, either PD can request to do a DR_Swap (Data Role Swap) to become the DFP/UFP. If both sides are DRD (Dual Role Data) then the data roles can then be swapped. 

    We noticed that the TPS25751 supports pre-configured firmware, which could meet the MCU-less requirement on the docking station. On the main unit side, we are also evaluating which PD controller to pair with.

    TPS25751 still requires the PD config to be loaded upon boot-up. The PD config (binary image) is generated from the web-based GUI and for a MCU-less system, you'll need to have an EEPROM connected to TPS25751 I2Cc pins where the EEPROM has the PD config (full flash binary) loaded. During boot-up, TPS25751 will read from the EEPROM and load the configuration stored in it into TPS25751 RAM. 

    Let us know if there's any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin