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.

TPS26750: Load patch bundle from MCU over I2C

Part Number: TPS26750

Tool/software:

Hi,

I am following the process in chapter 6.2 in TPS26750 Technical Reference Manual (SLVUCR7 – SEPTEMBER 2024) without luck.

I am using the low region binary generated from the USBCPD Application Customization tool. Is this correct?

It seems that what I try to download is not recognized as a patch. Here is the output data from the PBMc task.

Is the header "ACE0_0001" part of the bundle?

DevicePatchCompleteStatus = 0x80 and AppConfigPatchCompleteStatus = 0x40

PBMc_output:
00 00 40 80 00 05 4b c7 7a e3 3c 3b 1e f8 01 8b
35 04 19 bc 49 44 34 08 00 03 01 3a 01 1d 00 00
20 0b 98 0e 00 00 00 00

I find the documentation not very clear regarding what a bundle is, what is the configuration and what is application.

It is also a bit unclear if TPS26750 can be used without an EEPROM.

Could you also clarify the payload of the PBMs task from chapter 5.4.1? Is the payload 6bytes long? What is the number of the first byte, 0 or 1?

- What is the endianness of Low Region Binary bundle size? LSB or MSB first?

- Bundle size field is referring to bytes 0-3, while byte 1 to bits 8:15. The next field is  i2c target address in byte 5.

In the Write Patch Bundle burst data stage:

- does the bundle need to be downloaded in a single I2C transaction?

- What about the Unique Address write register protocol where first byte in the transaction is the byte count to follow?

Best regards,

Georgios

  • Hi Georgios, 

    Looking into this and will provide feedback by end of tomorrow. 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    I actually managed to download a patch. What I was doing wrong is that my misunderstanding of the the burst download operation. I was trying with an I2C write to the DATA register to the I2C address given at the PBMs command payload. It seems that what is required is a write transfer to the I2C secondary address.

    This means that the PBMs payload is 6 bytes and the patch length little endian. I would still appreciate any info regarding the structure of the patch, what is application and what is configuration.

    Thank you,

    Georgios

  • Hi Georgios, 

    Glad to hear you were able to resolve your issue with loading the patch! 

    This means that the PBMs payload is 6 bytes and the patch length little endian. I would still appreciate any info regarding the structure of the patch, what is application and what is configuration.

    The binary configuration is a combination of the internal firmware PD firmware with the configuration (settings through the GUI) embedded. There is no method to decode the entirety of the binary due to the complexity of the USB Type-C and PD state machine. 

    Let us know if you have any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin