TPS25751: returns to PTCH mode a few seconds after patch download

Part Number: TPS25751

Tool/software:

Hello,

I am working with a TPS25751 device and an external STM32 microcontroller as I²C master. I am attempting to download the generated patch binary to the TPS25751 over I²C.

Problem description:

  • The patch binary upload completes successfully.

  • The device initially enters APP mode.

  • After approximately three seconds, the device automatically switches back to PTCH mode.

Test details:

  • Patch binary was generated with the USB PD Application Customization Tool.

  • Transfer is performed using I²C burst download from the STM32 host.

  • After upload I poll the registers once per second.

  • Attached is the register dump captured every second after the patch download completes.

Observed behavior:

  • Immediately after upload the device reports APP mode.

  • Within ~3 seconds, the device reverts to PTCH mode.

  • Register dumps attached show the transition.

Question:

  • What conditions cause the TPS25751 to revert from APP mode to PTCH mode after a seemingly successful patch load?

Thank you for your support.

Iteration 0 (time = 187609 ms)

Mode                  (0x03): 41 50 50 20   ("APP ")
Customer Use          (0x06): 78 56 34 12 F0 DE BC 9A
Command               (0x08): 00 00 00 00
Data                  (0x09): 00 00 00 00 01 02 05 B1 0F 6A 7B C8 C2 29 98 47 AD ...
Interrupt Event       (0x14): 00 00 00 00 00 00 00 00 00 00 00
Interrupt Mask        (0x16): 00 00 00 00 00 00 00 00 00 00 03
Interrupt Clear       (0x18): 00 00 00 00 00 00 00 00 00 00 00
Status                (0x1A): 20 00 00 00 00
Power Path Status     (0x26): 00 00 00 00 40
Port Control          (0x29): 72 50 80 00
Boot Flags            (0x2D): 30 03 F0 C2 C1
...
Type C State          (0x69): 00 00 00 67
Sleep Control         (0x70): 02
GPIO Status           (0x72): 00 00 00 00 0C 0C 00 00

Iteration 1 (time = 188776 ms)

Mode                  (0x03): 41 50 50 20   ("APP ")
Customer Use          (0x06): 78 56 34 12 F0 DE BC 9A
Command               (0x08): 00 00 00 00
Data                  (0x09): 00 00 00 00 01 02 05 B1 0F 6A 7B C8 C2 29 98 47 AD ...
Status                (0x1A): 00 00 00 00 00
Power Path Status     (0x26): 00 00 00 00 40
Boot Flags            (0x2D): 30 03 F0 C2 C1
Type C State          (0x69): 00 00 00 66
Sleep Control         (0x70): 02
GPIO Status           (0x72): 00 00 00 00 0C 0C 00 00

Iteration 2 (time = 189943 ms)

Mode                  (0x03): 41 50 50 20   ("APP ")
Customer Use          (0x06): 78 56 34 12 F0 DE BC 9A
Command               (0x08): 00 00 00 00
Data                  (0x09): 00 00 00 00 01 02 05 B1 0F 6A 7B C8 C2 29 98 47 AD ...
Status                (0x1A): 00 00 00 00 00
Power Path Status     (0x26): 00 00 00 00 40
Boot Flags            (0x2D): 30 03 F0 C2 C1
Type C State          (0x69): 00 00 00 67
Sleep Control         (0x70): 02
GPIO Status           (0x72): 00 00 00 00 0C 0C 00 00

Iteration 3 (time = 191110 ms)

Mode                  (0x03): 50 54 43 48   ("PTCH")
Command               (0x08): 00 00 00 00
Data                  (0x09): 00 00 00 00 ... (all zeroes)
Interrupt Event       (0x14): 00 00 00 00 00 00 00 00 00 00 02
Interrupt Mask        (0x16): 00 00 00 00 00 00 00 00 00 00 02
Interrupt Clear       (0x18): 00 00 00 00 00 00 00 00 00 00 02
Power Path Status     (0x26): 00 00 00 00 00
Boot Flags            (0x2D): 30 03 60 02 C1

Iteration 4 (time = 192252 ms)

Mode                  (0x03): 50 54 43 48   ("PTCH")
Command               (0x08): 00 00 00 00
Data                  (0x09): 00 00 00 00 ... (all zeroes)
Interrupt Event       (0x14): 00 00 00 00 00 00 00 00 00 00 02
Interrupt Mask        (0x16): 00 00 00 00 00 00 00 00 00 00 02
Interrupt Clear       (0x18): 00 00 00 00 00 00 00 00 00 00 02
Power Path Status     (0x26): 00 00 00 00 00
Boot Flags            (0x2D): 30 03 60 02 C1

  • Hello,

    What conditions cause the TPS25751 to revert from APP mode to PTCH mode after a seemingly successful patch load?

    (1) LDO_3V3 goes low (either due to VBUS or VIN_3V3).

    (2) GAID or GO2P command from the MCU

    (3) Hard reset event on the USBC

    Can you confirm that the device starts in patch, transitions to APP, and then back to patch?

    Can you share the bin file you are attempting to program?

    Please be advised that the Power Path Status register is not valid in PTCH.  

    Regards,

    Chris