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: how to change PDO configuration

Part Number: TPS25750
Other Parts Discussed in Thread: TPS25751

Tool/software:

We are working with the TPS25750 and need to change our PDO configuration from 5V 2A to another value. Currently, the device is in 'PTCH' mode, and we are unable to read the 0x32 and 0x30 registers. Could you please guide us on how to switch the device mode to 'APP' to proceed with the configuration?

  • Hi Sarthak,

    If you are working on any new designs, we strongly recommend moving to the TPS25751. The TPS25751 is the newer part and is a p2p and feature replacement. The TPS25750 is getting limited support and may have bugs/issues fixed in the TPS25751.

    To get the TPS25750 and TPS25751 out of PTCH mode, a fw image needs to be loaded on boot. The FW image is generated with the APP Config GUI as a binary(option 1) or .c(option 2) file. There are two ways to do this.

    1. Have an external I2C Flash connected to the I2Cc ports. The binary image needs to be loaded to Flash by some external means (flash programmer, board house, etc.) and then the PD controller will load the image on boot.

    2. MCU/EC loads the image on boot. See TRM pg. 80 for PBMx boot flow. MCU/EC will need to be programmed to follow this flow and load the image on boot.

    Thanks and Regards,

    Chris

  • Hi Chris,

    Thank you for the detailed explanation.

    We are not using any GUI or the EVM board for this PD controller. Instead, we are directly working with the register settings of the TPS25750.

    Here’s the process we have been following to attempt the mode change and apply the patch:

    1. Check the INT_EVENT1 register (0x14) for the ReadyForPatch (bit 1) flag.
    2. Used this following command to signal the patch process:
      i2ctransfer -y 0 w5@0x21 0x08 0x04 0x50 0x42 0x4D 0x73
    3. Write the patch data into the DATA1 register (0x09) in chunks:
      i2ctransfer -y 0 w17@0x21 0x09 <16 bytes of patch data>
    4. Signal the end of the patch loading sequence:
      i2ctransfer -y 0 w5@0x21 0x08 0x04 0x50 0x42 0x4D 0x63
    5. Finalize the patch process with:
      i2ctransfer -y 0 w5@0x21 0x08 0x50 0x42 0x4D 0x65

    The issue I am facing is that I do not know the exact data to send in the i2ctransfer command for writing the patch data to the DATA1 register:

    i2ctransfer -y 0 w17@0x21 0x09 <16 bytes of patch data>

    Could you guide me on how to determine or generate the correct patch data for this step without using the GUI? Is there an alternative method to generate the necessary data or configure the PDOs directly via registers?

    Best regards,
    Sarthak

  • Hi Sarthak,

    In the TPS25750 TRM, there is a section that describes teh patch loading flow. (Ch.4 pg. 61)

    Couple comments based on the flowchart on pg. 53

    1. It does not look like you need to send the PBMe command for a successful flash.

    2. The "Patch Bundle burst data" is generated using the GUI. Usage of the GUI is required. The GUI is used to generate the configuration FW image. For the EC programmed boot, people typically generate the low region .c file for their EC to load during this step.

    Once again, we highly recommend you switch to the TPS25751, there may be issues/bugs in the 750 that we will not be able to support that are addressed in the latest part.

    Thanks and Regards,

    Chris