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.

TPS65987D: Patch Bundles example for SPI-Flash Less System

Part Number: TPS65987D
Other Parts Discussed in Thread: TPS6598X-CONFIG

Hi Team,

My Customer is going to evaluate the TPS65987D with SPI-Flash Less System. Their external hosts (SoC) does download the patch bundles (containing the application configuration and code patch) to the SRAM of the TPS65987D over I2C.
They refer Application Report "TPS65987DDH Host Programming for SPI-Flash Less Systems". There is example code in the Application Report, but it is not easy to understand them. If there is the Patch Bundles example for the following operation, could you let me show that?

***********************************************************************************************
Boot Mode Pin Strapping: ADCIN1 DIV = 0.30 ~ 0.38
<Dead Battery Mode> BP_ECWait_Internal
      The internal power switch from VBUSx to PP_HVx is enabled for the port receiving power. The device infinitely tries to load configuration.
                        &
<Device Configuration> Infinite Wait
      Device infinitely waits in boot state for configuration information.
***********************************************************************************************
TPS65987D is set as follows first,
 - Power Role: DFP, PDO=5V/3A
 - Data Role: DFP
TPS65987D waits connection of device
After connection of device was done, if it is possible to swap the Data Role,
 - Power Role: DFP
 - Data Role: UFP
***********************************************************************************************

Thank you.

Best Regards,

Koshi Ninomiya

  • Hi Ninomiya-san,

    I may need some help to completely understand the question.

    Have you tried the TPS6598x configuration tool at www.ti.com/.../tps6598x-config This will allow you to create a customized firmware patch that sets the desired initial configuration including preferred power and data role and initial PDO. You may also set USB PD behavior options such as Try.Src or set the device to initiate a data or power role swap on connection. These settings may address the concerns in your message. Please let me know if there are still open questions.

    Regards,
    Scott
  • Hi Scott-san,

    When I use the TPS6598x configuration tool, select "New Project", and Save Binary, check on "Size Optimized low region (for I2C Boost using PTCx)", could you explain which file format I should save?

    If it is possible, could you demonstrate to create customized firmware for the following requirements?

    ***********************************************************************************************
    The external hosts (SoC) does download the patch bundles (containing the application configuration and code patch) to the SRAM of the TPS65987D over I2C.
    ***********************************************************************************************
    TPS65987D Boot Mode Pin Strapping: ADCIN1 DIV = 0.30 ~ 0.38
    <Dead Battery Mode> BP_ECWait_Internal
          The internal power switch from VBUSx to PP_HVx is enabled for the port receiving power. The device infinitely tries to load configuration.
                            &
    <Device Configuration> Infinite Wait
          Device infinitely waits in boot state for configuration information.
    ***********************************************************************************************
    TPS65987D is set as follows first,
     - Power Role: DFP, PDO=5V/3A
     - Data Role: DFP
    TPS65987D waits connection of device
    After connection of device was done, if it is possible to swap the Data Role,
     - Power Role: DFP
     - Data Role: UFP
    ***********************************************************************************************

    Thank you.

    Best Regards,

    Koshi Ninomiya

  • Hi Ninomiya-san,

    You may create either a low region .bin file or size-optimized .bin file for use with PTCx 4cc commands. The older method was to use a regular low region bin file and this should still work. Redundant information was removed for the newer option to create a size-optimized file.

    I cannot create a project for you but I can suggest you will find these settings in the tabs "Port Configuration", "Port Control", and "Transmit Source Capabilities". The Port Control tab will let you adjust the port's preference, such as if it prefers to be DFP even if the port is configured as DRP.

    Regards,
    Scott
  • Hi Scott-san,

    I suggested the binary file to the customer as follows,

    TPS6598X-CONFIG: Application Customization Tool v5.13

     >Binary

        >Save Binary

           >Save File Type: Low Region

           >Save File Format: ‘c’ array declaration (.c)

    They tried to create the binary file.
    The size of that became 13696 bytes, it means 64 bytes x 214. is that file size correct?
    Could you check their binary file (attached bellow)?

    isaribi-DFP_Test_2nd_20190509.pjt

    Thank you.

    Best Regards,

    Koshi Ninomiya

  • Hi Ninomiya-san,

    You are correct, generating a 'c' array from the tool is useful for the patch process.

    I can't check the generated file for correctness but I can say in general that the tool will create correct output either in .bin or .c format and that the general size you mention are typical.

    Regards,
    Scott