Version 0.2.2
The only thing changed in this version is introduction of a feature that can make accessing UART over USB-C easier. Unless this is something you're interested in, there's no need to update from 0.2.1.
- 0x06: Bump customer use word
- 0x4a: Enable User VID (0x316d)
Enable User Alternate Modes (0x55415254 "UART" / 0x53544F50 "STOP")
- 0x5e: Enable Config Set 0x1f on User Mode #1 entry / exit
Swap to UFP on User Mode #1 exit
Enable Config Set 0x1e on User Mode #2 entry
Return to default Config Set (0x7) on User Mode #2 exit
Added "UART Debug" Config Set with address 0x1f:
- 0x52: Enable Intel VID, Thunderbolt Mode, Emarker Override
Allow Thunderbolt Mode autoentry
Disable Vout 3v3 and AM Minimum Power requirements
Added "Disconnect on CC" Config Set with address 0x1e:
- 0x28: Sense Disconnect on CC (in addition to VBUS) when Sink
Note that the JSON file does not include additional Config Sets.
This adds 2 custom Alternate Modes with Purism's SVID.
Once a connected device enters the first "UART" mode, TPS65982 gets reconfigured with "UART Debug" Config Set that's identical to default config except of Thunderbolt configuration. Leaving this mode causes TPS65982 to send a Data Role Swap request. This allows the device to subsequently enter Thunderbolt Alternate Mode (after role swapping cycle to let TPS65982 actually use the new config), exposing UART2 over USB-C SBU pins.
Entering the second mode "STOP" enables disconnection sensing based on CC lines (which helps to prevent power backfeeding on UART lines). Leaving this alt-mode, either explicitly or because of disconnection, restores the default config.
A way to use these by a debug probe may look like this:
- attach as a Source
- reject incoming Data Role Swap request
- perform alt-mode discovery
- enter "UART" alt-mode
- leave "UART" alt-mode
- accept incoming Data Role Swap request
- reject "UART" alt-mode entry request
- send Data Role Swap request
- perform alt-mode discovery
- enter "STOP" alt-mode
- enter Thunderbolt alt-mode
At this point, UART2 is exposed on SBU until disconnection (either by VBUS, CC or Hard Reset).