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