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.

TPS25750: Source mode. GPIO direct access.

Part Number: TPS25750
Other Parts Discussed in Thread: BQ25730, ,

To whom it may concern

We are developing a portable device that integrates TPS25750D and BQ25730, to recharge the internal battery with a USB-C PD mains adaptor.

We have 2 questions regarding the TPS25750D:

Question 1:

At the moment, we have succeeded in getting the TPS25750D to be configured in sink mode and we can control the battery charging without any issue.
In some use-cases, when the device is running from the battery only, we would like to connect a USB memory-stick (USB type A) to the USB-C port of our device. But we haven’t managed to configure the TPS25750D in source mode to supply the 5V for the USB memory-stick; knowing the PP5V pins are supplied with 5V rail from the battery.

To be noted, when connecting a USB-C PD hub to our device, which the USB-C mains adaptor and the memory-stick are plugged in, we can both power our device and have access to the memory-stick.

So how should we configure the TPS25750D to be in source mode running from the battery? Is there is special command to be sent via the I2Cs? Please find our config.json file attached.

 

Question 2:

we are planning to use GPIO1 (pin 6) to drive a MOSFET in order to create a ship mode function. In ship mode, most of the internal electronics is disconnected from the battery to limit power consumption; only 3V3 rail from the battery supplies the TPS25750D through VIN_3V3 (pin 38). We managed to control this GPIO as an “ordinary one” by following the TI Technical Reference Manual “slvuan1a.pdf” and by using the commands GPsh and GPsl.

Link to “slvuan1a.pdf”: www.ti.com/.../slvuan1a.pdf

Could you tell us if it is advisable to use this GPIO in such way for the TPS25750D?

 

Many thanks for your support.

Best regards,

