SLYY228 November 2024
After establishing a standard USB-C contract, the CC line can then transmit and receive USB PD messages to and from the connected device. In cases where there is >3A of current, USB 3.0 data rates, or DisplayPort™ or Thunderbolt alternate modes, the CC line can also provide power on VCONN (the opposite CC line) to power an e-marked cable or an active cable.
There are three different types of CC messages: start of packet (SOP), SOP’ and SOP”. The message type indicates the device to which the message is being sent:
Figure 12 highlights where the DFP or source USB PD controller sends SOP, SOP’ and SOP” messages. In this chapter, we’ll focus on standard SOP messaging from one USB PD controller to another, since that’s where most negotiations occur. Communication to the e-marker on either end of the cable is typically just a compatibility check to understand cable capabilities.
Figure 12 SOP, SOP’ and SOP’’
messagingNow that you know that signaling occurs on CC wires, and how to identify which device is sending a message, let’s talk about the types of messages and what they do. There are three main categories of USB PD messages: control messages, data messages and extended messages.
Control messages are short, and used to manage the message flow between port partners or to exchange messages that require no additional data. Control messages are 16 bits in length. Table 3 shows the full list of control message types.
| Message type | Sent by |
|---|---|
| GoodCRC | Source, sink or cable plug |
| GotoMin | Source only |
| Accept | Source, sink or cable plug |
| Reject | Source, sink or cable plug |
| Ping | Source only |
| PS_RDY | Source or sink |
| Get_Source_Cap | Sink or dual-role power (DRP) |
| Get_Sink_Cap | Source or DRP |
| DR_Swap | Source or sink |
| PR_Swap | Source or sink |
| VCONN_Swap | Source or sink |
| Wait | Source or sink |
| Soft_Reset | Source or sink |
| Data_Reset | Source or sink |
| Data_Reset_Complete | Source or sink |
| Not_Supported | Source, sink or cable plug |
| Get_Source_Cap_Extended | Sink or DRP |
| Get_Status | Source or sink |
| FR_Swap | Sink |
| Get_PPS_Status | Sink |
| Get_Country_Codes | Source or sink |
| Get_Sink_Cap_Extended | Source or DRP |
| Get_Source_Info | Sink or DRP |
| Get_Revision | Source or sink |
Data messages are used to exchange information between a pair of port partners. Data messages range from 48 bits to 240 bits in length. There are three types:
Table 4 shows the full list of data message types.
| Message type | Sent by |
|---|---|
| Source_Capabilities | Source or DRP |
| Request | Sink only |
| BIST | Tester, source or sink |
| Sink_Capabilities | Sink or DRP |
| Battery_Status | Source or sink |
| Alert | Source or sink |
| Get_Country_Info | Source or sink |
| Enter_USB | DFP |
| EPR_Request | Sink |
| EPR_Mode | Source or sink |
| Source_Info | Source |
| Revision | Source, sink or cable plug |
| Vendor_Defined | Source, sink or cable plug |
Like data messages, extended messages are also used to exchange information between a pair of port partners. There are several types of extended messages:
Table 5 shows the full list of extended message types.
| Message type | Sent by |
|---|---|
| Source_Capabilities_Extended | Source or DRP |
| Status | Source, sink or cable plug |
| Get_Battery_Cap | Source or sink |
| Get_Battery_Status | Source or sink |
| Battery_Capabilities | Source or sink |
| Get_Manufacturer_Info | Source or sink |
| Manufacturer_Info | Source, sink or cable plug |
| Security_Request | Source or sink |
| Security_Response | Source, sink or cable plug |
| Firmware_Update_Request | Source or sink |
| Firmware_Update_Response | Source, sink or cable plug |
| PPS_Status | Source |
| Country_Info | Source or sink |
| Country_Codes | Source or sink |
| Sink_Capabilities_Extended | Sink or DRP |
| Extended_Control | Source or sink |
| EPR_Source_Capabilities | Source or DRP |
| EPR_Sink_Capabilities | Sink or DRP |
| Vendor_Defined_Extended | Source, sink or cable plug |
For detailed descriptions on each message type, see the USB PD specification.