Stéph

  • Hi Stéph,

    Can you share the .json file you are using for the TPS25750D? I did not see it attached.

    Q1: You need to check your configuration and should check the power role when the USB drive is connected. 

    In the questionnaire section, make sure you have a source and sink configuration selected. In advanced config, make sure that the Transmit Source Capabilities register (0x32) has at least Source PDO 1 with a 5-V contract. The Power Path should be PP1.

    Q2: It seems like these events were carried over from a previous device, and do not appear in the TRM for the TPS25750. You can continue to use them if they work for your current purposes, but we can not guarantee they will be supported in the future if they are not in the device TRM. It may be safer to use a GPIO from another device if one is available.

    Thanks and Regards,

    Chris

  • Dear Chris

    Many thanks for your prompt reply.

    I will pass the information to our FW and HW departments.

    For Q1, I tried to drag and drop the .json file to the description box but it seems that it failed. Tried again and it does not work here. Tried the insert "image/video/file" and still does not work. I use FIREFOX with Win7 pro.
    Do you have any suggestion how to provide you with that file?

    For Q2: Ok we will have to use a GPIO from another IC. It is too risky to rely on a function that might exist in the near future.

    Best regards,

    Stéph

  • Hi Christopher,

    I'm the software developer that works with Steph on that product.

    About the USB 5V supply question, what I understood is that the power path to enable the 5V can only be switched when a source contract in negotiated. My question is then : if I only have a USB stick plugged, is it possible to switch to a source contract in the TPS, even if there is no sink on the other side ?

    please find below our JSON config :

    {
      "questionnaire": {
        "version": "7.0.4.7",
        "answers": [4,null,3,null,1,1,1,null,1,null,2,12.6,3.072,null,null],
        "options": {},
        "configID": "0000",
        "vendorID": "0000"
      },
      "configuration": {
        "data": {
          "selected_ace": [
            {
              "register": 6,
              "data": [1,0,0,0,0,0,0,0]
            },
            {
              "register": 22,
              "data": [0,0,0,0,0,0,0,0,0,0,3]
            },
            {
              "register": 50,
              "data": [0,168,42,44,145,1,38,44,209,2,0,44,177,4,0,244,65,6,0,0,0,0,0,0,0,0,0,0,0,0,0]
            },
            {
              "register": 51,
              "data": [4,44,145,1,16,44,209,2,0,44,177,4,0,44,65,6,0,69,65,6,0,0,0,0,0,0,0,0,0]
            },
            {
              "register": 92,
              "data": [61,4,0,0,0,0,0,0,0,0,0,0,0,4,0,0,48,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,75,0,75,0,0,0,0,0,0,0,0,0,0]
            },
            {
              "register": 117,
              "data": [0,0,0,0]
            }
          ]
        }
      }
    }

    Best regards,

    Richard

  • Hi Stéph, Richard,

    Please expect some delays in responses this week due to the U.S. Thanksgiving Holiday.

    Could you share a simple block diagram of your system?

    Can you resend the .json. I tried loading what Richard sent but it did not seem to work.


    For Q1, I tried to drag and drop the .json file to the description box but it seems that it failed. Tried again and it does not work here. Tried the insert "image/video/file" and still does not work. I use FIREFOX with Win7 pro.
    Do you have any suggestion how to provide you with that fil

    It should be as simple as dragging the .json file into the reply (see test.json below). I am using Chrome on Win10.

    /cfs-file/__key/communityserver-discussions-components-files/196/test.json

    For Q2: Ok we will have to use a GPIO from another IC. It is too risky to rely on a function that might exist in the near future.

    Yeah, I think this is the safest bet. We likely will not get rid of it soon as GPIO enable/disable is a useful functionality, but it is safer to not use it in case it does get removed.


    About the USB 5V supply question, what I understood is that the power path to enable the 5V can only be switched when a source contract in negotiated. My question is then : if I only have a USB stick plugged, is it possible to switch to a source contract in the TPS, even if there is no sink on the other side ?

    Your statement and question seem to be about two things.

    Typically, power path refers to the physical path used for a contract. (ie. some of our devices support an internal power path (fet inside PD controller) and an external power path (external fet driven by gpios/gate drivers). In the web GUI, the power path is associated with specific "PDO" contracts, and can be configured in the "Transmit Source Capabilities" register.)

      

    When we say "source contract", this usually refers to the PDOs. (i.e. the 5-V 3-A contract is PDO1/source contract 1. A 9-V/3-A contract is PDO2/source contract 2. etc.)

    My question is then : if I only have a USB stick plugged, is it possible to switch to a source contract in the TPS, even if there is no sink on the other side ?

    In a USB-C PD contract, the far end must support sink capability in order for the near end PD to switch to a source contract from a sink contract. 


    Is there is special command to be sent via the I2Cs?

    There is a 'SWSr' I2C "4CC" command (Swap to Source) that may work here. Understand that this will send a PD request to the far end device, so it will require that the far end device supports swapping to sink.

    Thanks and Regards,

    Chris

  • Hi Chris,

    Thank you for your answer.

    So from what you said, having a standard USB-A drive that does not support Sink capabilities will not allow the TPS to swap to source. That's what I understood from the TPS behavior, we just wanted to double check with you. I still did the test of having a source contract (5V@3A) in our config, but as expected, the TPS refuses the 4cc SWSr command as there is not sink capability on the other end.

    Here is our updated config, not beautified, hoping it'll work this time.

    {"questionnaire":{"version":"7.0.4.7","answers":[0,0,3,0,1,1,1,null,1,null,2,12.6,3.072,null,null],"options":{},"configID":"0000","vendorID":"0000"},"configuration":{"data":{"selected_ace":[{"register":6,"data":[2,0,0,0,0,0,0,0]},{"register":22,"data":[0,0,0,0,0,0,0,0,0,0,3]},{"register":50,"data":[1,168,42,44,145,1,38,44,209,2,0,44,177,4,0,244,65,6,0,0,0,0,0,0,0,0,0,0,0,0,0]},{"register":51,"data":[4,44,145,1,16,44,209,2,0,44,177,4,0,44,65,6,0,69,65,6,0,0,0,0,0,0,0,0,0]},{"register":92,"data":[61,4,0,0,0,0,0,0,0,0,0,0,0,4,0,0,48,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,75,0,75,0,0,0,0,0,0,0,0,0,0]},{"register":117,"data":[0,0,0,0]}]}}}

    Best regards,

    Richard

  • Hi Richard,

    With the holidays this week, many device experts are currently out of the office. They will look into this and provide you a response when they return. Please expect some delay accordingly.

    Thanks,
    Field

  • Hey Richard,

    A couple comments here,

    So from what you said, having a standard USB-A drive that does not support Sink capabilities will not allow the TPS to swap to source.

    Yes and no. The USB-A drive is a USB sink device, and on connection, it's power role will be sink, and the TPS25750's power role will be source. The USB-A drive should support sink capabilities. The one distinction to make here is that the USB-A drive and the connection are not USB-C PD, just generic USB-C.

    The swap to source could be failing for a couple reasons, one being that this is not a USB-C PD connection. PD is what facilitates the role swap, so this is likely why you are seeing the SWSr command being rejected.

    If the TPS25750 supports USB-C PD and USB-C device connections. 

    Here is our updated config, not beautified, hoping it'll work this time.

    Thanks! This one worked.


    Using the project you shared, I programmed a TPS25750EVM and tried connecting a USB-A flash drive. The system appears to be working properly and I can see that the EVM is supplying 5-V to the flash drive on VBUS.

    Also, I read the Status registers (0x1A), and it appears like the TPS25750 is entering as a legacy source correctly.


    Summary: The USB-A flash drive will show up as a legacy (non-PD) sink. SWSr fails because it is a non-PD contract, and you should check the status register or measure VBUS, as the TPS25750 should automatically be the source when a Flash Drive is connected.

    Let me know if there was anything confusing or not explained well.

    Thanks and Regards,

    Chris

  • Dear Chris

    Many thanks for your reply.

    I was wondering if you could check our schematic-diagrams related to the TPS25750 and BQ25730 to see if there is no issue there. Please find attached 2 files here below, 1 showing the TPS+BQ, and the other one for the USB-C socket connections.

    Many thanks for your support.

    Best regards.

    Stéph

    TPS25750 + BQ25730 schematic diagrams - Extract.pdf

    USB-C socket schematic diagrams - Extract.pdf

  • Hi Stéph,

    Please give me a week to look over the schematics. 

    I would recommend posting another E2E to get the BQ25730 portion of the schematic reviewed, as I will be primarily checking the USB-C PD controller portion of the schematic.

    Thanks and Regards,

    Chris

  • Hi Chris

    Many thanks for your support.
    I think we are quite confident about the BQ25730.
    We just would like confirmation that the circuitry around the TPS25750 is correct, and especially to confirgure it in source mode in order to connect a USB memory stick.

    Regards,
    Stéph

  • Hi Stéph,

    Got it, do you have any other requirements for the port?

    Power, sink/source/drp, dead battery, data?

    Thanks and Regards,

    Chris

  • Hi Chris,

    The desired behavior we want for this port is "only" Sink (except for USB drive support), Dead Battery, and DFP data role.

    This will be for a product working on battery and USB-C PD supply. The PD supply is meant to charge the battery and supply the system, up to 60W. Being able to read data on a USB drive while USB-C PD plugged is mandatory and while on battery would be a really nice to have!

    We already got everything working, except for the USB drive source role on battery.

    Thank you

    Regards

    Richard

  • Hi Stéph,

    I took a quick look at the schematics and did not see anything stand out. 

    How are you loading the firmware image to the PD controller? (EEPROM or with and MCU?)

    When you test the system, can you check the status of the dead battery flag and the ActingAsLegacy bits?

    If you are stuck in dead battery mode, you may need to clear the dead battery flag with the 'DBFG' 4CC command in order to source.

    Thanks and Regards,

    Chris

  • Hi Chris,

    the ActingAsLegacy bits seem to be indeed our problem here.

    We already checked the rest including the DeadBatteryFlag. We added in our firmware a json dump to check all the registers.

    Please find below the TPS state with USB-C PD + Battery, the USB drive is plugged to our device through a USB-C PD adapter to have USB-A data and USB-C PD at the same time. We can access the content of the drive.

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 2,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 1,
                                    "conn_state": 6,
                                    "plug_orientation": 1,
                                    "port_role": 0,
                                    "data_role": 1,
                                    "vbus_status": 2,
                                    "usb_host_present": 3,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 1,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 6,
                                    "PDO1": {
                                            "maximal_current_mA": 2500,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "maximal_current_mA": 2730,
                                            "voltage_mV": 9000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "maximal_current_mA": 2800,
                                            "voltage_mV": 12000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "maximal_current_mA": 2840,
                                            "voltage_mV": 15000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO5": {
                                            "maximal_current_mA": 3130,
                                            "voltage_mV": 20000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO6": {
                                            "maximal_current_mA": 3520,
                                            "voltage_mV": 38800,
                                            "peak_current": 1,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 3
                                    }
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 1000,
                                            "voltage_mV": 5000
                                    }
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 3130,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 1,
                                    "source_sink": 1,
                                    "type_c_current": 3,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 2
                            },
                            "pd_status": {
                                    "cc_pull_up": 3,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 2,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 5,
                                    "typec_port_state": 97
                            }
                    }
            }
    }
    

    And now the state after unplugging the USB-PD of the adapter, with the USB drive, still connected to our device. The USB drive disappeared from our system and we cannot read the content anymore.

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 2,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 0,
                                    "conn_state": 0,
                                    "plug_orientation": 0,
                                    "port_role": 0,
                                    "data_role": 0,
                                    "vbus_status": 0,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 6,
                                    "PDO1": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO5": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO6": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0
                                    }
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 0,
                                            "voltage_mV": 0,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 0,
                                    "source_sink": 0,
                                    "type_c_current": 0,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 0
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 0,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 102
                            }
                    }
            }
    }
    

    I'm sorry to dump you so much data at once, but if you say this works on the eval board and should work on our side too, either we overlooked something really obvious or it's a really small detail no one thinks about... Stephane and myself are just confused about all of this.

    Thank you for your time,

    Best Regards,

    Richard

  • Hi Richard,

    Can you send a picture and block diagram of the system you are currently testing with. (The DUT, adapter, and type-c flash drive). What does this adapter look like?

    It looks like when you "remove the USB-PD of the adapter", we go from seeing a connection, to no connection. If the TPS25750 cannot discover a connection, it will not attempt to deliver power.

    Could you also obtain a PD log of the transaction between the adapter and TPS25750?

    Thanks and Regards,

    Chris

  • Hi Chris,

    Here are the block diagram and the picture of our adapter. I don't post a picture of the DUT as you already have the schematics Stephane sent earlier.

    What do you mean by a PD log ?

    Best regards

    Richard

  • Hi Richard,

    Thanks for the information.

    A PD log is a decoded log of the CC lines that captures the PD messaging on a USB-C cable. It is very useful for observing the system state for USB-C PD.

    My concern here is that the DUT will initially become a Power Sink when the adapter has the 60W supply attached. When the 60W supply is removed, type C is still attached but i'm not sure what the adapter does when the 60W supply is removed. (does it request a power role swap?) 

    Can you recapture the register dumps in a new situation? One for each step?

    1. TPS25750 with nothing attached

    2. Attach the USB-C adapter with the flash drive plugged in

    3. Remove the USB-C adapter

    The second register dump you sent me indicates that the TPS25750 does not even identify that something is plugged into the port. Do you have any way to connect a type-C drive directly to the TPS25750 type-c connector?

    Could you also send a product name/link for the adapter you are using.

    Thanks and Regards,

    Chris

  • Hi Chris,

    Unfortunately I don't have that kind of USB-C PD logger tool, neither a type-C drive right now. I'll be also away during the end of the year holidays, so I'll try to test it as soon as I come back.

    This is the link of the adapter we use : https://www.amazon.fr/Portable-Splitter-Adaptateur-Ordinateurs-Portables/dp/B09XCCC13Y/ref=sr_1_9?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=8F0N46SDBKUU&keywords=usb%2Bc%2Bpd%2Bhub&qid=1687766348&sprefix=usb%2Bc%2Bpd%2Bhub%2Caps%2C80&sr=8-9&th=1

    Because it's a cheap one, it wouldn't surprise me it doesn't handle the power delivery protocol properly and doesn't request a role swap.

    In the mean time, here are the logs you wanted :

    Step 1. TPS25750 with nothing attached

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 2,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 0,
                                    "conn_state": 0,
                                    "plug_orientation": 0,
                                    "port_role": 0,
                                    "data_role": 0,
                                    "vbus_status": 0,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 0
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 0
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 0,
                                            "voltage_mV": 0,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 0,
                                    "source_sink": 0,
                                    "type_c_current": 0,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 0
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 0,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 102
                            }
                    }
            }
    }
    

    Step 2. Attach the USB-C adapter with the flash drive plugged in

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 2,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 1,
                                    "conn_state": 6,
                                    "plug_orientation": 0,
                                    "port_role": 0,
                                    "data_role": 1,
                                    "vbus_status": 2,
                                    "usb_host_present": 3,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 1,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 6,
                                    "PDO1": {
                                            "maximal_current_mA": 2500,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "maximal_current_mA": 2730,
                                            "voltage_mV": 9000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "maximal_current_mA": 2800,
                                            "voltage_mV": 12000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "maximal_current_mA": 2840,
                                            "voltage_mV": 15000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO5": {
                                            "maximal_current_mA": 3130,
                                            "voltage_mV": 20000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    },
                                    "PDO6": {
                                            "maximal_current_mA": 3520,
                                            "voltage_mV": 38800,
                                            "peak_current": 1,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 3
                                    }
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 1000,
                                            "voltage_mV": 5000
                                    }
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 3130,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 1,
                                    "source_sink": 1,
                                    "type_c_current": 3,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 2
                            },
                            "pd_status": {
                                    "cc_pull_up": 3,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 1,
                                    "cc1_pin_state": 5,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 97
                            }
                    }
            }
    }
    

    Step 3. Remove the USB-C adapter

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 2,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 0,
                                    "conn_state": 0,
                                    "plug_orientation": 0,
                                    "port_role": 0,
                                    "data_role": 0,
                                    "vbus_status": 0,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 6,
                                    "PDO1": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO5": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO6": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 0,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 0,
                                            "voltage_mV": 0
                                    }
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 0,
                                            "voltage_mV": 0,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 0,
                                    "source_sink": 0,
                                    "type_c_current": 0,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 0
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 0,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 102
                            }
                    }
            }
    }
    

    If this confirms the problem comes from the adapter at least I will have an explanation of why we cannot make it work.

    Thanks and regards,

    Richard

  • Hi Richard,

    Did you complete step 2 with the 60W supply attached? The TPS25750 is configured as a sink.

    For step 2, could you try attaching the USB-C Adapter with only the flash drive attached? (No wall adapter).

    Thanks and Regards,

    Chris

  • Hi Chris,

    Happy new year !

    Oops it seems the previous test was maybe lost in translation. But while I was away, we received a new prototype version fixing some supposedly unrelated stuff. So did again the tests for you on this new board. Weird enough, now this seems to work ! I don't understand.... Maybe my previous testing electronics was damaged due to all the testing I did, or the changes fixed something about the USB communication as board effect.

    Please still find the correct registers dump for the 3 asked steps :

    1.

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 3,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 0,
                                    "conn_state": 0,
                                    "plug_orientation": 0,
                                    "port_role": 0,
                                    "data_role": 0,
                                    "vbus_status": 0,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 0
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 0
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 0,
                                            "voltage_mV": 0,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 0,
                                    "source_sink": 0,
                                    "type_c_current": 0,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 0
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 0,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 0,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 102
                            }
                    }
            }
    }
    

    2.

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 3,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 1,
                                    "conn_state": 6,
                                    "plug_orientation": 0,
                                    "port_role": 1,
                                    "data_role": 1,
                                    "vbus_status": 2,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 3,
                                    "pp1switch": 2,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 0
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 0
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 1,
                                            "higher_capability": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 1,
                                    "source_sink": 0,
                                    "type_c_current": 3,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 2
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 1,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 1,
                                    "cc1_pin_state": 2,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 96
                            }
                    }
            }
    }
    

    3.

    {
            "registers": {
                    "tps": {
                            "mode": "APP ",
                            "type": "I2C ",
                            "custuse": {
                                    "word1": 3,
                                    "word2": 0
                            },
                            "device_capabilities": {
                                    "power_role": 0,
                                    "usb_pd_capability": 0,
                                    "bc1p2_supported": 3,
                                    "i2cm_level": 1
                            },
                            "int_event1": {
                                    "cmd_complete": 0,
                                    "error_device_incompatible": 0,
                                    "error_cannot_provide_voltage_or_current": 0,
                                    "error_can_provide_voltage_or_current_later": 0,
                                    "error_power_event_occurred": 0,
                                    "error_missing_get_cap_message": 0,
                                    "error_protocol_error": 0,
                                    "error_message_data": 0,
                                    "snk_transition_complete": 0,
                                    "plug_early_notification": 0,
                                    "error_unable_to_source": 0,
                                    "tx_mem_buffer_empty": 0,
                                    "patch_loaded": 0,
                                    "ready_for_patch": 0,
                                    "i2c_master_nack_ed": 0
                            },
                            "status": {
                                    "plug_present": 0,
                                    "conn_state": 0,
                                    "plug_orientation": 0,
                                    "port_role": 1,
                                    "data_role": 0,
                                    "vbus_status": 0,
                                    "usb_host_present": 0,
                                    "acting_as_legacy": 0,
                                    "bist": 0
                            },
                            "power_path_status": {
                                    "pp_cable1_switch": 0,
                                    "pp1switch": 0,
                                    "pp3switch": 0,
                                    "pp1_overcurrent": 0,
                                    "pp_cable1_overcurrent": 0,
                                    "power_source": 1
                            },
                            "port_control": {
                                    "type_c_current": 2,
                                    "resistor15k_present": 0,
                                    "charger_advertise_enable": 0,
                                    "charger_detect_enable": 0
                            },
                            "boot_status": {
                                    "patch_header_err": 0,
                                    "dead_battery_flag": 0,
                                    "i2c_eeprom_present": 1,
                                    "patch_download_err": 0,
                                    "master_tsd": 0,
                                    "patch_config_source": 5,
                                    "rev_id": 161
                            },
                            "device_info": "TPS65992 HW00A1 FWF509.05.61_0003 ZAceS",
                            "rx_source_caps": {
                                    "num_pdo": 0
                            },
                            "rx_sink_caps": {
                                    "num_pdo": 0
                            },
                            "tx_source_caps": {
                                    "num_pdo": 1,
                                    "PDO1": {
                                            "maximal_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "peak_current": 0,
                                            "unchunked_ext_support": 0,
                                            "dual_role_data": 1,
                                            "usb_suspend_support": 0,
                                            "dual_role_power": 1,
                                            "supply_type": 0,
                                            "power_path": 0
                                    }
                            },
                            "tx_sink_caps": {
                                    "num_pdo": 4,
                                    "PDO1": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 5000,
                                            "dual_role_data": 0,
                                            "higher_capability": 1,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO2": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 9000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO3": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 15000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "PDO4": {
                                            "operational_current_mA": 3000,
                                            "voltage_mV": 20000,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    },
                                    "active_contract_pdo": {
                                            "operational_current_mA": 0,
                                            "voltage_mV": 0,
                                            "dual_role_data": 0,
                                            "higher_capability": 0,
                                            "dual_role_power": 0,
                                            "supply_type": 0
                                    }
                            },
                            "power_status": {
                                    "power_connection": 0,
                                    "source_sink": 0,
                                    "type_c_current": 0,
                                    "charger_detect_status": 0,
                                    "charger_advertise_status": 0
                            },
                            "pd_status": {
                                    "cc_pull_up": 0,
                                    "port_type": 0,
                                    "present_pd_role": 1,
                                    "soft_reset_details": 0,
                                    "hard_reset_details": 0,
                                    "error_recovery_details": 0,
                                    "data_reset_details": 0
                            },
                            "type_c_state": {
                                    "cc_pin_for_pd": 0,
                                    "cc1_pin_state": 0,
                                    "cc2_pin_state": 0,
                                    "typec_port_state": 103
                            }
                    }
            }
    }
    

    When I unplug the wall adapter, I can see our system re-discovering the USB data, after switching its 5V power path.

    Now that it's working on several USB-C hub/adapters, I can also notice that the no-brand adapter I had isn't working properly. When communication uses CC1, et works fine, but when it's CC2, the communication seems to fail.

    I guess this concludes this question, as it's working as it should.

    Many thanks for your time and guidance,

    Best Regards

    Richard

  • Hi Richard,

    Happy New Years!

    Glad to hear that the issue has been resolved, and I am glad I was able to help.

    I'll be closing this thread now, but please submit a new thread on E2E if any more questions arise.

    Thanks and Regards,

    Chris