All verification scripts have input contexts, special structures that can be used inside of the scripts. The application fills their members. The verification script input contexts have two sets of members:
Note: Unless otherwise specified, all input context members are integers.
If possible values for input context members are not explicitly specified, they should comply with the current USB specifications.
Trace Event-Independent Set of Members
This set of members is defined and can be used for any event passed to a script:
in.Level: Transaction level of the trace event. It can be one of the following constants:
_PKT: Packet level (value = 0)
_TRA: Transaction level (value = 1)
_SPL_TRA: Split Transaction level (value = 2)
_XFER: Transfer level (value = 3)
_SCSI: SCSI Operation level (value =11)
_PHY_TRA: PHY Transaction level (value = 15)
in.Index: Index of the event in the trace file (packet number for packets etc).
in.Time: Time of the event (type = list, having format = 2 sec 125 ns -> [2 , 125]. For more information, see VSE Time Object.
in.Channel: Indicates on which channel the event occured. It can be one of the following constants:
_USB2: USB2 traffic (value = 1)
_USB2_1: USB2 Channel 1 traffic (value = 2) (Second channel on platferms that support 2 channels)
_USB2_2: USB2 Channel 2 traffic (value = 3)
_USB2_3: USB2 Channel 3 traffic (value = 4)
_USB3_RX: USB3 Host Receive traffic (Upstream, value = 5)
_USB3_TX: USB3 Host Transmit traffic (Downstream, value = 6)
_USB4_HS_ANALYZER_LEFT: USB4 HS Analyzer Left Port orignated traffic (value = 5)
_USB4_HS_ANALYZER_RIGHT: USB4 HS Analyzer Right Port originated traffic (value = 6)
_USB4_HS_EXERCISER_DUT: USB4 HS Exerciser DUT originated traffic (value = 5)
_USB4_HS_EXERCISER_EXR: USB4 HS Exerciser exerciser originated traffic (value = 6)
_USB4_HS_ANALYZER_LEFT_OR_DUT: USB4 HS Analyzer Left Port or Exerciser DUT orignated traffic (value = 5)
_USB4_HS_ANALYZER_RIGHT_OR_EXR: USB4 HS Analyzer Right Port or Exerciser execiser originated traffic (value = 6)
_USB_PD_0: USB Power Delivery traffic (value = 9)
_USB_CC_0: USB Configuration Channel traffic (value = 10)
_USB4_SB_ANALYZER_LEFT: USB4 SB Analyzer Left Port orignated traffic (value = 15)
_USB4_SB_ANALYZER_RIGHT: USB4 SB Analyzer Right Port originated traffic (value = 16)
_USB4_SB_EXERCISER_DUT: USB4 SB Exerciser DUT originated traffic (value = 15)
_USB4_SB_EXERCISER_EXR: USB4 SB Exerciser exerciser originated traffic (value = 16)
_USB4_SB_ANALYZER_LEFT_OR_DUT: USB4 SB Analyzer Left Port or Exerciser DUT orignated traffic (value = 15)
_USB4_SB_ANALYZER_RIGHT_OR_EXR: USB4 SB Analyzer Right Port or Exerciser exerciser originated traffic (value = 16)
in.Speed: Indicates the speed for the trace event. It can be one of the following constants:
_FS: USB2 Full Speed (value = 1)
_LS: USB2 Low Speed (value = 2)
_HS: USB2 High Speed (value = 0) (NOT 3!)
_SS: USB3 Super Speed (value = 4)
_SSP: USB3.1 Super Speed Plus(value = 5)
_USB4_GEN2: USB4 HS Gen2 Speed (value = 8)
_USB4_GEN3: USB4 HS Gen3 Speed (value = 9)
_USB4_SB: USB4 Sideband Speed (value = 10)
in.Direction: Indicates the direction for the trace event. It can be one of the following constants:
_OUT: Direction is from Host to Device (value = 2)
_IN: Direction is from Device to Host (value = 3)
_BOTH: Trace event involves traffic in both directions (value = 4)
in.TraceEvent: Type of trace events. (Application predefined constants are used. See list of possible events in Verification Script Engine Events.)
in.Notification: Type of notifications. (Application predefined constants are used. Currently no notifications are defined.)
Trace Event-dependent Set of Members
This set of members is defined and can be used only for a specific event or after calling functions that provide values of variables:
USB Packet-Specific Set of Members
Members of this set are valid for all USB packet events:
in.RawPacket: Bit source of the whole packet. Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits() s.
in.RawPacketLength: Length of the packet (in bytes).
in.Duration: Time it took to transmit the packet on the bus (VSE Time object).
in.Errors: A bitmap of packet level errors. The table below describes the current list of possible packet errors and their bit positions in the error bitmap:
Note: For USB4, in.Errors is not applicable. Use HasPacketError() instead, as shown in Chapter 9.5.
|
Error type |
Bit position |
Description |
|
USB2 Errors: |
|
|
|
PID_ERROR |
1 |
Bad PID value |
|
CRC5_ERROR |
2 |
Bad CRC5 |
|
CRC16_ERROR |
3 |
Bad CRC16 |
|
PACKETLEN_ERROR |
4 |
Wrong packet length |
|
BIT_STUFF_ERROR |
5 |
Bit stuffing error |
|
EOP_ERROR |
6 |
Bad End Of Packet |
|
BABBLE_START_ERROR |
7 |
Babble start error |
|
BABBLE_END_ERROR |
8 |
Babble end (Loss Of Activity) error |
|
FRAME_LENGTH_ERROR |
9 |
Wrong frame length |
|
HANDSHAKE_TIMEOUT_ERROR |
10 |
Bad turnaroud timing or timeout condition for handshake |
|
INTERNAL_ERROR |
11 |
Analyzer internal error |
|
DATA_TOGGLE_ERROR |
12 |
Data toggling error |
|
MICROFRAME_ERROR |
13 |
Bad frame or microframe number |
|
MOD_8_ERROR |
14 |
Last Byte Incomplete error |
|
OTG_ERROR |
15 |
Bad OTG Signal value |
|
|
|
|
|
Error type |
Bit position |
|
USB3 Errors |
|
|
CRC5_ERROR |
16 |
|
CRC16_ERROR |
17 |
|
CRC32_ERROR |
18 |
|
DISPARITY_ERROR |
19 |
|
10BIT_SYMBOL_ERROR |
20 |
|
UNKNOWN_PACKET_IPS |
21 |
|
FRAMING_SYMBOL_ERROR |
22 |
|
LC_DATA_SYMBOL_ERROR |
23 |
|
BAD_HEADER_PKT_LENGTH |
24 |
|
BAD_DATA_LENGTH_FIELD |
25 |
|
SKP_SYMBOL_ERROR |
26 |
|
DIR_CTRL_ENDP |
27 |
|
MISSED_DPH_ERROR |
28 |
|
MISSED_DPP_ERROR |
29 |
|
SETUP_DP_ERROR |
30 |
|
SEQNUM_ERROR |
31 |
|
PM_LC_TIMEOUT_ERROR |
32 |
|
PM_ENTRY_TIMEOUT_ERROR |
33 |
|
Ux_EXIT_TIMEOUT_ERROR |
34 |
|
NON_ZERO_RSVD_FIELD_ERROR |
45 |
|
MISSED_ITP_ERROR |
46 |
|
LATE_EARLY_ITP_ERROR_OBSOLETE |
47 |
|
SSP_CORRECTABLE_SINGLE_BIT_ERROR |
57 |
|
ABORTED_DPP_ERROR |
69 |
|
UNKNOWN_PACKET_USS |
74 |
|
DEFERRED_DELAYED_ERROR |
75 |
|
PTP/SCSI Errors |
|
|
PTP_NO_COMMAND_ERROR |
35 |
|
PTP_NO_RESPONSE_ERROR |
36 |
|
PTP_ID_DISORDER_ERROR |
37 |
|
PTP_NO_OPCODE_ERROR |
38 |
|
SCSI_OP_ERROR_NO_COMMAND |
39 |
|
SCSI_OP_ERROR_NO_DATA |
40 |
|
SCSI_OP_ERROR_NO_STATUS |
41 |
|
SCSI_OP_ERROR_INVALID_OPCODE |
42 |
|
OBEX_ERROR_NO_STATUS |
43 |
|
OBEX_ERROR_INVALID_OPCODE |
44 |
|
PD Errors |
|
|
CRC32_ERROR |
48 |
|
UNKNOWN_PACKET_ERROR |
49 |
|
INCOMPLETE_PACKET_ERROR |
50 |
|
PDO_TYPE_ERROR |
51 |
|
PDO_VOLTAGE_ERROR |
52 |
|
PDO_VOLTAGE_ORDER_ERROR |
53 |
|
PDO_SAME_VOLTAGE_ERROR |
54 |
|
VENDOR_ID_ERROR |
55 |
|
STRUCTURED_VDM_VERSION_ERROR |
56 |
|
TRA_NO_GOODCRC_ERROR |
58 |
|
TRA_LATE_GOODCRC_ERROR |
59 |
|
TRA_CORRUPTED_GOODCRC_ERROR |
60 |
|
NON_ZERO_RSVD_FIELD_ERROR |
61 |
|
UNK_PKT_NO_PREAMBLE_ERROR |
62 |
|
UNK_PKT_START_FRAMING_ERROR |
63 |
|
UNK_PKT_END_FRAMING_ERROR |
64 |
|
UNK_PKT_PACKET_LEN_ERROR |
65 |
|
UNK_PKT_SYMBOL_ERROR |
66 |
|
RESERVED_MESSAGE_TYPE_ERROR |
67 |
|
INVALID_MESSAGE_TYPE_ERROR |
68 |
|
XFER_NO_RESPONSE |
70 |
|
XFER_POWER_NEGO_NO_REQUEST |
71 |
|
XFER_NO_PS_RDY |
72 |
|
XFER_NO_SECOND_PS_RDY |
73 |
|
UNEXPECTED_PORT_DATA_ROLE_ERROR |
76 |
|
UNEXPECTED_PORT_POWER_ROLE_ERROR |
77 |
|
OBJECT_POSITION_ERROR |
79 |
|
OPERATION_CUR_POW_ERROR |
80 |
|
MIN_MAX_OPERATING_ERROR |
81 |
|
NUMBER_OF_DATA_OBJECT_ERROR |
82 |
|
XFER_DATA_RESET_UNSUCCESSFUL |
116 |
|
VOLTAGE_REGULATION_ERROR |
124 |
|
TOUCH_TEMP_ERROR |
125 |
|
SOURCE_INPUT_ERROR |
126 |
|
PEAK_CURRENT_ERROR |
127 |
|
EPR_BATTERY_VARIABLE_NOTSUPPORTED |
152 |
|
DP Errors |
|
|
TRA_NO_REPLY_ERROR |
78 |
VBUS Power parameter values
in.Power: The value of VBUS power as measured at the time the packet was transmitted (in microwatts). Will be set to a null value if the power information is not present in the trace.
in.Voltage: The value of the voltage as measured at the time the packet was transmitted (in microvolts). Will be set to a null value if the power information is not present in the trace.
in.Current: The value of the vurrent as measured at the time the packet was transmitted (in microampers). Will be set to a null value if the power information is not present in the trace.
Skew Measurement parameter values
in.SkewL1ToL0: Represents the absolute value (in 10 picosecond units) of skew between lanes L0 and L1. A value of 0xFFFFFFFF indicates that no skew measurement corresponding to the packet is available.
in.SkewL1AfterL0: Indicates whether L1 is ahead of or behind L0. A value of 0 means that that L1 is ahead of L0, while a value of 1 means that L0 is ahead of L1. The value is undefined if no skew measurement corresponding to the packet is available (ie, in.SkewL1ToL0 == 0xFFFFFFFF).
USB Bus Condition-Specific Set of Members
Note: Valid for Bus Condition trace events only, undefined for other events.
in.BusCondition: Type of Bus Condition events. Possible events and values listed below:
|
Bus Condition |
in.BusCondition |
Value |
Description |
|
CHIRP_K |
_CHIRP_K |
0 |
Device "K" Chirp to notify host of Hi Speed capability |
|
CHIRP_J |
_CHIRP_J |
1 |
Device "J" Chirp to notify host of Hi Speed capability |
|
FS_K_ON_HS |
_FS_K_ON_HS |
2 |
Full Speed "K" signaling on Hi Speed branch |
|
FS_J_ON_HS |
_FS_J_ON_HS |
3 |
Full Speed "J" signaling on Hi Speed branch |
|
SUSPEND |
_SUSPEND |
4 |
Suspend signaling |
|
RESUME |
_RESUME |
5 |
Resume signaling |
|
SE1 |
_SE1 |
6 |
SE1 signaling |
|
SE0 |
_SE0 |
7 |
SE0 FS or LS signaling (can be keep-alive for LS) |
|
VBUS_VOLTAGE_CHANGE |
_VBUS_VOLTAGE_CHANGE |
44(0x2C) |
Change of Vbus Voltage |
|
Reset |
_RESET |
48(0x30) |
Reset signaling |
in.BusCondDuration: Duration of the Bus Condition event in nanoseconds.
USB2 Packet-Specific Set of Members
Note: Valid for USB2 packets only, undefined for other events.
The following input context members apply to most USB2 packets:
in.Pid: Packet Identifier value for the packet. It is the full PID value, the following constants are defined in the VS_constants.inc include file and can be used by scripts:
# USB 2.0 PID values
const PID_OUT = 0x87;
const PID_IN = 0x96;
const PID_SOF = 0xA5;
const PID_SETUP = 0xB4;
const PID_DATA0 = 0xC3;
const PID_DATA1 = 0xD2;
const PID_DATA2 = 0xE1;
const PID_MDATA = 0xF0;
const PID_ACK = 0x4B;
const PID_NAK = 0x5A;
const PID_STALL = 0x78;
const PID_NYET = 0x69;
const PID_PRE = 0x3C;
const PID_ERR = 0x3C;
const PID_SPLIT = 0x1E;
const PID_PING = 0x2D;
const PID_EXT = 0x0F;
in.SubPidPacket: If non-zero, signals that this packet is a protocol extension token as defined by the Link Power Management ECN. In this case the Pid value should be treated as the SubPid (only LPM currently defined).
in.CRC5: CRC5 value for packets (not relevant for Data packets).
USB2 Token Packet Members
in.Addr: Value of the Address (ADDR) field of the Token packet.
in.Endp: Value of the Endpoint (ENDP) field of the Token packet.
USB2 Start Of Frame Packet Members
in.FrmNum: Frame number for the current USB2 frame.
in.MicroFrmNum: Microframe number for the current microframe as determined by the Analyzer (would be zero for Full Speed frames).
USB2 Data Packet Members
in.Payload: Bit source of the packet payload.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits() function.
in.PayloadLength: Length (in bytes) of the packet payload.
in.CRC16: CRC16 value for the Data packet.
USB2 Split Token Packet Members
in.HubAddr: Hub Address. The USB device address of the hub supporting the specified full-/low-speed device for this full-/low-speed transaction.
in.SC: Start/Complete bit value for the split token.
in.Port: Port field. The port number of the target hub the full-/low-speed transaction is destined for.
in.S: Speed bit value for the split token.
in.E: End bit value for the split token.
in.ET: Endpoint Type field value for the split token.
Link Power Management Extended Token Members
in.HIRD: Value of the Host Initiated Resume Duration field.
in.bLinkState: Value of the bLinkState field for the LPM extended token.
in.bRemoteWake: Value of the bRemoteWake bit for the LPM extended token.
in.Reserved: Value of the reserved field for the LPM extended token.
USB3 Packet-Specific Set of Members
Note: Valid for USB3 packets only, undefined for other events.
Note: The system does not pass all possible fields of USB3 packets as members of Input Context. If a script needs to use the values of those fields, use the GetHexPktField and GetDecodedPktField functions. See TS1/TS2 Training Sequence Ordered Set Members for examples.
in.LinkWidth:
const LINK_WIDTH_X1 = 0
const LINK_WIDTH_X2 = 1
const LINK_WIDTH_UNKNOWN = 0xFF
in.LaneNumber: Zero-based lane number of the packet. In Bonded mode, lane number of the first symbol.
TSEQ Training Sequence Ordered Set Members
in.Count: Value of TSEQ count, the number of sequential TSEQ sequences sent.
TS1/TS2 Training Sequence Ordered Set Members
in.Count: Value of TS count, the number of sequential TS1 or TS2 sequences sent.
in.LnkFunctionality: Value of the whole Link Functionality (Link Configuration) byte in the training sequence.
in.Reset: Value of the Reset bit in the Link Configuration byte.
in.SSDisable: Value of the Spread Spectrum bit in the Link Configuration byte.
in.Loopback: Value of the Loopback asserted/deasserted bit in the Link Configuration byte.
in.ScrDisable: Value of the Disable Scrambling bit in the Link Configuration byte.
LFPS Packet Members
in.Type: Type of LFPS signaling
in.Duration: Duration of LFPS signaling in nanoseconds
in.DurationSec: Duration of LFPS signaling in second excluding the portion less than 1 second. Should be used together with in.DurationNS. For example returns 3 for duration of 3.845 sec.
in.DurationNS: Duration of LFPS signaling in nanoseconds excluding the portion greater than or equal 1 second. Should be used together with in.DurationSec. For example returns 845000000 for duration of 3.845 sec.
in.PatternType: Type of the pattern that LFPS belongs to. Possible values:
const _NO_PATTERN = 0x00;
const _SCD1 = 0x01;
const _SCD2 = 0x02;
const _PHY_CAP_5 = 0x03;
const _PHY_CAP_10 = 0x04;
const _PHY_READY = 0x05;
in.StartsPattern: This flag is set when the this packet is first in the pattern it belongs to.
Electrical Idle Packet Members
in.Duration: Duration of Electrical Idle signaling in nanoseconds
in.DurationSec: Duration of Electrical Idle signaling in second excluding the portion less than 1 second. Should be used together with in.DurationNS. For example returns 3 for duration of 3.845 sec.
in.DurationNS: Duration of Electrical Idle signaling in nanoseconds excluding the portion greater than or equal 1 second. Should be used together with in.DurationSec. For example returns 845000000 for duration of 3.845 sec.
in.PatternType: Type of the pattern that Electrical Idle belongs to. Possible values:
const _NO_PATTERN = 0x00;
const _SCD1 = 0x01;
const _SCD2 = 0x02;
const _PHY_CAP_5 = 0x03;
const _PHY_CAP_10 = 0x04;
const _PHY_READY = 0x05;
in.StartsPattern: This flag is set when the packet is first in the pattern it belongs to.
Inter-Packet Symbols Packet Members
in.NumOfSymbols: Number of symbols in the IPS sequence.
Link Command Packet Members
in.LnkCmd: Index of the Link Command type (constants are defined in VS_constants.inc)
in.LinkCmdInfo: Value of the Link Command Information field for the Link Command Word
in.CRC5: Value of CRC5 for the Link Command Word
in.LinkCmdInfo_2: Value of the Link Command Information field for the replica of the Link Command Word
in.CRC5_2: Value of CRC5 for the replica of the Link Command Word
SKIP Packet Members
in.Count: Count of symbols in the SKIP sequence
Logical Idle Packet Members
in.Count: Count of symbols in the Logical Idle sequence.
Link Management Packet Members
in.SubType: SubType value for LMP. Use constant definitions from VS_constants.inc.
Isochronous Timestamp Packet Members
in.BusICounter: Bus Interval Counter value for ITP, in 1/8 of a millisecond.
in.Delta: Time Delta value for ITP.
in.BusIAdjCtrl: Bus Interval Adjustment Control value for ITP, specifying the device in control of bus interval adjustment.
Transaction Packet Members
in.SubType: SubType value for Transaction Packet. Use constant definitions from VS_constants.inc.
in.Addr: Address of the device that receives this Transaction Packet.
in.Endp: Endpoint number on the device that receives this Transaction Packet.
in.Dir: Direction for the specified Endpoint.
in.StreamID: Value of the StreamID field.
Data Packet Members
in.Addr: Address of the device that is the recipient of this Data Packet.
in.Endp: Endpoint number on the device which is the recipient of this Data Packet.
in.Dir: Direction for the specified Endpoint.
in.StreamID: Value of the StreamID field.
in.SeqN: Value of the Sequence Number for this Data Packet.
in.DataLength: Length of the payload for this Data Packet.
in.PayloadLength: Length of the payload actually recorded for this Data Packet.
in.Payload: Bit source of the packet payload for this Data Packet.
Note: Extract necessary information using GetNBits(), NextNBits(), or PeekNBits().
in.CRC32: Value of CRC32 protecting the payload for this Data Packet.
Note: In USB Protocol Suite software versions earlier than 3.71 (namely, 3.60 and 3.70), Data Packet Header and Data Packet Payload were two separate packet types with input context members split accordingly between them. Those were combined into a single Data Packet starting with version 3.71.
Getting Values of the Fields not Present in Input Context
As mentioned earlier, not all the possible fields of USB3 packets are passed as members of Input Context. The following are examples of using GetHexPktField and GetDecodedPktField functions to get values of the fields not present in the Input Context.
If( in.TraceEvent == _USB3_LMP_PKT )
{
# Example of using decoded packet information for LMPs.
# ‘SubType’ field,
# String value
str = FormatEx("\tSubType(str) = ‘%s’", GetDecodedPktField("SubType"));
ReportText( str );
# Hex Value
val = GetHexPktField ( "SubType" );
str = FormatEx( "\tSubType(hex) = 0x%X\n", val );
ReportText( str );
# ‘Hseq’ field
# String value
str = FormatEx( "\tHseq(str) = ‘%s’", GetDecodedPktField ( "Hseq" ) );
ReportText( str );
# Hex Value
val = GetHexPktField ( "Hseq" );
str = FormatEx( "\tHseq(hex) = 0x%X\n", val );
ReportText( str );
}
if( ( in.TraceEvent == _USB3_TP_PKT ) && ( in.SubType == TP_ACK ) )
{
# Example of using decoded packet information for TPs.
# ‘SeqN’ field
# String value
str = FormatEx( "\tSeqN(str) = ‘%s’", GetDecodedPktField ( "SeqN" ) );
ReportText( str );
# Hex Value
val = GetHexPktField ( "SeqN" );
str = FormatEx( "\tSeqN(hex) = 0x%X\n", val );
ReportText( str );
# ‘NumP’ field
# String value
str = FormatEx( "\tNumP(str) = ‘%s’", GetDecodedPktField ( "NumP" ) );
ReportText( str );
# Hex Value
val = GetHexPktField ( "NumP" );
str = FormatEx( "\tNumP(hex) = 0x%X\n", val );
ReportText( str );
}
if( in.TraceEvent == _USB3_DP_PKT )
{
# Example of using decoded packet information for DPs.
# ‘SeqN’ field
# String value
str = FormatEx( "\tSeqN(str) = ‘%s’", GetDecodedPktField ( "SeqN" ) );
ReportText( str );
# Hex Value
val = ( "SeqN" );
str = FormatEx( "\tSeqN(hex) = 0x%X\n", val );
ReportText( str );
# ‘ENDP’ field
# String value
str = FormatEx( "\tENDP(str) = ‘%s’", GetDecodedPktField ( "ENDP" ) );
ReportText( str );
# Hex Value
val = ( "ENDP" );
str = FormatEx( "\tENDP(hex) = 0x%X\n", val );
ReportText( str );
}
# Link Control Word
if( ( in.TraceEvent == _USB3_TP_PKT ) ||
( in.TraceEvent == _USB3_DP_PKT ) )
{
ReportText( "LCW:" );
val = GetHexPktField ( "Hseq" );
str = FormatEx( "\tHseq = %d", val );
ReportText( str );
val = GetHexPktField ( "Hdepth" );
str = FormatEx( "\tHDepth = %d", val );
ReportText( str );
val = GetHexPktField ( "D1" );
str = FormatEx( "\tDelayed (D1) = %d", val );
ReportText( str );
val = GetHexPktField ( "D2" );
str = FormatEx( "\tDeferred (D2) = %d\n", val );
ReportText( str );
}
USB4 Sideband Packet-Specific Set of Members
Note: Valid for USB4 SB packets only, undefined for other events.
USB4 SB Packet Link Parameters Members
in.PacketPortRole: Value of the PacketPortRole of the Token Packet’s Header. Value in.PacketPortRole: 1 means Host, 2 means Device.
USB4 SB LT Command Members
in.LSESymbol: Value of the LSESymbol field of the Token command.
in.ELT: Value of the ELT field of the Token command.
in.Rsvd: Value of the Reserved field of the Token command.
in.LSELane: Value of the LSELane field of the Token command.
in.StartLT: Value of the StartLT field of the Token command.
USB4 SB ELT Command Members
in.Rsvd: Value of the Reserved field of the Token command.
in.ELT: Value of the ELT field of the Token command.
in.ELTtype: Value of the ELTtype field of the Token command.
in.StartLT: Value of the StartLT field of the Token command.
USB4 SB AT Command Members
in.CmdNotResp: Value of the CmdNotResp field of the Token command.
in.ReturnBounce: Value of the ReturnBounce field of the Token command.
in.Recipient: Value of the Recipient field of the Token command.
in.Bounce: Value of the Bounce field of the Token command.
in.Responder: Value of the Responder field of the Token command.
in.Rsvd: Value of the Reserved field of the Token command.
in.StartAT: Value of the StartAT field of the Token command.
in.REG: Value of the Register field of the Token command.
in.LEN: Value of the Data Len field of the Token command.
in.WnR: Value of the READ/WRITE field of the Token command.
in.RegisterDataLen: Size of array in.RegisterData of the Token command
in.RegisterData: Array that contains register data of the Token command. If in.RegisterDataLen = 0, then the Token command has no register data.
Note: SB AT Command may contain AT/RT register members, depending on the value of in.REG member.
USB4 SB RT Command Members
in.CmdNotResp: Value of the CmdNotResp field of the Token command.
in.RTIndex: Value of the Index field of the Token command.
in.Broadcast: Value of the Broadcast field of the Token command.
in.StartRT: Value of the StartRT field of the Token command.
in.REG: Value of the Register field of the Token command. Valid for Addressed commands only.
in.LEN: Value of the Data Len field of the Token command. Valid for Addressed commands only.
in.WnR: Value of the READ/WRITE field of the Token command. Valid for Addressed commands only.
in.RegisterDataLen: Size of array in.RegisterData of the Token command. Valid for Addressed commands only.
in.RegisterData: Array that contains register data of the Token command. If in.RegisterDataLen = 0, then the Token command has no register data. Valid for Addressed commands only.
in.SelectedGen: Value of the SelectedGen field of the Token command. Valid for Broadcast commands only.
in.Enable3Tx: Value of the Enable3Tx field. Valid for Broadcast commands only.
in.Enable3Rx: Value of the Enable3Rx field. Valid for Broadcast commands only.
in.Lane1: Value of the Lane1Enabled field of the Token command. Valid for Broadcast commands only.
in.Lane0: Value of the Lane0Enabled field of the Token command. Valid for Broadcast commands only.
in.Speed: Value of the TBT3-CompatibleSpeed field of the Token command. Valid for Broadcast commands only.
in.SSCAlwaysOn: Value of the SSCAlwaysOn field of the Token command. Valid for Broadcast commands only.
in.RS_FEC: Value of the RS_FEC field of the Token command. Valid for Broadcast commands only.
in.USB4: Value of the USB4 field of the Token command. Valid for Broadcast commands only.
Note: The SB RT Command can contain AT/RT register members, depending on the value of in.REG member.
USB4 SB AT/RT VendorID Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0x0.
in.VendorIDLow
in.VendorIDHigh
in.VendorIDRsvd1
in.VendorIDRsvd2
USB4 SB AT/RT DeviceID Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0x1.
in.DeviceIDLow
in.DeviceIDHigh
in.DeviceIDRsvd1
in.DeviceIDRsvd2
USB4 SB AT/RT USB4Version Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0x2 and GetUsb4LegacyTBT3Protocol() returns true.
in.USB4Version
in.USB4VersionRsvd1
in.USB4VersionRsvd2
in.USB4VersionRsvd3
USB4 SB AT/RT LRDTuning Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0x7 and GetUsb4LegacyTBT3Protocol() returns false.
in.LRDTuningRespReq
in.LRDTuningData0
in.LRDTuningData1
in.LRDTuningData2
in.LRDTuningData3
USB4 SB AT/RT LinkConfiguration Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0xC.
in.LinkCfgLane0Enabled
in.LinkCfgLane1Enabled
im.LinkCfgAsymmetricTx
im.LinkCfgAsymmetricRx
in.LinkCfgRsvd1
in.LinkCfgLane0ReqEnabled
in.LinkCfgLane1ReqEnabled
in.LinkCfgRsvd2
in.LinkCfgBonding
in.LinkCfgGen3
in.LinkCfgRS_FEC_GEN_2
in.LinkCfgRS_FEC_GEN_3
in.LinkCfgRevision1
in.LinkCfgLegacySpeed
in.LinkCfgGen4Support
in.LinkCfgAsymSupportTx
in.LinkCfgAsymSupportRx
in.LinkCfgAsymReqTx
in.LinkCfgAsymReqRx
in.LinkCfgRsvd3
USB4 SB AT/RT SBChannelVersion Register Members
Note: These members are available only for SB AT/RT Commands that have register data and in.REG = 0xF.
in.SBChVersionSubVersion
in.SBChVersionMinorVersion
in.SBChVersionMajorVersionLSB
in.SBChVersionMajorVersionMSB
USB4 SB AT/RT TxFFE Register Members
The following members are common for TxFFE register of non-retimer format and retimer format:
in.Lane0Req, in.Lane0RxLocked, in.Lane0RxActive, in.Lane0ClockSwitchDone, in.Lane0NewReq
in.Lane1Req, in.Lane1RxLocked, in.Lane1RxActive, in.Lane1ClockSwitchDone, in.Lane1NewReq
in.Lane0Setting, in.Lane0ReqDone, in.Lane0TxActive
in.Lane1Setting, in.Lane1ReqDone, in.Lane1TxActive
Members of TxFFE register of non-retimer format:
in.Rsvd1, in.Rsvd2
Members of TxFFE register of retimer format:
in.Lane0FwdSwitchDone, in.RetimerRsvd1
in.Lane1FwdSwitchDone, in.RetimerRsvd2
Members of TxFFE register of additional retimer data:
in.Lane0Req, in.Byte4Rsvd1, in.Lane0RxActive, in.Byte4Rsvd2, in.Lane0NewReq
in.Lane1Req, in.Byte5Rsvd1, in.Lane1RxActive, in.Byte5Rsvd2, in.Lane1NewReq
in.Lane0Setting, in.Byte6Rsvd, in.Lane0TxActive
in.Lane1Setting, in.Byte7Rsvd, in.Lane1TxActive
USB4 SB AT/RT TxFFEGen4 Register Members
in.LinkType: Returns the link type associated with the packet.
|
Link Type |
Description |
|
_USB4_LINK_TYPE_SYMMETRIC |
Both link partners operate with two transmitters. |
|
_USB4_LINK_TYPE_ASYMMETRIC_3TX |
Packet originates from the 3 Tx side and targets the register mappings of the 3 Rx side. |
|
_USB4_LINK_TYPE_ASYMMETRIC_3RX |
Packet originates from the 3 Rx side and targets the register mappings of the 3 Tx side. |
Layout of this register depends on the LinkType.
If LinkType is Symmetric, TxFFEGen4 has the following members:
in.G4TxFFEReqRx0, in.G4TxFFERsvdRx0 in.NewRequestRx0
in.G4TxFFEReqRx1, in.G4TxFFERsvdRx1 in.NewRequestRx1
in.G4TxFFESetTx0, in.ReqDoneTx0, in.StartTxFFETx0
in.G4TxFFESetTx1, in.ReqDoneTx1, in.StartTxFFETx1
If LinkType is Aymmetric3Rx, TxFFEGen4 has the following members:
in.G4TxFFEReqRx0, in.G4TxFFERsvdRx0 in.NewRequestRx0
in.G4TxFFEReqRx1, in.G4TxFFERsvdRx1 in.NewRequestRx1
in.G4TxFFEReqRx2, in.G4TxFFERsvdRx2 in.NewRequestRx2
in.G4TxFFESetTx0, in.ReqDoneTx0, in.StartTxFFETx0
If LinkType is Asymmetric3Tx, TxFFEGen4 has the following members:
in.G4TxFFEReqRx0, in.G4TxFFERsvdRx0 in.NewRequestRx0
in.G4TxFFESetTx0, in.ReqDoneTx0, in.StartTxFFETx0
in.G4TxFFESetTx1, in.ReqDoneTx1, in.StartTxFFETx1
in.G4TxFFESetTx2, in.ReqDoneTx2, in.StartTxFFETx2
USB4 SB IPS Packet Members
in.Packet_Len: Value of the Packet Length field of the Token Packet.
in.Data<N>: Value of the Nth byte of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: The number of Data members is equal to in.Packet_Len. For example, Packet with in.Packet_Len = 4 has in.Data0, in.Data1, in.Data2, in.Data3.
USB4 High Speed Packet-Specific Set of Members
Note: Valid for USB4 HS packets only, undefined for other events.
USB4 HS Packet Link Parameters Members
Note: Valid for all USB4 HS packets, undefined for other events.
in.LinkWidth: Value of the Link Width of the Token Packet’s Header. Value in.LinkWidth = 0 means x1 width, in.LinkWidth = 1 means x2, in.LinkWidth = 2 means x3.
in.IsBonded: Value of the bonding parameter of the Token Packet’s Header. Value in.IsBonded = 0 means that Lanes are unbonded, in.IsBonded = 1 means that Lanes are bonded.
in.LaneNumber: Value of the Lane Number of the Token Packet’s Header. Value in.LaneNumber = 0 means Lane 0, in.LaneNumber = 1 means Lane 1, in.LaneNumber = 2 means Lane 2.
USB4 HS TLP Packet Header Members
in.Header_HEC: Value of the HEC field of the Token Packet’s Header.
in.Header_Length: Value of the Length field of the Token Packet’s Header.
in.Header_HopID: Value of the HopID field of the Token Packet’s Header.
in.Header_SuppID: Value of the SuppID field of the Token Packet’s Header.
in.Header_PDF: Value of the PDF field of the Token Packet’s Header.
USB4 HS Control Packet Members
Note: Control Packet Members include all members of the USB4 HS TLP Packet Header.
in.RouteStringLow_TopologyID: Value of the least significant 32 bits of the TopologyID field of the Token Control Packet.
in.RouteStringHigh_TopologyID: Value of the most significant 24 bits of the TopologyID field of the Token Control Packet.
in.RouteStringHigh_Rsvd: Value of the Reserved field of the Route String High field of the Token Control Packet.
in.RouteStringHigh_CM: Value of the CM field of the Route String High field of the Token Control Packet.
in.CRC: Value of CRC protecting the payload for the Token Control Packet.
USB4 HS Read/Write Packet Members
Note: Read/Write Packet Members include all members of the USB4 HS Control Packet.
in.Address: Value of the Address field of the Token Packet.
in.DataSize: Value of the DataSize field of the Token Packet.
in.AdapterNum: Value of the AdapterNum field of the Token Packet.
in.CS: Value of the CS field of the Token Packet.
in.SN: Value of the SN field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
USB4 HS Read Response/Write Request Packet Members
Note: Read Response/Write Request Packet Members include all members of the USB4 HS Read/Write Packet Members.
in.Data<N>: Value of the Nth byte of Data field of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: Number of Data-members is equal to in.DataSize * 4 (Number of bytes in DW). For example, Packet with in.DataSize = 1 has in.Data0, in.Data1, in.Data2, in.Data3.
The byte numbers reflect their position within Transport Layer data structures and not the byte order as transmitted (seen in Figure 4-20 of the USB4 specification). For example, in.Data0 represents DWORD 0 bits 7:0.
USB4 HS Power Management Packet Members
in.CLxState: Value of the CLx State field of the Power Management Packet Payload.
USB4 HS SLOS1/SLOS2 Packet Members
in.DataSize: Value of the DataSize field of the Token Packet.
in.Data: Array of bytes representing packet data:
(in.Data[0],
in.Data[1],
…,
in.Data[in.DataSize -1])
in.Rsvd1: Value of the Rsvd1 field of the Token Packet.
in.SN: Value of the SN field of the Token Packet.
in.Rsvd2: Value of the Rsvd2 field of the Token Packet.
USB4 HS Ordered Sets Members
Note: This category belongs to Ordered Sets including: CL1_REQ, CL2_REQ, CL1_ACK, CL2_ACK, CL0s_ACK, CL_NACK, CL_OFF, TSN, DESKEW, SKIP.
in.IsScrambled: Boolean. Indicates whether or not the Ordered Set contents are scrambled.
in.DataSize: Size of packet data in bytes
in.Data: Array of bytes representing packet data:
(in.Data[0],
in.Data[1],
…,
in.Data[in. DataSize -1])
USB4 HS CL_WAKE1/CL_WAKE2 Packet Members
in.RetimerIndex: Value of the RetimerIndex field of the Token Packet.
in.DataSize: Size of the Data field in bytes of the Token Packet.
in.Data<N>: Value of the Nth byte of Data field of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: The number of Data members is equal to in.DataSize. For example, Packet with in.DataSize = 4 has in.Data0, in.Data1, in.Data2, in.Data3.
The byte numbers reflect their position within Transport Layer data structures and not the byte order as transmitted (seen in Figure 4-20 of the USB4 specification). For example, in.Data0 represents DWORD 0 bits 7:0.
USB4 HS CL_WAKE1-2 Packet Members
in.DataSize: Size of the Data field in bytes of the Token Packet.
in.Data<N>: Value of the Nth byte of Data field of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: The number of Data members is equal to in.DataSize. For example, Packet with in.DataSize = 4 has in.Data0, in.Data1, in.Data2, in.Data3.
The byte numbers reflect their position within Transport Layer data structures and not the byte order as transmitted (seen in Figure 4-20 of the USB4 specification). For example, in.Data0 represents DWORD 0 bits 7:0.
in.CLWake1RetimerIndexes: List of CL_WAKE1 Retimer Indexes. in.CLWake1RetimerIndexes[N] – Nth CL_WAKE1 Retimer Index (in.CLWake1RetimerIndexes[0], in.CLWake1RetimerIndexes[1], …, in.CLWake1RetimerIndexes[in.CLWake1RetimerIndexesSize-1]).
in.CLWake1RetimerIndexesSize: Number of the CL_WAKE1 Retimer Indexes.
in.CLWake2RetimerIndexes: List of CL_WAKE1 Retimer Indexes. in.CLWake2RetimerIndexes[N] – Nth CL_WAKE2 Retimer Index (in.CLWake2RetimerIndexes[0], in.CLWake2RetimerIndexes[1], …, in.CLWake2RetimerIndexes[in.CLWake2RetimerIndexesSize-1]).
in.CLWake2RetimerIndexesSize: Number of the CL_WAKE2 Retimer Indexes.
USB4 HS TS1/TS2 Packet Members
in.TSID: Value of the TSID field of the Token Packet.
in.Rsvd0: Value of the Rsvd0 field of the Token Packet.
in.LBT2: Value of the LBT2 field of the Token Packet.
in.Rsvd1: Value of the Rsvd1 field of the Token Packet.
in.Rsvd2: Value of the Rsvd2 field of the Token Packet.
in.TSLaneNumber: Value of the Lane Number field of the Token Packet.
in.LBT: Value of the LBT field of the Token Packet.
in.Rsvd3: Value of the Rsvd3 field of the Token Packet.
in.DataSize: Size of packet data in bytes
in.Data: Array of bytes representing packet data:
(in.Data[0],
in.Data[1],
…,
in.Data[in. DataSize -1]).
USB4 HS LFPS Packet Members
in.State: Value of the State field of the Token Packet.
USB4 HS Follow-Up Packet Members
Note: Follow-Up Packet Members include all members of the USB4 HS TLP Packet Header.
in.RequestTSLo: Value of the least significant 32 bits of the RequestTS field of the Token Packet.
in.RequestTSMid: Value from the 32nd to 63rd bits of the RequestTS field of the Token Packet.
in.RequestTSHi: Value of the most significant 16 bits of the RequestTS field of the Token Packet.
in.ResponseTSLo: Value of the least significant 32 bits of the ResponseTS field of the Token Packet.
in.ResponseTSMid: Value from the 32nd to 63rd bits of the ResponseTS field of the Token Packet.
in.ResponseTSHi: Value of the most significant 16 bits of the ResponseTS field of the Token Packet.
in.TimeOffsetFromHRLo: Value of the least significant 32 bits of the TimeOffsetFromHR field of the Token Packet.
in.TimeOffsetFromHRHi: Value of the most significant 32 bits of the TimeOffsetFromHR field of the Token Packet.
in.FreqOffsetFromHR: Value of the FreqOffsetFromHR field of the Token Packet.
in.SleepCyclesN: Value of the SleepCyclesN field of the Token Packet.
in.S2U: Value of the S2U field of the Token Packet.
in.IDTimeStampLo: Value of the least significant 32 bits of the IDTimeStamp field of the Token Packet.
in.IDTimeStampMid: Value from the 32nd to 63rd bits of the IDTimeStamp field of the Token Packet.
in.IDTimeStampHi: Value of the most significant 16 bits of the IDTimeStamp field of the Token Packet.
in.TimeOffsetFromInterDomainHRLo: Value of the least significant 32 bits of the TimeOffsetFromInterDomainHR field of the Token Packet.
in.TimeOffsetFromInterDomainHRHi: Value of the most significant 32 bits of the TimeOffsetFromInterDomainHR field of the Token Packet.
in.FreqOffsetFromInterDomainHR: Value of the FreqOffsetFromInterDomainHR field of the Token Packet.
in.CRC32: Value of CRC32 protecting the payload for the Token Packet.
USB4 HS Inter-Domain Time Stamp Packet Members
Note: Inter-Domain Time Stamp Packet Members include all members of the USB4 HS TLP Packet Header.
in.Rsvd: Value of the Reserved field of the Token Packet.
in.IDTimeStampLo: Value of the least significant 32 bits of the IDTimeStamp field of the Token Packet.
in.IDTimeStampMid: Value from the 32nd to 63rd bits of the IDTimeStamp field of the Token Packet.
in.IDTimeStampHi: Value of the most significant 16 bits of the IDTimeStamp field of the Token Packet.
in.TimeOffsetFromInterDomainGMLo: Value of the least significant 32 bits of the TimeOffsetFromInterDomainGM field of the Token Packet.
in.TimeOffsetFromInterDomainGMHi: Value of the most significant 32 bits of the TimeOffsetFromInterDomainGM field of the Token Packet.
in.FreqOffsetFromInterDomainGM: Value of the FreqOffsetFromInterDomainGM field of the Token Packet.
in.CRC32: Value of CRC32 protecting the payload for the Token Packet.
USB4 HS Credit Grant Packet Members
Note: Credit Grant Packet Members include all members of the USB4 HS TLP Packet Header.
in.Records_Number: Value of the RecordCount field of the Token Packet.
Note: All members of Credit Grant Packet below are indexed. Index is indicated by suffix <N> and depends on the Record number starting from 0. For example, in.ECC<N> means that the Packet has Members in.ECC0, in.ECC1, etc.
in.ECC<N>: Value of the ECC field of the Nth Record of the Token Packet.
in.Credits<N>: Value of the Credits field of the Nth Record of the Token Packet.
in.CreditHopID<N>: Value of the CreditHopID field of the Nth Record of the Token Packet.
in.Rsvd<N>: Value of the Reserved field of the Nth Record of the Token Packet.
in.LFlag<N>: Value of the L Flag field of the Nth Record of the Token Packet.
USB4 HS Path Credit Sync Packet Members
Note: Path Credit Sync Packet Members include all members of the USB4 HS TLP Packet Header.
in.ECC: Value of the ECC field of the Token Packet.
in.PCC: Value of the PCC field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
USB4 HS Shared Buffers Credit Sync Packet Members
Note: Shared Buffers Credit Sync Packet Members include all members of the USB4 HS TLP Packet Header.
in.ECC: Value of the ECC field of the Token Packet.
in.SCC: Value of the SCC field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
USB4 HS Notification Packet Members
Note: Notification Packet Members include all members of the USB4 HS Control Packet.
in.EventCode: Value of the EventCode field of the Token Packet.
in.AdapterNum: Value of the AdapterNum field of the Token Packet. The field is left for compatibility.
in.EventInfo: Value of the EventInfo field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
in.PG: Value of the PG field of the Token Packet.
Note: The following fields are possible if in.EventCode is equal to 36 (DP_CON_CHANGE event)
in.ConnectorNum: Value of the ConnectorNum sub-field of the EventInfo field of the Token Packet.
in.IRQ_HPD: Value of the IRQ_HPD sub-field of the EventInfo field of the Token Packet.
in.PlugUnplug: Value of the PlugUnplug sub-field of the EventInfo field of the Token Packet.
USB4 HS Notification Acknowledgement Packet Members
Note: Notification Acknowledgement Packet Members include all members of the USB4 HS Control Packet.
USB4 HS Hot Plug Event Packet Members
Note: Hot Plug Event Packet Members include all members of the USB4 HS Control Packet.
in.AdapterNum: Value of the AdapterNum field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
in.UPG: Value of the UPG field of the Token Packet.
USB4 HS Tunneled Packet Members
Note: Tunneled Packet Members include all members of the USB4 HS TLP Packet Header.
in.TunneledData: Bit source of the packet’s tunneled payload.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits() function.
in.TunneledDataLen: Length (in bytes) of the packet’s tunneled payload.
in.Data<N>: Value of the Nth byte of Data field of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: Number of Data-members is equal to in.Header_Length. For example, Packet with in.Header_Length = 4 has in.Data0, in.Data1, in.Data2, in.Data3.
The byte numbers reflect their position within Transport Layer data structures and not the byte order as transmitted (seen in Figure 4-20 of the USB4 specification). For example, in.Data0 represents DWORD 0 bits 7:0.
USB4 HS E2E Credit Grant Packet Members
Note: E2E Credit Grant Packet Members include all members of the USB4 HS TLP Packet Header.
in.ECC: Value of the ECC field of the Token Packet.
in.Credits: Value of the Credits field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
in.CS: Value of the CS field of the Token Packet.
USB4 HS E2E Credit Sync Packet Members
Note: E2E Credit Sync Packet Members include all members of the USB4 HS TLP Packet Header.
in.ECC: Value of the ECC field of the Token Packet.
in.Credits: Value of the Credits field of the Token Packet.
in.Rsvd: Value of the Reserved field of the Token Packet.
in.CS: Value of the CS field of the Token Packet.
USB4 HS IPS/USS/START_RS_FEC Packet Members
in.Packet_Len: Value of the Packet Length field of the Token Packet.
in.Data<N>: Value of the Nth byte of the Token Packet, i.e., in.Data0, in.Data1, etc.
Note: The number of Data members is equal to in.Packet_Len. For example, Packet with in.Packet_Len = 4 has in.Data0, in.Data1, in.Data2, in.Data3.
The byte numbers reflect their position within Transport Layer data structures and not the byte order as transmitted (seen in Figure 4-20 of the USB4 specification). For example, in.Data0 represents DWORD 0 bits 7:0.
USB4 HS Filtered Packet Members
Note: Gen2/3 packets only.
in.Type: Value of the origin packet type of the Token Packet.
in.Count: Value of the OS Count of the Token Packet.
USB4 Gen 4 Training Sequences Members
Note: Gen 4 Training Sequences: TS1, TS2, TS3, TS4.
in.Cursor: Value of the Cursor field of the Token Packet.
in.Indication: Value of the Indication field of the Token Packet.
in.IndicationComplement: Value of the Indication Complement field of the Token Packet.
in.Counter: Value of the Counter field of the Token Packet.
in.CounterComplement: Value of the Counter Complement field of the Token Packet.
in.PacketCount: Partial Filter Count for partially filtered packets; otherwise, 1.
Note: TS2.clksw does not have a specific member other than in.PacketCount.
USB4 Gen 4 Ordered Sets Members
Note: Gen 4 Ordered Sets: DESKEW, TSNOS, IGNORE, UNBOND, CL0s_EXIT, CL_OFF.
USB4 Gen 4 DESKEW Packet Members
in.DeskewIndex: Value of the Index field of the Token Packet.
USB4 Gen 4 TSNOS Packet Members
in.SymbolsDelay: Value of the Symbols Delay field of the Token Packet.
USB4 Gen 4 CL0s_EXIT Packet Members
in.CL0sPhase: Value of the CL0sPhase of the Token Packet.
USB4 Gen 4 CL_OFF Packet Members
in.CLOffIndex: Value of the Index field of the Token Packet.
in.CLState: Value of the CLState field of the Token Packet.
USB4 HS Inter-Domain Packet-Specific Set of Members
Note: Valid for USB4 HS Inter-Domain packets only, undefined for other events.
USB4 HS Inter-Domain Request/Response Packet Members
Note: Inter-Domain Request/Response Packet Members include all members of the USB4 HS Control Packet, USB4 HS Inter-Domain Packet Header, and USB4 HS Inter-Domain Packet Payload.
in.DataSize: Value of the DataSize field of the Token Packet.
in.Rsvd1: Value of the Rsvd1 field of the Token Packet.
in.SN: Value of the SN field of the Token Packet.
in.Rsvd2: Value of the Rsvd2 field of the Token Packet.
in.IDPProtocolType: Inter-Domain protocol type of the Token Packet. Available values shown below:
|
Packet type |
Description |
|
_USB4_HS_IDP_DISCOVERY |
Inter-Domain Discovery |
|
_USB4_HS_IDP_USB4NET |
Inter-Domain USB4NET |
USB4 HS Inter-Domain Discovery Packet Members
in.ProtocolUUID<N>: Value of the Nth DWORD of Inter-Domain Discovery Protocol UUID field of the Token Packet’s IDP Header, i.e., in.ProtocolUUID0, in.ProtocolUUID1, etc.
in.IDPPacketType: Value of the Inter-Domain Discovery packet type of the Token Packet. Available values show below:
|
Packet type |
Description |
|
_USB4_HS_IDP_UUID_REQUEST |
UUID Request |
|
_USB4_HS_IDP_UUID_RESPONSE |
UUID Response |
|
_USB4_HS_IDP_PROPERTIES_READ_REQUEST |
Properties Read Request |
|
_USB4_HS_IDP_PROPERTIES_READ_RESPONSE |
Properties Read Response |
|
_USB4_HS_IDP_PROPERTIES_CHANGED_NOTIFICATION |
Properties Changed Notification |
|
_USB4_HS_IDP_PROPERTIES_CHANGED_RESPONSE |
Properties Changed Response |
|
_USB4_HS_IDP_ERROR_RESPONSE |
Error Response |
|
_USB4_HS_IDP_LINK_STATE_STATUS_REQUEST |
Link State Status Request |
|
_USB4_HS_IDP_LINK_STATE_STATUS_RESPONSE |
Link State Status Response |
|
_USB4_HS_IDP_LINK_STATE_CHANGE_REQUEST |
Link State Change Request |
|
_USB4_HS_IDP_LINK_STATE_CHANGE_RESPONSE |
Link State Change Response |
|
Any other value |
Reserved |
in.IDPPayloadDataLen: Count of IDP Payload Data bytes of the Token Packet.
in.IDPPayloadData: List of IDP Payload Data bytes. in.IDPPayloadData[N] – Nth IDP Payload Data byte of the Token Packet.
(in.IDPPayloadData[0],
in.IDPPayloadData[1],
…,
in.IDPPayloadData[in.IDPPayloadDataLen-1]).
Note: in.IDPPayloadData provides access to packet data after Inter-Domain Discovery Header data.
USB4 HS Inter-Domain Discovery UUID Request Packet Members
Note: Inter-Domain UUID Request Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
USB4 HS Inter-Domain Discovery UUID Response Packet Members
Note: Inter-Domain UUID Response Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.SourceUUID<N>: Value of the Nth DWORD of Source UUID field of the Token Packet, i.e., in.SourceUUID0, in.SourceUUID1, etc.
in.HasSourceRoute: Indicates whether the Token Packet has Source Route field.
in.SourceRoute<N>: Value of the Nth DWORD of Source Route field of the Token Packet, i.e., in.SourceRoute0, in.SourceRoute1.
USB4 HS Inter-Domain Discovery Properties Read Request Packet Members
Note: Inter-Domain Properties Read Request Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.SourceUUID<N>: Value of the Nth DWORD of Source UUID field of the Token Packet, i.e.,
in.SourceUUID0, in.SourceUUID1, etc.
in.DestinationUUID<N>: Value of the Nth DWORD of Destination UUID field of the Token Packet, i.e., in.DestinationUUID0, in.DestinationUUID1, etc.
in.Offset: Value of the Offset field of the Token Packet.
in.Rsvd3: Value of the Rsvd3 field of the Token Packet.
USB4 HS Inter-Domain Discovery Properties Read Response Packet Members
Note: Inter-Domain Properties Read Response Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.SourceUUID<N>: Value of the Nth DWORD of Source UUID field of the Token Packet, i.e., in.SourceUUID0, in.SourceUUID1, etc.
in.DestinationUUID<N>: Value of the Nth DWORD of Destination UUID field of the Token Packet, i.e., in.DestinationUUID0, in.DestinationUUID1, etc.
in.Offset: Value of the Offset field of the Token Packet.
in.PropertiesBlockSize: Value of the Properties Block Size field of the Token Packet.
in.PropertiesBlockGeneration: Value of the Properties Block Generation field of the Token Packet.
in.PropertiesBlockDataLen: Count of Properties Block Data bytes of the Token Packet.
in.PropertiesBlockData: List of Properties Block Data bytes. in.PropertiesBlockData[N] – Nth Properties Block Data byte of the Token Packet.
(in.PropertiesBlockData[0],
in.PropertiesBlockData[1],
…,
in.PropertiesBlockData[in.PropertiesBlockDataLen-1]).
USB4 HS Inter-Domain Discovery Properties Changed Notification Packet Members
Note: Inter-Domain Properties Changed Notification Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.SourceUUID<N>: Value of the Nth DWORD of Source UUID field of the Token Packet, i.e., in.SourceUUID0, in.SourceUUID1, etc.
USB4 HS Inter-Domain Discovery Error Response Packet Members
Note: Inter-Domain Error Response Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.ErrorResponse: Value of the Error Response field of the Token Packet.
USB4 HS Inter-Domain Discovery Link State Status Request Packet Members
Note: Inter-Domain Link State Status Request Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
USB4 HS Inter-Domain Discovery Link State Status Response Packet Members
Note: Inter-Domain Link State Status Response Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.Status: Value of the Status field of the Token Packet.
in.SLW: Value of the SLW field of the Token Packet.
in.TLW: Value of the TLW field of the Token Packet.
in.SLS: Value of the SLS field of the Token Packet.
in.TLS: Value of the TLS field of the Token Packet.
USB4 HS Inter-Domain Discovery Link State Change Request Packet Members
Note: Inter-Domain Link State Change Request Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.TLW: Value of the TLW field of the Token Packet.
in.TLS: Value of the TLS field of the Token Packet.
in.Rsvd3: Value of the Rsvd3 field of the Token Packet.
USB4 HS Inter-Domain Discovery Link State Change Response Packet Members
Note: Inter-Domain Link State Change Response Packet Members include all members of the USB4 HS Inter-Domain Discovery Packet.
in.Status: Value of the Status field of the Token Packet.
USB4 HS Inter-Domain USB4NET Packet Members
in.ProtocolUUID<N>: Value of the Nth DWORD of Inter-Domain USB4NET Protocol UUID field of the Token Packet’s IDP Header, i.e., in.ProtocolUUID0, in.ProtocolUUID1, etc.
in.RequestorUUID<N>: Value of the Nth DWORD of Inter-Domain USB4NET Requestor UUID field of the Token Packet’s IDP Header, i.e., in.RequestorUUID0, in.RequestorUUID1, etc.
in.ResponderUUID<N>: Value of the Nth DWORD of Inter-Domain USB4NET Responder UUID field of the Token Packet’s IDP Header, i.e., in.ResponderUUID0, in.ResponderUUID1, etc.
in.RequestID: Value of RequestID field of the Token Packet.
in.IDPPacketType: Value of the Inter-Domain USB4NET packet type of the Token Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_HS_IDP_LOGIN_REQUEST |
Login Request |
|
_USB4_HS_IDP_LOGIN_RESPONSE |
Login Response |
|
_USB4_HS_IDP_LOGOUT_REQUEST |
Logout Request |
|
_USB4_HS_IDP_LOGOUT_RESPONSE |
Logout Response |
|
Any other value |
Reserved |
in.IDPPayloadDataLen: Count of IDP Payload Data bytes of the Token Packet.
in.IDPPayloadData: List of IDP Payload Data bytes. in.IDPPayloadData[N] – Nth IDP Payload Data byte of the Token Packet.
in.IDPPayloadData[0],
in.IDPPayloadData[1],
…,
in.IDPPayloadData[in.IDPPayloadDataLen-1]).
Note: in.IDPPayloadData provides access to packet data after Inter-Domain USB4NET Header data.
USB4 HS Inter-Domain USB4NET Login Request Packet Members
Note: Inter-Domain Login Request Packet Members include all members of the USB4 HS Inter-Domain USB4NET Packet.
in.Usb4NetServiceRevision: Value of the Usb4NetServiceRevision field of the Token Packet.
in.ServiceHopId: Value of the ServiceHopId field of the Token Packet.
in.Rsvd3: Value of the 3rd Reserved field of the Token Packet.
in.Rsvd4: Value of the 4th Reserved field of the Token Packet.
in.Rsvd5: Value of the 5th Reserved field of the Token Packet.
in.Rsvd6: Value of the 6th Reserved field of the Token Packet.
USB4 HS Inter-Domain USB4NET Login Response Packet Members
Note: Inter-Domain Login Response Packet Members include all members of the USB4 HS Inter-Domain USB4NET Packet.
in.Status: Value of the Status field of the Token Packet.
in.ResponderMACAddressLo: Value of the least significant 32 bits of the ResponderMACAddress field of the Token Packet.
in.ResponderMACAddressHi: Value of the most significant 32 bits of the ResponderMACAddress field of the Token Packet.
in.ResponderMACAddressLength: Value of the ResponderMACAddressLength field of the Token Packet.
in.Rsvd3: Value of the 3rd Reserved field of the Token Packet.
in.Rsvd4: Value of the 4th Reserved field of the Token Packet.
in.Rsvd5: Value of the 5th Reserved field of the Token Packet.
in.Rsvd6: Value of the 6th Reserved field of the Token Packet.
USB4 HS Inter-Domain USB4NET Logout Request Packet Members
Note: Inter-Domain Logout Request Packet Members include all members of the USB4 HS Inter-Domain USB4NET Packet.
USB4 HS Inter-Domain USB4NET Logout Response Packet Members
Note: Inter-Domain Logout Response Packet Members include all members of the USB4 HS Inter-Domain USB4NET Packet.
in.Status: Value of the Status field of the Token Packet.
USB4 HS Tunneled DP Main Link Packet-Specific Set of Members
Note: Valid for USB4 HS Tunneled DP Main Link packets only, undefined for other events.
Note: To get access to given set of members use function SetUsb4TunProtocol().
Note: Tunneled DP Main Link Set of Members include all members of the USB4 HS Tunneled Packet.
in.TunDPLinkWidth: Value of the DP Link Width of the Token Tunneled Packet. Value in.TunDPLinkWidth = 1 means x1 width, in.TunDPLinkWidth = 2 means x2, in.TunDPLinkWidth = 4 means x4. This value depends on the Tunneled Protocol constant passed to SetUsb4TunProtocol() (_USB4_TUN_DP_X1, _USB4_TUN_DP_X2 or _USB4_TUN_DP_X4).
in.TunDPPacketType: Tunneled DP Main Link packet type of the Token Tunneled Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_TUN_DP_VIDEO_DATA_PKT |
SST Video Data Packet |
|
_USB4_TUN_DP_BLANK_START_PKT |
SST Blank Start Packet |
|
_USB4_TUN_DP_MSA_PKT |
SST Main Stream Attribute Packet |
|
_USB4_TUN_DP_SDP_PKT |
SST Secondary Stream Packet |
|
_USB4_TUN_DP_CLOCK_SYNC_PKT |
DP Clock Sync Packet |
|
_USB4_TUN_DP_MULTI_STREAM_PKT |
Multi Stream Packet |
|
_USB4_TUN_DP_FEC_DECODE_PKT |
FEC Decode Packet |
|
_USB4_TUN_DP_LINKCTRL_ALPM_PKT |
DP Link Control ALPM Packet |
TU Set Based Packets
Note: This category describes common members for SST Video Data Packet, SST Secondary Stream Packet and Multi Stream Packet.
Note: TU Set Based Packet Members include all members of the Tunneled DP Main Link Packet.
in.TUSetsCount: Count of TU Sets in the Token Packet.
in.TUSet<N>DataLen: Count of Data Symbols of the Nth TU Set in the Token Packet, i.e., in.TUSet0DataLen, in.TUSet1DataLen, etc.
in.TUSet<N>Data: List of Data Symbols of the Nth TU Set in the Token Packet, i.e., in.TUSet0Data, in.TUSet1Data, etc. Number of Data Symbols in in.TUSet<N>Data is equal to in.TUSet<N>DataLen. Supports indexing (i.e., in.TUSet0Data[0] = value of the first Data Symbol in TU Set 0.)
SST Video Data Packet
Note: SST Video Data Packet Members include all members of the TU Set Based Packet.
in.TUSet<N>ECC: ECC field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>VideoCount: Video Count field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>FillCount: Fill Count field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>EOCIndex: EOC Index field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>L: L field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>Rsvd: Reserved field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>EOC: EOC field of TU Header of the Nth TU Set in the Token Packet.
SST Blank Start Packet
Note: SST Blank Start Packet Members include all members of the Tunneled DP Main Link Packet.
in.ECC: ECC field of the Blank Start Header of the Token Packet.
in.FillCount: Fill Count field of the Blank Start Header of the Token Packet.
in.Rsvd: Reserved field of the Blank Start Header of the Token Packet.
in.CP: CP field of the Blank Start Header of the Token Packet.
in.SR: SR field of the Blank Start Header of the Token Packet.
in.VB_ID_0: The 1st VB_ID field of the payload of the Token Packet.
in.VB_ID_1: The 2nd VB_ID field of the payload of the Token Packet.
in.VB_ID_2: The 3rd VB_ID field of the payload of the Token Packet.
in.VB_ID_3: The 4th VB_ID field of the payload of the Token Packet.
in.Mvid70_0: The 1st Mvid 7:0 field of the payload of the Token Packet.
in.Mvid70_1: The 2nd Mvid 7:0 field of the payload of the Token Packet.
in.Mvid70_2: The 3rd Mvid 7:0 field of the payload of the Token Packet.
in.Mvid70_3: The 4th Mvid 7:0 field of the payload of the Token Packet.
in.Maud70_0: The 1st Maud 7:0 field of the payload of the Token Packet.
in.Maud70_1: The 2nd Maud 7:0 field of the payload of the Token Packet.
in.Maud70_2: The 3rd Maud 7:0 field of the payload of the Token Packet.
in.Maud70_3: The 4th Maud 7:0 field of the payload of the Token Packet.
SST Main Stream Attribute Packet
Note: SST Main Stream Attribute Packet Members include all members of the Tunneled DP Main Link Packet.
in.ECC: ECC field of the MSA Header of the Token Packet.
in.FillCount: Fill Count field of the MSA Header Header of the Token Packet.
in.Rsvd: Reserved field of the MSA Header of the Token Packet.
in.Mvid0: The 1st Mvid field of the payload of the Token Packet.
in.Mvid1: The 2nd Mvid field of the payload of the Token Packet.
in.Mvid2: The 3rd Mvid field of the payload of the Token Packet.
in.Mvid3: The 4th Mvid field of the payload of the Token Packet.
in.Nvid: Nvid field of the payload of the Token Packet.
in.Htotal: Htotal field of the payload of the Token Packet.
in.Hstart: Hstart field of the payload of the Token Packet.
in.Hwidth: Hwidth field of the payload of the Token Packet.
in.Vtotal: Vtotal field of the payload of the Token Packet.
in.Vstart: Vstart field of the payload of the Token Packet.
in.Vheight: Vheight field of the payload of the Token Packet.
in.HSP_HSW: HSP_HSW field of the payload of the Token Packet.
in.VSP_VSW: VSP_VSW field of the payload of the Token Packet.
in.MISC0: MISC0 field of the payload of the Token Packet.
in.MISC1: MISC1 field of the payload of the Token Packet.
SST Secondary Stream Packet
Note: SST Secondary Stream Packet Members include all members of the TU Set Based Packet.
in.TUSet<N>ECC: ECC field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>SecondaryCount: SecondaryCount field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>FillCount: FillCount field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>L: L field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>NSE: NSE field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>NSS: NSS field of TU Header of the Nth TU Set in the Token Packet.
in.TUSet<N>ND: ND field of TU Header of the Nth TU Set in the Token Packet.
DP Clock Sync Packet
Note: DP Clock Sync Packet Members include all members of the Tunneled DP Main Link Packet.
in.Rsvd0: The 1st Reserved field of the Token Packet.
in.Rsvd1: The 2nd Reserved field of the Token Packet.
in.WindowCount: WindowCount field of the Token Packet.
in.FLCLo: Value of the least significant 32 bits of FLC field of the Token Packet.
in.FLCMid: Value from the 32nd to 63rd bits of FLC field of the Token Packet.
in.FLCHi: Value of the most significant 8 bits of FLC field of the Token Packet.
in.Rsvd2: The 3rd Reserved field of the Token Packet.
in.Rsvd3: The 4th Reserved field of the Token Packet.
in.CRC32: Value of CRC32 protecting the payload of the Token Packet.
Multi Stream Packet
Note: Multi Stream Packet Members include all members of the TU Set Based Packet.
in.TUSet<N>ECC: ECC field of Sub-MTP TU Header of the Nth Sub-MTP TU Set in the Token Packet.
in.TUSet<N>DataCount: DataCount field of Sub-MTP TU Header of the Nth Sub-MTP TU Set in the Token Packet.
in.TUSet<N>Type: Type field of Sub-MTP TU Header of the Nth Sub-MTP TU Set in the Token Packet.
in.TUSet<N>SlotNumber: SlotNumber field of Sub-MTP TU Header of the Nth Sub-MTP TU Set in the Token Packet.
in.TUSet<N>Parameter: Parameter field of the Nth Sub-MTP TU Set in the Token Packet.
FEC Decode Packet
Note: FEC Decode Packet Members include all members of the Tunneled DP Main Link Packet.
in.Command0SRCount: SRCount field of the 1st FEC Command of the Token Packet.
in.Command0FDS: FDS field of the 1st FEC Command of the Token Packet.
in.Command0FEN: FEN field of the 1st FEC Command of the Token Packet.
in.Rsvd0: The 1st Reserved field of the Token Packet.
in.Command1SRCount: SRCount field of the 2nd FEC Command of the Token Packet.
in.Command1FDS: FDS field of the 2nd FEC Command of the Token Packet.
in.Command1FEN: FEN field of the 2nd FEC Command of the Token Packet.
in.Rsvd1: The 2nd Reserved field of the Token Packet.
in.Command2SRCount: SRCount field of the 3rd FEC Command of the Token Packet.
in.Command2FDS: FDS field of the 3rd FEC Command of the Token Packet.
in.Command2FEN: FEN field of the 3rd FEC Command of the Token Packet.
DP Link Control ALPM Packet
Note: DP Link Control ALPM Packet Members include all members of the Tunneled DP Main Link Packet.
in.SW: SW field of the Token Packet.
in.SRCount: SRCount field of the Token Packet.
in.Type: Type field of the Token Packet.
USB4 HS Tunneled DP AUX Packet-Specific Set of Members
Note: Valid for USB4 HS Tunneled DP AUX packets only, undefined for other events.
Note: To get access to given set of members use function SetUsb4TunProtocol().
Note: Tunneled DP AUX Set of Members include all members of the USB4 HS Tunneled Packet.
in.TunDPAuxPacketType: Tunneled DP AUX packet type of the Token Tunneled Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_TUN_DPAUX_AUX_PKT |
AUX Packet |
|
_USB4_TUN_DPAUX_HDP_STATUS_PKT |
HDP Status Packet |
|
_USB4_TUN_DPAUX_SET_CONFIG_PKT |
SET_CONFIG Packet |
|
_USB4_TUN_DPAUX_ACK_PKT |
ACK Packet |
AUX Packet
Note: AUX Packet Members include all members of the Tunneled DP AUX Packet.
in.DPAuxPacketDirection: Tunneled DP AUX packet direction of the Token AUX Packet. Possible values shown below:
|
Direction |
Description |
|
_USB4_TUN_DPAUX_DIRECTION_REQUESTER |
Display Port Requester |
|
_USB4_TUN_DPAUX_DIRECTION_REPLIER |
Display Port Replier |
in.CRC32: Value of CRC32 protecting the payload of the Token AUX Packet.
in.DataLen: Size in bytes of Data field of the Token AUX Packet.
in.Data: Data field of the Token AUX Packet.
AUX Request Packet
Note: AUX Request Packet Members include all members of the AUX Packet.
in.RequestCommand: Type of AUX Request Command of the Token Packet. Possible values shown below:
|
Request command |
Description |
|
_USB4_TUN_DPAUX_REQ_I2C_WRITE |
I2C Write |
|
_USB4_TUN_DPAUX_REQ_I2C_READ |
I2C Read |
|
_USB4_TUN_DPAUX_REQ_I2C_WSUR |
I2C Write_Status_Update_Request |
|
_USB4_TUN_DPAUX_REQ_I2C_MOT_WRITE |
I2C MOT Write |
|
_USB4_TUN_DPAUX_REQ_I2C_MOT_READ |
I2C MOT Read |
|
_USB4_TUN_DPAUX_REQ_I2C_MOT_WSUR |
I2C MOT Write_Status_Update_Request |
|
_USB4_TUN_DPAUX_REQ_WRITE |
Write |
|
_USB4_TUN_DPAUX_REQ_READ |
Read |
in.RequestAddress: Address field of the Token AUX Request Packet.
in.RequestDataLen: DataLen field of the Token AUX Request Packet.
AUX Reply Packet
Note: AUX Reply Packet Members include all members of the AUX Packet.
in.ReplyCommand: Type of AUX Reply Command of the Token Packet. Possible values shown below:
|
Reply command |
Description |
|
_USB4_TUN_DPAUX_REP_ACK |
ACK |
|
_USB4_TUN_DPAUX_REP_NACK |
AUX NACK |
|
_USB4_TUN_DPAUX_REP_DEFER |
AUX DEFER |
|
_USB4_TUN_DPAUX_REP_I2C_NACK |
I2C NACK |
|
_USB4_TUN_DPAUX_REP_I2C_DEFER |
I2C DEFER |
HDP Status Packet
Note: HDP Status Packet Members include all members of the Tunneled DP AUX Packet.
in.ECC: ECC field of the Token Packet.
in.Rsvd: Reserved field of the Token Packet.
in.Plug: Plug field of the Token Packet.
SET_CONFIG Packet
Note: SET_CONFIG Packet Members include all members of the Tunneled DP AUX Packet.
in.ECC: ECC field of the Token Packet.
in.LinkRate: LinkRate field of the Token Packet.
in.LinkRate = 0 represents 1.62 GHz
in.LinkRate = 1 represents 2.70 GHz
in.LinkRate = 2 represents 5.40 GHz
in.LinkRate = 3 represents 8.10 GHz
in.LaneCount: LaneCount field of the Token Packet.
in.LaneCount = 0 represents LinkDown
in.LaneCount = 1 represents 1 Lane
in.LaneCount = 2 represents 2 Lanes
in.LaneCount = 4 represents 4 Lanes
in.MessageType: MessageType field of the Token Packet.
in.MessageData: MessageData field of the Token Packet.
ACK Packet
Note: ACK Packet Members include all members of the Tunneled DP AUX Packet.
in.ECC: ECC field of the Token Packet.
in.ACKType: ACKType field of the Token Packet.
in.Rsvd: Reserved field of the Token Packet.
USB4 HS Tunneled PCIe Packet-Specific Set of Members
Note: Valid for USB4 HS Tunneled PCIe packets only, undefined for other events.
Note: To get access to given set of members, use SetUsb4TunProtocol().
Note: Tunneled PCIe Set of Members include all members of the USB4 HS Tunneled Packet.
in.TunPCIePacketType: Tunneled PCIe packet type of the Token Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_TUN_PCIE_ORDERED_SET |
Ordered Set |
|
_USB4_TUN_PCIE_EIS |
Electrical Idle State Packet |
|
_USB4_TUN_PCIE_TLP |
TLP Packet |
|
_USB4_TUN_PCIE_DLLP |
DLLP Packet |
|
_USB4_TUN_PCIE_PERST_ACTIVE |
PERST Active |
|
_USB4_TUN_PCIE_PERST_INACTIVE |
PERST Incative |
|
_USB4_TUN_PCIE_TLP_NEXT |
TLP Continuation |
|
_USB4_TUN_PCIE_TLP_NULL |
Nullified TLP |
|
_USB4_TUN_PCIE_UNKNOWN |
Unknown |
USB4 HS Tunneled PCIe Ordered Sets
Note: USB4 HS Tunneled PCIe Ordered Sets Members include all members of the Tunneled PCIe Packet.
in.OrderedSetType: Tunneled PCIe Ordered Set type of the Token Packet. Possible values shown below:
|
OS type |
Description |
|
_USB4_TUN_PCIE_EIOS |
Electrical Idle Ordered Set |
|
_USB4_TUN_PCIE_TS1 |
TS1 |
|
_USB4_TUN_PCIE_TS2 |
TS2 |
|
_USB4_TUN_PCIE_OS_INVALID |
Invalid Ordered Set |
USB4 HS Tunneled PCIe EIOS
Note: EIOS Members include all members of the Tunneled PCIe Ordered Sets.
in.EIOS_COMSymbol: EIOS_COMmbols field of the Token Packet.
USB4 HS Tunneled PCIe TS1/TS2 Packet
Note: TS1/TS2 Packet Members include all members of the Tunneled PCIe Ordered Sets.
in.TS_COMSymbol: TS_COMSymbol field of the Token Packet.
in.TS_LinkNumber: TS_LinkNumber field of the Token Packet.
in.TS_LaneNumber: TS_LaneNumber field of the Token Packet.
in.TS_N_FTS: TS_N_FTS field of the Token Packet.
in.TS_TrainingControl: TS_TrainingControl field of the Token Packet.
in.TS_DataRate: TS_DataRate field of the Token Packet.
in.TS_RawSymbols: List of TS1/TS2 Symbols of the Token Packet. The list contains _USB4_TUN_PCIE_TS_SYMBOLS_COUNT (10) elements (in.TS_RawSymbols[0], in.TS_RawSymbols[1], …, in.TS_RawSymbols[_USB4_TUN_PCIE_TS_SYMBOLS_COUNT-1]).
USB4 HS Tunneled PCIe TLP/DLLP Packets
Note: USB4 HS Tunneled PCIe TLP/DLLP Packet Members include all members of the Tunneled PCIe Packet.
Tunneled TLP/DLLP may contain multiple packets, so every field has index of inner packet, which starts with zero. The following fields are common:
in.TS_ Count: The number of inner packets.
in. IsTlp[i]: Whether an inner packet is a TLP
in.IsDllp[i]: Whether an inner packet is a DLLP.
USB4 HS Tunneled PCIe inner TLP Packets
Every field has index of inner packet, which starts with zero.
in.TLPType[i]: Tunneled PCIe TLP type of the Token Packet. Possible values shown below:
|
TLP type |
Description |
|
_USB4_TUN_PCIE_TLP_MRD32 |
Memory Read Request |
|
_USB4_TUN_PCIE_TLP_MRDLK32 |
Memory Read Request-Locked |
|
_USB4_TUN_PCIE_TLP_MWR32 |
Memory Write Request |
|
_USB4_TUN_PCIE_TLP_MRD64 |
Memory Read Request 64-bit |
|
_USB4_TUN_PCIE_TLP_MRDLK64 |
Memory Read Request-Locked 64-bit |
|
_USB4_TUN_PCIE_TLP_MWR64 |
Memory Write Request 64-bit |
|
_USB4_TUN_PCIE_TLP_IORD |
I/O Read Request |
|
_USB4_TUN_PCIE_TLP_IOWR |
I/O Write Request |
|
_USB4_TUN_PCIE_TLP_CFGRD_0 |
Configuration Read Type 0 |
|
_USB4_TUN_PCIE_TLP_CFGWR_0 |
Configuration Write Type 0 |
|
_USB4_TUN_PCIE_TLP_CFGRD_1 |
Configuration Read Type 1 |
|
_USB4_TUN_PCIE_TLP_CFGWR_1 |
Configuration Write Type 1 |
|
_USB4_TUN_PCIE_TLP_TCFGRD |
Trusted Configuration Read (Deprecated) |
|
_USB4_TUN_PCIE_TLP_TCFGWR |
Trusted Configuration Write (Deprecated) |
|
_USB4_TUN_PCIE_TLP_MSG |
Message Request |
|
_USB4_TUN_PCIE_TLP_MSGD |
Message Request with data payload |
|
_USB4_TUN_PCIE_TLP_CPL |
Completion without Data |
|
_USB4_TUN_PCIE_TLP_CPLD |
Completion with Data |
|
_USB4_TUN_PCIE_TLP_CPLLK |
Completion for Locked Memory Read without Data |
|
_USB4_TUN_PCIE_TLP_CPLDLK |
Completion for Locked Memory Read |
|
_USB4_TUN_PCIE_TLP_FETCH_ADD |
Fetch and Add AtomicOp Request |
|
_USB4_TUN_PCIE_TLP_SWAP |
Unconditional Swap AtomicOp Request |
|
_USB4_TUN_PCIE_TLP_CAS |
Compare and Swap AtomicOp Request |
|
_USB4_TUN_PCIE_TLP_FETCH_ADD64 |
Fetch and Add AtomicOp Request 64-bit |
|
_USB4_TUN_PCIE_TLP_SWAP64 |
Unconditional Swap AtomicOp Request 64-bit |
|
_USB4_TUN_PCIE_TLP_CAS64 |
Compare and Swap AtomicOp Request 64-bit |
|
_USB4_TUN_PCIE_TLP_LPRFX |
Local TLP Prefix |
|
_USB4_TUN_PCIE_TLP_EPRFX |
End-End TLP Prefix |
|
_USB4_TUN_PCIE_TLP_INVALID |
Invalid TLP |
in.TLP_SeqNum[i]: TLP Sequence Number of the of the Token Packet.
in.TLPHeader_Fmt[i]: Fmt field of the TLP Header of the Token Packet.
in.TLPHeader_Type[i]: Type field of the TLP Header of the Token Packet.
in.TLPHeader_T9[i]: T9 field of the TLP Header of the Token Packet.
in.TLPHeader_TC[i]: TC field of the TLP Header of the Token Packet.
in.TLPHeader_T8[i]: T8 field of the TLP Header of the Token Packet.
in.TLPHeader_Attr[i]: Attr field of the TLP Header of the Token Packet.
in.TLPHeader_LN[i]: LN field of the TLP Header of the Token Packet.
in.TLPHeader_TH[i]: TH field of the TLP Header of the Token Packet.
in.TLPHeader_TD[i]: TD field of the TLP Header of the Token Packet.
in.TLPHeader_EP[i]: EP field of the TLP Header of the Token Packet.
in.TLPHeader_Attr2[i]: Attr2 field of the TLP Header of the Token Packet.
in.TLPHeader_AT[i]: AT field of the TLP Header of the Token Packet.
Value in.TLPHeader_AT[i] = 0 means "Untranslated",
in.TLPHeader_AT[i] = 1 means "TranslationRequest",
in.TLPHeader_AT[i] = 2 means "Translated",
in.TLPHeader_AT[i] = 3 means "Reserved".
in.TLPHeader_Length[i]: Length field of the TLP Header of the Token Packet.
in.RequesterID_BusNumber[i]: RequesterID BusNumber field of the of the Token Packet.
in.RequesterID_DeviceNumber[i]: RequesterID DeviceNumber field of the of the Token Packet.
in.RequesterID_FunctionNumber[i]: RequesterID FunctionNumber field of the of the Token Packet.
in.Tag[i]: Tag field of the of the Token Packet.
Note: Some packets have no Tag field in decoding (TLP Vendor Defined Message Packets); they have a Reserved field instead. Most of TLP Packets have a Tag field, so it is included in common TLP fields.
in.DataLen[i]: Length of Data field in bytes of the Token Packet. If packet has no Data field DataLen = 0.
in.Data[i]: Bit source of Data field Of the Token Packet. Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
in.HasCRC32[i]: Presence of CRC32 below in the current packet. May be absent, if PCIe TLP does not fit fully.
in.CRC32[i]: Value of CRC32 protecting the payload of the Token Packet.
in.TLP_CHK[i]: CHK field of the of the Token Packet.
Note: Tunneled PCIe TLP packets can have 0 or more prefixes.
in.PrefixCount[i]: Count of TLP prefixes of the Token Packet.
in.PrefixFmtList[i]: List of Fmt fields of prefixes. in.PrefixFmtList[i] [N] – Fmt field of Nth TLP prefix (in.PrefixFmtList[i][0], in.PrefixFmtList[i][1], …, in.PrefixFmtList[i][in.PrefixCount[i]-1]).
in.PrefixTypeList[i]: List of Type fields of prefixes. in.PrefixTypeList[N] – Type field of Nth TLP prefix (in.PrefixTypeList[i][0], in.PrefixTypeList[i][1], …, in.PrefixTypeList[i][in.PrefixCount[i]-1]). Possible values shown below:
|
Prefix type |
Description |
|
_USB4_TUN_PCIE_TLP_PT_LOCAL_MR_IOV |
MR-IOV TLP Prefix |
|
_USB4_TUN_PCIE_TLP_PT_LOCAL_VEND_PREFIX_L0 |
Vendor Defined Local TLP Prefix L0 |
|
_USB4_TUN_PCIE_TLP_PT_LOCAL_VEND_PREFIX_L1 |
Vendor Defined Local TLP Prefix L1 |
|
_USB4_TUN_PCIE_TLP_PT_END_END_TPH |
TPH TLP Prefix |
|
_USB4_TUN_PCIE_TLP_PT_END_END_PASID |
PASID |
|
_USB4_TUN_PCIE_TLP_PT_END_END_VEND_PREFIX_E0 |
Vendor Defined End-End TLP Prefix E0 |
|
_USB4_TUN_PCIE_TLP_PT_END_END_VEND_PREFIX_E1 |
Vendor Defined End-End TLP Prefix E1 |
in.PrefixDataList[i]: List of Data fields of prefixes. in.PrefixDataList[i][N] – Data field of Nth TLP prefix.
in.TPHPrefixSTList[i]: List of ST fields of TPH prefixes. in.TPHPrefixSTList[i][N] – ST field of Nth TPH TLP prefix.
in.TPHPrefixRsvdList[i]: List of Rsvd fields of TPH prefixes. in.TPHPrefixRsvdList[i][N] – Rsvd field of Nth TPH TLP prefix.
Note: in.TPHPrefixSTList[i][N] value and in.TPHPrefixRsvdList[i][N] value are correct for TPH prefix; any other prefix has in.PrefixDataList[i][N] value. To maintain correct indexing, each prefix has access to in.TPHPrefixSTList[i][N], in.TPHPrefixRsvdList[i][N], and in.PrefixDataList[i][N].
Example:
for (j = 0; j < in.PrefixCount[i]; ++j)
{
cur_prefix_fmt = in.PrefixFmtList[i][j];
cur_preifx_type_name = GetUsb4TunPCIeTLPPrefixName( in.PrefixTypeList[i][j] );
if (in.PrefixTypeList[i][j] == _USB4_TUN_PCIE_TLP_PT_END_END_TPH)
{
cur_TPHPrefix_ST = in.TPHPrefixSTList[i][j];
cur_TPHPreifx_Rsvd = in.TPHPrefixRsvdList[i][j];
}
else
{
cur_prefix_data = in.PrefixDataList[i][j];
}
}
USB4 HS Tunneled PCIe TLP Memory and AtomicOp Request Packets
Note: This category belongs to these TLP Packet types:
-
Memory Read Request 32-bit and 64-bit
-
Memory Read Request-Locked 32-bit and 64-bit
-
Memory Write Request 32-bit and 64-bit
-
Fetch and Add AtomicOp Request 32-bit and 64-bit
-
Unconditional Swap AtomicOp Request 32-bit and 64-bit
-
Compare and Swap AtomicOp Request 32-bit and 64-bit
-
Memory Read Request 32-bit and 64-bit
-
Memory Read Request-Locked 32-bit and 64-bit
-
Memory Write Request 32-bit and 64-bit
-
Fetch and Add AtomicOp Request 32-bit and 64-bit
-
Unconditional Swap AtomicOp Request 32-bit and 64-bit
-
Compare and Swap AtomicOp Request 32-bit and 64-bit
Note: Packets from this category include all members of the Tunneled PCIe TLP Packet.
in.TLPHeader_1stDwBE[i]: 1stDwBE field of the TLP Header of the Token Packet.
in.TLPHeader_LastDwBE[i]: LastDwBE field of the TLP Header of the Token Packet.
in.TLPHeader_PH[i]: PH field of the TLP Header of the Token Packet.
in.TLPHeader_PH[i] = 0 : "Bi-directional data structure";
in.TLPHeader_PH[i] = 1 : "Requester";
in.TLPHeader_PH[i] = 2 : "Target";
in.TLPHeader_PH[i] = 3 : "Target with Priority";
in.TLPHeader_Address[i]: Address field of the TLP Header of the Token Packet. 32-bit packets only.
in.TLPHeader_AddressHi[i]: Value of the most significant DWORD of Address field of the TLP Header of the Token Packet. 64-bit packets only.
in.TLPHeader_AddressLo[i]: Value of the less significant DWORD of Address field of the TLP Header of the Token Packet. 64-bit packets only.
USB4 HS Tunneled PCIe TLP I/O Read Write Request Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Packet.
in.TLPHeader_1stDwBE[i]: 1stDwBE field of the TLP Header of the Token Packet.
in.TLPHeader_LastDwBE[i]: LastDwBE field of the TLP Header of the Token Packet.
in.TLPHeader_Address[i]: Address field of the TLP Header of the Token Packet.
in.TLPHeader_Rsvd[i]: Reserved field of the TLP Header of the Token Packet.
USB4 HS Tunneled PCIe TLP Configuration Packets
Note: This category belongs to these TLP Packet types:
-
Configuration Read Type 0
-
Configuration Write Type 0
-
Configuration Read Type 1
-
Configuration Write Type 1
-
Trusted Configuration Read (Deprecated)
-
Trusted Configuration Write (Deprecated)
Note: Packets from this category include all members of the Tunneled PCIe TLP Packet.
in.TLPHeader_1stDwBE[i]: 1stDwBE field of the TLP Header of the Token Packet.
in.TLPHeader_LastDwBE[i]: LastDwBE field of the TLP Header of the Token Packet.
in.DeviceID_BusNumber[i]: DeviceID BusNumber field of the of the Token Packet.
in.DeviceID_DeviceNumber[i]: DeviceID DeviceNumber field of the of the Token Packet.
in.DeviceID_FunctionNumber[i]: DeviceID FunctionNumber field of the of the Token Packet.
in.TLPHeader_Rsvd[i]: Reserved field of the TLP Header of the Token Packet.
in.TLPHeader_Register[i]: Register field of the TLP Header of the Token Packet.
USB4 HS Tunneled PCIe TLP Completion Packets
Note: This category belongs to these TLP Packet types:
-
Completion without Data
-
Completion with Data
-
Completion for Locked Memory Read without Data
-
Completion for Locked Memory Read
Note: Packets from this category include all members of the Tunneled PCIe TLP Packet.
in.CompleterID_BusNumber[i]: CompleterID BusNumber field of the of the Token Packet.
in.CompleterID_DeviceNumber[i]: CompleterID DeviceNumber field of the of the Token Packet.
in.CompleterID_FunctionNumber[i]: CompleterID FunctionNumber field of the of the Token Packet.
in.TLPHeader_ComplStatus[i]: ComplStatus field of the TLP Header of the Token Packet.
in.TLPHeader_ComplStatus[i] = 0 : "Successful Completion";
in.TLPHeader_ComplStatus[i] = 1 : "Unsupported Request";
in.TLPHeader_ComplStatus[i] = 2 : "Configuration Request Retry Status";
in.TLPHeader_ComplStatus[i] = 4 : "Completer Abort";
in.TLPHeader_BCM[i]: BCM field of the TLP Header of the Token Packet.
in.TLPHeader_ByteCount[i]: ByteCount field of the TLP Header of the Token Packet.
in.TLPHeader_LowerAddress[i]: LowerAddress field of the TLP Header of the Token Packet.
in.TLPHeader_Rsvd[i]: Reserved field of the TLP Header of the Token Packet.
USB4 HS Tunneled PCIe TLP Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Packet.
in.TLPHeader_MessageCode[i]: Message Code of the Token TLP Message Packet. Possible values shown below:
|
Message Code |
Description |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_UNLOCK |
Unlock |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_INVALID_REQUEST |
Invalid Request |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_INVALID_COMPLETION |
Invalid Completion |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PAGE_REQUEST |
Page Request |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PRG_RESPONSE |
PRG Response |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_LTR |
Locked Transactions Support |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_OBFF |
Optimized Buffer Flush/Fill |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PM_ACTIVE_STATE_NACK |
PM_Active_State_Nack |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PM_PME |
PM_PME |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PME_TURN_OFF |
PME_Turn_Off |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PME_TO_ACK |
PME_TO_Ack |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ASSERT_INTA |
Assert_INTA |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ASSERT_INTB |
Assert_INTB |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ASSERT_INTC |
Assert_INTC |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ASSERT_INTD |
Assert_INTD |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_DEASSERT_INTA |
Deassert_INTA |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_DEASSERT_INTB |
Deassert_INTB |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_DEASSERT_INTC |
Deassert_INTC |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_DEASSERT_INTD |
Deassert_INTD |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ERR_COR |
ERR_COR |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ERR_NONFATAL |
ERR_NONFATAL |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_ERR_FATAL |
ERR_FATAL |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED1 |
Ignored1 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED2 |
Ignored2 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED3 |
Ignored3 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED4 |
Ignored4 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED5 |
Ignored5 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED6 |
Ignored6 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_IGNORED7 |
Ignored7 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_SET_SLOT_POWER_LIMIT |
Set_Slot_Power_limit |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PTM_REQUEST |
PTMRequest |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_PTM_RESPONSE_RESPONSE_D |
PTMResponse_ResponseD |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_VENDOR_DEFINED_TYPE0 |
Vendor_Defined_Type_0 |
|
_USB4_TUN_PCIE_TLP_MSG_CODE_VENDOR_DEFINED_TYPE1 |
Vendor_Defined_Type_1 |
USB4 HS Tunneled PCIe TLP Message Reserved Packets
Note: This category belongs to these TLP Message Codes:
-
Assert_INTA
-
Assert_INTB
-
Assert_INTC
-
Assert_INT,
-
Deassert_INTA
-
Deassert_INTB
-
Deassert_INTC
-
Deassert_INTD
-
PM_Active_State_Nack
-
PM_PME
-
PME_Turn_Off
-
PME_TO_Ack
-
ERR_COR
-
ERR_NONFATAL
-
ERR_FATAL
-
Unlock
-
PTMRequest
-
PTMResponse_ResponseD (in case of in.TLPType[i] = _USB4_TUN_PCIE_TLP_MSG, else – see USB4 HS Tunneled PCIe TLP PTM Response_ResponseD Packets)
-
Set_Slot_Power_limit
Note: Packets from this category include all members of the Tunneled PCIe TLP Message Packet.
in.TLPHeader_Rsvd0[i]: 1st Reserved field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_Rsvd1[i]: 2nd Reserved field of the TLP Header of the Token TLP Message Packet.
USB4 HS Tunneled PCIe TLP Message LTR Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Message Packet.
in.TLPHeader_Rsvd[i]: Reserved field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_NoSnoopLatency[i]: NoSnoopLatency field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_SnoopLatency[i]: SnoopLatency field of the TLP Header of the Token TLP Message Packet.
USB4 HS Tunneled PCIe TLP Message OBFF Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Message Packet.
in.TLPHeader_Rsvd0[i]: First Reserved field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_OBFFCode[i]: OBFF Code field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_OBFFCode = 0 : "Idle";
in.TLPHeader_OBFFCode = 1 : "OBFF";
in.TLPHeader_OBFFCode = 0b1111 : "CPU Active";
in.TLPHeader_Rsvd1[i]: Second Reserved field of the TLP Header of the Token TLP Message Packet.
USB4 HS Tunneled PCIe TLP PTM Response_ResponseD Packets
Note: Valid only if in.TLPType[i] = _USB4_TUN_PCIE_TLP_MSGD. Otherwise, see USB4 HS Tunneled PCIe TLP Message Reserved Packets.
Note: Packets from this category include all members of the Tunneled PCIe TLP Message Packet.
in.TLPHeader_PTMMasterTimeHi[i]: Value of the most significant DWORD of PTMMasterTime field of the TLP Header of the Token Packet.
in.TLPHeader_PTMMasterTimeLo[i]: Value of the less significant DWORD of PTMMasterTime field of the TLP Header of the Token Packet.
in.TLPHeader_PropagationDelay[i]: PropagationDelay field of the TLP Header of the Token TLP Message Packet.
USB4 HS Tunneled PCIe TLP Vendor Defined Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Message Packet.
in.TLPHeader_VDMSubtype[i]: Subtype of the Token TLP Vendor Defined Message Packet. Possible values shown below:
|
Subtype |
Description |
|
_USB4_TUN_PCIE_TLP_MSG_VENDOR_SUBTYPE_LN |
Lightweight Notification (LN) Message |
|
_USB4_TUN_PCIE_TLP_MSG_VENDOR_SUBTYPE_HIERARCHY_ID |
Hierarchy ID Message |
|
_USB4_TUN_PCIE_TLP_MSG_VENDOR_SUBTYPE_DEVICE_READINESS_STATUS |
Device Readiness Status (DRS) Message |
|
_USB4_TUN_PCIE_TLP_MSG_VENDOR_SUBTYPE_FUNCTION_READINESS_STATUS |
Function Readiness Status (FRS) Message |
in.TLPHeader_VendorID[i]: VendorID field of the TLP Header of the Token TLP Vendor Defined Message Packet.
in.TLPHeader_Rsvd0[i]: 1st Reserved field of the TLP Header of the Token TLP Vendor Defined Message Packet. in.TLPHeader_Rsvd0[i] value of this packet repeats in.Tag[i] value of TLP Header.
USB4 HS Tunneled PCIe TLP Vendor Defined LN Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Vendor Defined Message Packet.
in.DeviceID_BusNumber[i]: DeviceID BusNumber field of the of the Token Packet.
in.DeviceID_DeviceNumber[i]: DeviceID DeviceNumber field of the of the Token Packet.
in.DeviceID_FunctionNumber[i]: DeviceID FunctionNumber field of the of the Token Packet.
in.TLPHeader_VendorRsvd[i]: VendorRsvd field of the of the Token Packet.
in.TLPHeader_Rsvd1[i]: 2nd Reserved field of the TLP Header of the Token Packet.
in.TLPHeader_CachlineAddressHi[i]: Value of the most significant DWORD of CachlineAddress field of the TLP Header of the Token Packet.
in.TLPHeader_CachlineAddressLo[i]: Value of the less significant DWORD of CachlineAddress field of the TLP Header of the Token Packet.
in.TLPHeader_PropagationDelay[i]: PropagationDelay field of the TLP Header of the Token TLP Message Packet.
in.TLPHeader_Rsvd2[i]: 3rd Reserved field of the TLP Header of the Token Packet.
in.TLPHeader_NR[i]: NR field of the TLP Header of the Token Packet.
USB4 HS Tunneled PCIe TLP Vendor Defined HierarchyID Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Vendor Defined Message Packet.
in.TLPHeader_HierarchyID[i]: HierarchyID field of the of the Token Packet.
in.TLPHeader_GUIDAuthorityID[i]: GUIDAuthorityID field of the of the Token Packet.
in.TLPHeader_GUIDAuthorityID = 0 : None;
in.TLPHeader_GUIDAuthorityID = 1 : Timestamp;
in.TLPHeader_GUIDAuthorityID = 2 : IEEE_EUI_48;
in.TLPHeader_GUIDAuthorityID = 3 : IEEE_EUI_64;
in.TLPHeader_GUIDAuthorityID = 4 : RFC_4122_UUID;
in.TLPHeader_GUIDAuthorityID = 5 : IPv6Address;
0x06 <= in.TLPHeader_GUIDAuthorityID <= 0x7F : Reserved;
0x80 <= in.TLPHeader_GUIDAuthorityID : PCI_SIG_Vendor_Specific;
in.TLPHeader_SystemGUIDLen[i]: Count of SystemGUID symbols of the Token Packet.
in.TLPHeader_SystemGUIDList: List of SystemGUID symbols. in.TLPHeader_SystemGUIDList[i][N] –Nth SystemGUID symbol of the Token Packet.
(in.TLPHeader_SystemGUIDList[i][0],
in.TLPHeader_SystemGUIDList[i][1],
…,
in.TLPHeader_SystemGUIDList[i][in.TLPHeader_SystemGUIDLen[i]-1]).
USB4 HS Tunneled PCIe TLP Vendor Defined DRS Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Vendor Defined Message Packet.
in.TLPHeader_VendorRsvd[i]: VendorRsvd field of the of the Token Packet.
in.TLPHeader_Rsvd1[i]: Reserved field of the of the Token Packet.
USB4 HS Tunneled PCIe TLP Vendor Defined FRS Message Packets
Note: Packets from this category include all members of the Tunneled PCIe TLP Vendor Defined Message Packet.
in.TLPHeader_VendorRsvd[i]: VendorRsvd field of the of the Token Packet.
in.TLPHeader_Rsvd1[i]: Reserved field of the of the Token Packet.
in.TLPHeader_FRSReason[i]: FRSReason field of the of the Token Packet.
in.TLPHeader_FRSReason[i] = 0b0001 : DRSMessageReceived;
in.TLPHeader_FRSReason[i] = 0b0010 : D3HotD0TransitionCompleted;
in.TLPHeader_FRSReason[i] = 0b0011 : FLR Completed;
in.TLPHeader_FRSReason[i] = 0b1000 : VF Enabled;
in.TLPHeader_FRSReason[i] = 0b1001 : VF Disabled;
USB4 HS Tunneled PCIe inner DLLP Packets
Every field has the index of the inner packet, which starts with zero.
in.DLLPType[i]: Tunneled PCIe DLLP type of the Token Packet. Possible values shown below:
|
DLLP type |
Description |
|
_USB4_TUN_PCIE_DLLP_ACK |
Ack |
|
_USB4_TUN_PCIE_DLLP_NAK |
Nak |
|
_USB4_TUN_PCIE_DLLP_MR_INIT |
MRInit |
|
_USB4_TUN_PCIE_DLLP_DATA_LINK_FEATURE |
Data_Link_Feature |
|
_USB4_TUN_PCIE_DLLP_PM_ENTER_L1 |
PM_Enter_L1 |
|
_USB4_TUN_PCIE_DLLP_PM_ENTER_L23 |
PM_Enter_L23 |
|
_USB4_TUN_PCIE_DLLP_PM_ACT_STATE_REQUEST_L1 |
PM_Active_State_Request_L1 |
|
_USB4_TUN_PCIE_DLLP_PM_REQUEST_ACK |
PM_Request_Ack |
|
_USB4_TUN_PCIE_DLLP_VENDOR |
Vendor-specific |
|
_USB4_TUN_PCIE_DLLP_NOP |
NOP |
|
_USB4_TUN_PCIE_DLLP_INIT_FC1_P |
InitFC1-P |
|
_USB4_TUN_PCIE_DLLP_INIT_FC1_NP |
InitFC1-NP |
|
_USB4_TUN_PCIE_DLLP_INIT_FC1_CPL |
InitFC1-Cpl |
|
_USB4_TUN_PCIE_DLLP_MR_INIT_FC1 |
MRInitFC1 |
|
_USB4_TUN_PCIE_DLLP_INIT_FC2_P |
InitFC2-P |
|
_USB4_TUN_PCIE_DLLP_INIT_FC2_NP |
InitFC2-NP |
|
_USB4_TUN_PCIE_DLLP_INIT_FC2_CPL |
InitFC2-Cpl |
|
_USB4_TUN_PCIE_DLLP_MR_INIT_FC2 |
MRInitFC2 |
|
_USB4_TUN_PCIE_DLLP_UPDATE_FC_P |
UpdateFC-P |
|
_USB4_TUN_PCIE_DLLP_UPDATE_FC_NP |
UpdateFC-NP |
|
_USB4_TUN_PCIE_DLLP_UPDATE_FC_CPL |
UpdateFC-Cpl |
|
_USB4_TUN_PCIE_DLLP_MR_UPDATE_FC |
MRUpdateFC |
|
_USB4_TUN_PCIE_DLLP_INVALID |
Invalid DLLP |
in.CRC16[i]: Value of CRC16 protecting the payload of the Token Packet.
USB4 HS Tunneled PCIe DLLP Ack/Nak Packets
Note: Packets from this category include all members of the Tunneled PCIe DLLP Packet.
in.AckNak_SeqNum[i]: AckNak_SeqNum field of the of the Token Packet.
in.Rsvd[i]: Reserved field of the of the Token Packet.
USB4 HS Tunneled PCIe DLLP Data Link Feature Packets
Note: Packets from this category include all members of the Tunneled PCIe DLLP Packet.
in.FeatureAck[i]: FeatureAck field of the of the Token Packet.
in.FeatureSupport[i]: FeatureSupport field of the of the Token Packet.
USB4 HS Tunneled PCIe DLLP Power Management Packets
Note: This category belongs to these DLLP Types:
-
PM_Enter_L1
-
PM_Enter_L23
-
PM_Active_State_Request_L1
-
PM_Request_Ack
Note: Packets from this category include all members of the Tunneled PCIe DLLP Packet.
in.Rsvd[i]: Reserved field of the of the Token Packet.
USB4 HS Tunneled PCIe DLLP Vendor-Specific Packets
Note: Packets from this category include all members of the Tunneled PCIe DLLP Packet.
in.DLLPData[i]: DLLPData field of the of the Token Packet.
USB4 HS Tunneled PCIe DLLP Init/Update Packets
Note: This category belongs to these DLLP Types:
-
MRInit
-
InitFC1-P
-
InitFC1-NP
-
InitFC1-Cpl
-
MRInitFC1
-
InitFC2-P
-
InitFC2-NP
-
InitFC2-Cpl
-
MRInitFC2
-
UpdateFC-P
-
UpdateFC-NP
-
UpdateFC-Cpl
-
MRUpdateFC
Note: Packets from this category include all members of the Tunneled PCIe DLLP Packet.
in.Rsvd[i]: Reserved field of the of the Token Packet.
in.HdrScale[i]: HdrScale field of the of the Token Packet.
in.HdrFC[i]: HdrFC field of the of the Token Packet.
in.DataScale[i]: DataScale field of the of the Token Packet.
in.DataFC[i]: DataFC field of the of the Token Packet.
USB4 HS Tunneled USB3 Packet-Specific Set of Members
Note: Valid for USB4 HS Tunneled USB3 packets only, undefined for other events.
Note: To get access to a given set of members, use SetUsb4TunProtocol().
Note: Tunneled USB3 Set of Members include all members of the USB4 HS Tunneled Packet.
in.TunUSB3GenType: Tunneled USB3 Gen type of the Token Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_TUN_USB3_GEN_X |
Gen X |
|
_USB4_TUN_USB3_GEN_T |
Gen T |
in.IsGenX: Boolean value that indicates whether or not Gen type of the Tunneled USB3 Packet is Gen X.
in.IsGenT: Boolean value that indicates whether or not Gen type of the Tunneled USB3 Packet is Gen T.
in.TunUSB3PacketType: Tunneled USB3 packet type of the Token Packet. Possible values shown below:
|
Packet type |
Description |
|
_USB4_TUN_USB3_LFPS |
LFPS Packet |
|
_USB4_TUN_USB3_OOBM |
OOBM |
|
_USB4_TUN_USB3_TS1 |
TS1 |
|
_USB4_TUN_USB3_TS2 |
TS2 |
|
_USB4_TUN_USB3_SDS |
SDS |
|
_USB4_TUN_USB3_LINK_COMMAND |
Link Command Packet |
|
_USB4_TUN_USB3_LMP |
Link Management Packet |
|
_USB4_TUN_USB3_TP |
Transaction Packet |
|
_USB4_TUN_USB3_DEFERRED_DPH |
Data Packet Header |
|
_USB4_TUN_USB3_ITP |
Isochronous Timestamp Packet |
|
_USB4_TUN_USB3_START_DP |
Start Data Packet Segment |
|
_USB4_TUN_USB3_MIDDLE_DP |
Middle Data Packet Segment |
|
_USB4_TUN_USB3_END_DP |
End Data Packet Segment |
|
_USB4_TUN_USB3_NDP |
Nullified Data Packet |
USB4 HS Tunneled USB3 LFPS Packet Members
Note: USB4 HS Tunneled USB3 LFPS Packet Members include all members of the Tunneled USB3 Packet.
in.Type: Tunneled USB3 LFPS type of the Token Packet. Possible values shown below:
|
LFPS type |
Description |
|
_USB4_TUN_USB3_LFPS_POLLING |
Polling LFPS |
|
_USB4_TUN_USB3_LFPS_EXIT_U2_LB |
Exit U2 LB |
|
_USB4_TUN_USB3_LFPS_WAKE_U3 |
Wake U3 |
|
_USB4_TUN_USB3_LFPS_RESET |
Reset LFPS |
|
_USB4_TUN_USB3_LFPS_LBPM_LFPS1 |
LBPM LFPS1 |
|
_USB4_TUN_USB3_LFPS_STOP |
Stop LFPS |
in.LBPM: LBPM field of the Token Packet.
in.RxTermEnable: RxTermEnable field of the Token Packet.
in.SCD1: SCD1 field of the Token Packet.
in.SCD2: SCD2 field of the Token Packet.
in.U2Exit: U2Exit field of the Token Packet.
in.U3Wakeup: SCD2 field of the Token Packet.
in.WarmReset: WarmReset field of the Token Packet.
in.LBPMEnable: LBPMEnable field of the Token Packet.
in.CRC8: Value of CRC8 protecting the payload of the Token Packet.
Note: Token Packet has in.Duration member, a common member of the USB Packet-Specific Set of Members.
USB4 HS Tunneled USB3 OOBM Packet Members
Note: USB4 HS Tunneled USB3 OOBM Packet Members include all members of the Tunneled USB3 Packet.
in.LinkError: Link Error field of the Token Packet.
in.PortDisabled: Port Disabled field of the Token Packet.
in.PortResetDone: Port Reset Done field of the Token Packet.
in.U3Resume: U3 Resume field of the Token Packet.
in.PortReset: Port Reset field of the Token Packet.
in.LinkReady: Link Ready field of the Token Packet.
in.CRC: Value of CRC protecting the payload of the Token Packet.
USB4 HS Tunneled USB3 TS1/TS2 Ordered Set Members
Note: USB4 HS Tunneled USB3 TS1/TS2 Members include all members of the Tunneled USB3 Packet.
in.LnkFunctionality: Value of the whole Link Functionality (Link Configuration) byte in the training sequence
in.Reset: Value of the Reset bit in the Link Configuration byte.
in.Loopback: Value of the Loopback asserted/deasserted bit in the Link Configuration byte.
in.ScrDisable: Value of the Disable Scrambling bit in the Link Configuration byte.
in.Rsvd0: Rsvd0 field of the of the Token Packet.
in.Rsvd: Rsvd field of the of the Token Packet.
in.CRC8: Value of CRC8 protecting the payload of the Token Packet.
Note: USB4 HS Tunneled USB3 TS1/TS2 has no member in.Count, since for USB4 tunneled USB3 TS1/TS2 it is always 1.
USB4 HS Tunneled USB3 SDS Ordered Set Members
Note: USB4 HS Tunneled USB3 SDS Members include all members of the Tunneled USB3 Packet.
in.CRC8: Value of CRC8 protecting the payload of the Token Packet.
USB4 HS Tunneled USB3 Link Command Packet Members
Note: USB4 HS Tunneled USB3 Link Command Packet Members include all members of the Tunneled USB3 Packet.
Note: The following members are actual when the Tunneled USB3 Packet has Gen X Gen Type (in.TunUSB3GenType is equal to _USB4_TUN_USB3_GEN_X).
in.LnkCmd: Index of the Link Command type (constants are defined in VS_constants.inc).
in.LinkCmdInfo: Value of the Link Command Information field for the Link Command Word.
in.CRC5: Value of CRC5 for the Link Command Word.
in.LinkCmdInfo_2: Value of the Link Command Information field for the replica of the Link Command Word.
in.CRC5_2: Value of CRC5 for the replica of the Link Command Word.
Note: The following members are actual when the Tunneled USB3 Packet has Gen T Gen Type (in.TunUSB3GenType is equal to _USB4_TUN_USB3_GEN_T).
in.LnkCmdCount: Count of Link Commands that are encapsulated in the Packet.
in.LnkCmd_i: Index of the Link Command type (constants are defined in VS_constants.inc). Index i in the prefix may take value from 0 to in.LnkCmdCount – 1.
in.LinkCmdInfo_i: Value of the Link Command Information field for the Link Command Word. Index i in the prefix may take value from 0 to in.LnkCmdCount – 1.
in.LinkCmdInfoIndex_i: The value of n in LGOOD_n, n in LKAI_n, x in LCRD1_x or y in LCRD2_y.
USB4 HS Tunneled USB3 Link Management Packet Members
Note: USB4 HS Tunneled USB3 Link Management Packet Members include all members of the Tunneled USB3 Packet.
in.SubType: SubType value for LMP. Use constant definitions from VS_constants.inc.
USB4 HS Tunneled USB3 Transaction Packet Members
Note: USB4 HS Tunneled USB3 TP Packet Members include all members of the Tunneled USB3 Packet.
in.SubType: SubType value for Transaction Packet. Use constant definitions from VS_constants.inc.
in.Addr: Address of the device that receives this Transaction Packet
in.Endp: Endpoint number on the device that receives this Transaction Packet
in.Dir: Direction for the specified Endpoint
in.StreamID: Value of the StreamID field
USB4 HS Tunneled USB3 Deferred Data Packet Header Members
Note: USB4 HS Tunneled USB3 Deferred DPH Members include all members of the Tunneled USB3 Packet.
in.Addr: Address of the device which is the recipient of this Data Packet
in.Endp: Endpoint number on the device which is the recipient of this Data Packet
in.Dir: Direction for the specified Endpoint
in.StreamID: Value of the StreamID field
in.SeqN: Value of the Sequence Number for this Data Packett
in.DataLength: Length of the payload for this Data Packet
USB4 HS Tunneled USB3 Isochronous Timestamp Packet Members
Note: USB4 HS Tunneled USB3 ITP Members include all members of the Tunneled USB3 Packet.
in.BusICounter: Bus Interval Counter value for ITP, in 1/8 of a millisecond
in.Delta: Time Delta value for ITP
in.BusIAdjCtrl: Bus Interval Adjustment Control value for ITP, specifying the device in control of bus interval adjustment
USB4 HS Tunneled USB3 Data Packet Segment Members
Note: USB4 HS Tunneled USB3 DP Segment Members include all members of the Tunneled USB3 Packet.
in.DataLen: Length of Data field in bytes of the Token Packet.
in.Data: Bit source of Data field Of the Token Packet.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
USB4 HS Tunneled USB3 Nullified Data Packet Members
Note: USB4 HS Tunneled USB3 Nullified DP Members include all members of the Tunneled USB3 Packet.
in.DataLen: Length of Data field in bytes of the Token Packet.
in.Data: Bit source of Data field Of the Token Packet. Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
USB4 LLSM State-Specific Set of Members
Note: Valid for USB4 LLSM State only, undefined for other events.
in.LaneNumber: Value of the Lane Number of the Trace Event. Value in.LaneNumber = 0 means Lane 0, in.LaneNumber = 1 means Lane 1.
in.LLSMState: LLSM State into which the transition occured. Possible values shown below:
|
LLSM State |
Description |
|
_USB4_LLSM_STATE_UNKNOWN |
Unknown |
|
_USB4_LLSM_STATE_TRAINING |
Training |
|
_USB4_LLSM_STATE_CLD |
CLd |
|
_USB4_LLSM_STATE_CL0 |
CL0 |
|
_USB4_LLSM_STATE_CL0S |
CL0s |
|
_USB4_LLSM_STATE_CL1 |
CL1 |
|
_USB4_LLSM_STATE_CL2 |
CL2 |
|
_USB4_LLSM_STATE_LANE_BONDING |
Lane Bonding |
|
_USB4_LLSM_STATE_DISABLED |
Disabled |
Transaction-Specific Set of Members
in.TraToken: Token PID for the transaction. Possible values:
const PID_OUT = 0x87;
const PID_IN = 0x96;
const PID_SETUP = 0xB4;
const PID_SPLIT = 0x1E;
const PID_PING = 0x2D;
const PID_EXT = 0x0F;
in.Addr: Device Address value for this Usb transaction.
in.Endp: Device Endpoint Number value for this Usb transaction.
in.TraCompletionFlag: Handshake PID for the transaction (if any). Possible values:
const PID_ACK = 0x4B;
const PID_NAK = 0x5A;
const PID_STALL = 0x78;
const PID_NYET = 0x69;
const PID_ERR = 0x3C;
0xFFFFFFFF – in case no handshake was sent for the transaction.
in.Complete: Flag, signaling if the transaction was complete.
in.XferType: Type of the USB Transfer this transaction belongs to. See Transfer Types for possible values.
in.CtrlDirection: For a Setup transaction, represents the direction of the corresponding Control Transfer.
0 = Host-to-device
1 = Device-to-host
in.FirstInXfer: This flag is set when the transaction is first in the transfer it belongs to.
in.LastInXfer: This flag is set when the transaction is last in the transfer it belongs to.
in.Errors: Error code for the transaction, if any error happened.
If the transaction is a Setup transaction, the following input context members provide values of the corresponding fields of the USB Device Request:
in.ReqType
in.ReqRecipient
in.bRequest
in.wIndex
in.wValue
in.wLength
in.Split: Signals that the transaction is a start-split or complete-split.
in.HubAddr: Value of the Hub Address field, the USB device address of the hub supporting the specified full-/low-speed device for this full-/low-speed transaction.
in.SC: Value of the Start/Complete bit for the split token.
in.Port: Value of the Port field – the port number of the target hub for which this full-/low-speed transaction is destined.
in.S: Value of the Speed bit for the split token.
in.E: Value of the End bit for the split token.
in.ET: Value of the Endpoint Type field for the split token.
in.OTGHostId: For USB On-The-Go transactions, indicates if the A-device is acting as the host (value of 0) or the B-device is acting as the host (value of 1).
in.OTGErrorCode: For USB On-The-Go transactions, indicates error code if non-zero.
in.OTGErrorCodeOffset: For USB On-The-Go transactions with errors, indicates the offset from the first packet in the transaction to the packet with error.
in.PayloadLength: Length (in bytes) of the packet payload. If zero, the transaction does not have any payload.
in.Payload: Bit source of the transaction data payload.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
Split Transaction-Specific Set of Members
All the input context members that are defined for USB2 transactions are also applicable to Split Transactions. In addition to those, Split Transactions define the following members:
in.TraHalted: Indicates that this split transaction was halted.
Transfer-Specific Set of Members
in.XferType: Type of transfer. Repeats the trace event value for the transfer.
in.Addr: Device Address value for this USB transfer.
in.Endp: Device Endpoint Number value for this USB transfer.
in.Completed: Flag signaling if the transfer was completed.
in.Halted: Flag signaling if the transfer was halted (usually that means STALL handshake sent).
in.CtrlDirection: For a Control Transfer, represents the direction:
0 = Host-to-device
1 = Device-to-host
If the transfer is a Control Transfer, the following input context members provide values of the corresponding fields of the USB Device Request:
in.ReqType
in.ReqRecipient
in.bRequest
in.wIndex
in.wValue
in.wLength
in.ClassicOnHigh: When set, indicates that this transfer was a classic speed transfer that was executed and captured on a high speed branch (upstream from a high speed hub).
in.OTGHostId: For USB On-The-Go transfers, indicates if the A-device is acting as the host (value of 0) or the B-device is acting as the host (value of 1).
in.PayloadLength: Length (in bytes) of the transfer payload. If zero, transfer does not have any payload. Take care not to request payload for the transfers that moved large amounts of data.
in.Payload: Bit source of the transfer payload.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
Note: Refer to Script decoded fields retrieving functions for information about getting the script decoded values at the Transfer level.
SCSI Operation-Specific Set of Members
SCSI operations define the following members:
in.OperCode: SCSI operation code.
in.Addr: Device address value for this SCSI operation.
in.Tag: SCSI operation tag.
in.Status: SCSI operation status.
Metric parameters which are experessed as following members:
in.XferCount: The total number of transfers that compose this SCSI operation.
in.ResponseTime: Time it took to transmit this SCSI operation on the USB link(s) (VSE Time object).
in.LatencyTime: Time measured from the transmission of the SCSI command to the first data transmitted for this SCSI IO operation (VSE Time object).
in.DataToStatusTime: Time between the end of data transmission for this SCSI operation and the status transfer (VSE Time object).
in.Throughput: payload divided by response time, expressed in kilobytes per second.
in.PldBytes: Number of payload bytes this SCSI operation transferred.
PHY Transaction-Specific Set of Members
PHY Transactions define the following members:
in.Type: PHY Transaction Type. Possible values:
const _SCD1 = 0x01;
const _SCD2 = 0x02;
const _PHY_CAP_5 = 0x03;
const _PHY_CAP_10 = 0x04;
const _PHY_READY = 0x05;
PD Packet-Specific Set of Members
Note: All field values can be retrieved via Input Context or Packet And Script Decoded Fields Retrieving. The following list are exceptions to this rule. Some of these members are additional information to decode packets and are not necessary packet fields.
IMPORTANT: As a general rule, add the "objx_" prefix to all power delivery data object field names to retrieve their value in a given packet.
X is the data object number the field belongs to.
There are some exceptions indicated by the "do not add prefix" sign.
Here is how to use decoder and context methods to retrieve a field's value:
Method 1
field_prefix = "OBJ1_";
field_name = field_prefix + "Rsvd_1";
report_str = GetDecodedPktField (field_name);
Method 2
field_name = "in." + field_prefix + "Rsvd_1";
report_str = FormatEx( FormatString_IntValue, field_name, in.OBJ1_Rsvd_1 );
Information Available Only by Context
The following information can just be accessed using input contexts and cannot be retrieved using Packet and Script Decoded Fields Retrieving Functions:
in.PreambleLength: Indicates the Preamble length in bits.
in.PacketType: The 4-bit Message Type field indicating the type of Message being sent.
Values for Power Delivery Control, Data, Ordered Set Message Types:
_PD_CONTROL_RSV0 = 0,
_PD_CONTROL_GOOD_CRC = 1,
_PD_CONTROL_GOTO_MIN = 2,
_PD_CONTROL_ACCEPT = 3,
_PD_CONTROL_REJECT = 4,
_PD_CONTROL_PING = 5,
_PD_CONTROL_PS_RDY = 6,
_PD_CONTROL_GET_SRC_CAP = 7,
_PD_CONTROL_GET_SINK_CAP = 8,
_PD_CONTROL_DR_SWAP = 9,
_PD_CONTROL_PR_SWAP = 10,
_PD_CONTROL_VCONN_SWAP = 11,
_PD_CONTROL_WAIT = 12,
_PD_CONTROL_SOFT_RESET = 13,
_PD_CONTROL_DATA_RESET = 14,
_PD_CONTROL_DATA_RESET_COMPLETE = 15,
_PD_CONTROL_NOT_SUPPORTED = 16,
_PD_CONTROL_GET_SRC_CAP_EXTENDED = 17,
_PD_CONTROL_GET_STATUS = 18,
_PD_CONTROL_FR_SWAP = 19,
_PD_CONTROL_GET_PPS_STATUS = 20,
_PD_CONTROL_GET_COUNTRY_CODE = 21,
_PD_CONTROL_GET_SNK_CAP_EXTENDED = 22,
_PD_CONTROL_GET_SOURCE_INFO = 23,
_PD_CONTROL_GET_REVISION = 24,
_PD_DATA_SRC_CAP = 33,
_PD_DATA_REQ = 34,
_PD_DATA_BIST = 35,
_PD_DATA_SNK_CAP = 36,
_PD_DATA_BATTERY_STATUS = 37,
_PD_DATA_ALERT = 38,
_PD_DATA_GET_COUNTRY_INFO = 39,
_PD_DATA_ENTER_USB = 40,
_PD_DATA_EPR_REQ = 41,
_PD_DATA_EPR_MODE = 42,
_PD_DATA_SRC_INFO = 43,
_PD_DATA_REVISION = 44,
_PD_DATA_VENDOR_DEF = 47,
_PD_EXTENDED_SRC_CAP_EXTENDED = 65,
_PD_EXTENDED_STATUS = 66,
_PD_EXTENDED_GET_BATTERY_CAP = 67,
_PD_EXTENDED_GET_BATTERY_STATUS = 68,
_PD_EXTENDED_BATTERY_CAP = 69,
_PD_EXTENDED_GET_MANUFACTURER_INFO = 70,
_PD_EXTENDED_MANUFACTURER_INFO = 71,
_PD_EXTENDED_SECURITY_REQ = 72,
_PD_EXTENDED_SECURITY_RESP = 73,
_PD_EXTENDED_FW_UPDATE_REQ = 74,
_PD_EXTENDED_FW_UPDATE_RESP = 75,
_PD_EXTENDED_PPS_STATUS = 76,
_PD_EXTENDED_COUNTRY_INFO = 77,
_PD_EXTENDED_COUNTRY_CODE = 78,
_PD_EXTENDED_SNK_CAP_EXTENDED = 79,
_PD_EXTENDED_EPR_SRC_CAPABILITIES……..= 81,
_PD_EXTENDED_EPR_SNK_CAPABILITIES = 82,
_PD_EXTENDED_VENDOR_DEFINED_EXT = 83
_PD_EXTENDED_CONTROL_EPR_GET_SRC_CAP = 97,
_PD_EXTENDED_CONTROL_EPR_GET_SNK_CAP = 98,
_PD_EXTENDED_CONTROL_EPR_KEEP_ALIVE = 99,
_PD_EXTENDED_CONTROL_EPR_KEEP_ALIVE_ACK = 100,
_PD_MESSAGE_TYPE_END___ = 249
_PD_MSG_EVENT_FAST_POWER_ROLE_SWAP = 0xfa,
_PD_MSG_HARD_RESET = 0xfb,
_PD_MSG_CABLE_RESET = 0xfc,
_PD_OTHER_MSG_BIST_TEST_STREAM = 0xfd,
_PD_MSG_UNKNOWN = 0xfe,
in.SenderPort: The port sent this packet according to data provided by Bus Engine (front end acquizition hardware).
Possible values:
_PD_PORT_UNKNOWN = 0
_PD_PORT_LEFT = 1
_PD_PORT_RIGHT = 2
_PD_PORT_CABLE = 3
in.SOP_Type: Value of SOP Type for Start of Packet
Possible values:
_PD_FRAMING_TYPE_NO_FRAMING = 0,
_PD_FRAMING_TYPE_SOP = 1,
_PD_FRAMING_TYPE_SOP_PRIM = 2,
_PD_FRAMING_TYPE_SOP_DOUBLE_PRIM = 3,
_PD_FRAMING_TYPE_SOP_PRIM_DBG = 4,
_PD_FRAMING_TYPE_SOP_DBL_PRIM_DBG = 5,
_PD_FRAMING_TYPE_HARD_RESET = 6,
_PD_FRAMING_TYPE_CABLE_RESET = 7,
in.DataObjectCount: The 3-bit Number of Data Objects field indicates the number of 32-bit Data Objects that follow the Message Header. When this field is zero the Message is either a Control Message or an unchunked extended message, otherwise the message is either a Data Message or a chunked extended message.
in.OBJX_CapType: Capability type of the data object X which can be either _PD_DATA_SNK_CAP or _PD_DATA_SRC_CAP for Source_Capabilities or Sink_Capabilities capability messages.
in.OBJ1_MinOprCurPow: Minimum Operating Current/Power field in the Request Message. Set to the lowest current the Sink requires to maintain operation. The values returned are in 10mA and 250mW for Current and Power members respectively.
in.OBJ1_MaxOprCurPow: Maximum Operating Current/Power field in the Request Message. Set to the highest current the Sink will ever require. The values returned are in 10mA and 250mW for Current and Power members respectively.
in.OprCurPow: Operating Current field in the Request Data Object. Set to the actual amount of current the Sink needs to operate at a given time. The values returned are in 10mA and 250mW for Current and Power members respectively.
in.BISTFunction: Type of the BIST message function. Possible values:
5: BIST Carrier Mode 2
8: BIST Test Data
The following constants are defined:
_PD_BIST_REQ_TYPE_CARRIER_MODE
_PD_BIST_REQ_TYPE_TEST_DATA
in.IsStructuredVDM: A value of 1 indicates current Vendor Defined Message is a Structured VDM, 0 means an Unstructured VDM.
in.VDMCommand: The VDM Header for a Structured VDM Message defines Commands used to retrieve a list of SVIDs the device supports, to discover the Modes associated with each SVID, and to enter/exit the Modes.
The Commands include:
_PD_VDM_CMD_DISCOVER_IDENTITY: Discover Identity
_PD_VDM_CMD_DISCOVER_SVIDS: Discover SVIDs
_PD_VDM_CMD_DISCOVER_MODES: Discover Modes
_PD_VDM_CMD_ENTER_MODE: Enter Mode
_PD_VDM_CMD_EXIT_MODE: Exit Mode
_PD_VDM_CMD_ATTENTION: Attention
_PD_VDM_CMD_SVID_SPECIFIC_FIRST___
_PD_VDM_CMD_SVID_SPECIFIC_LAST___
_PD_VDM_CMD_SVID_SPECIFIC_1
_PD_VDM_CMD_SVID_SPECIFIC_15
Additional Command space is also reserved for Standard and Vendor use and for future extensions.
in.VDMCommandType: Indicates the type of Command request/response being sent.
|
Command Type |
Meaning |
|
_PD_VDM_CMD_TYPE_INIT |
An Initiator sets the field to “Initiator” to indicate that this is a Command request from an Initiator |
|
_PD_VDM_CMD_TYPE_RESP_ACK |
Responder ACK. The normal return sent to indicate that the Command request was received and handled normally |
|
_PD_VDM_CMD_TYPE_RESP_NAK |
Responder NAK. Returned when the Command request has an invalid parameter (e.g. invalid SVID or Mode) or cannot not be acted upon at this time (e.g. a Mode which has a dependency on another Mode). |
|
_PD_VDM_CMD_TYPE_RESP_BUSY |
Responder BUSY. Sent in the response to a VDM when the Responder is unable to respond to the Command request immediately, but the Command request may be retried. |
in.VDMVendorID: Unique 16-bit unsigned integer. Assigned by the USB-IF to the Vendor.
in.UndefinedObjectsCount: When data objects are decoded, some data may be recognized as undefined depending on the packet type being decoded, this member gives the number of these undefined data objects.
in.BufferLen: Size of power delivery message in bytes, this includes header and data objects.
Message Header Members
in.Msg_Type (Given in PacketType format in Context too): The Message Type field indicates the type of Message being sent.
in.Rsvd_1: Reserved
in.DR: The 1-bit Port Data Role field indicates the current data role of the Port:
0b UFP
1b DFP
in.Spec_Rev: The 2-bit Specification Revision field indicates the revision of the Power Delivery Specification supported by the Device.
00b – Revision 1.0
01b – Revision 2.0
10b – Revision 3.0
11b – Reserved, not used
Available constants:
_PD_SPEC_REV_1
_PD_SPEC_REV_2
_PD_SPEC_REV_3
_PD_SPEC_REV_UNDEF
in.PR: The 1-bit Port Data Role field indicates the current data role of the Port:
0b UFP
1b DFP
in.Cable_Plug: Indicates whether or not this Message originated from a Cable Plug:
0b Message originated from a DFP or UFP
1b Message originated from a Cable Plug
The Cable Plug field only applies to SOP’ and SOP’’ Packet types.
in.Msg_ID: The 3-bit MessageID field is the value generated by a rolling counter maintained by the originator of the Message.
in.Obj_Cnt: The 3-bit Number of Data Objects field indicates the number of 32-bit Data Objects that follow the Message Header. When this field is zero the Message is a Control Message and when it is non-zero, the Message is a Data Message.
The Number of Data Objects field applies to all SOP* Packet types.
Rev2: in.Rsvd_2: Reserved
Rev3: in.Extended: The 1-bit flag indicates if this is an Extended message or not.
Capability Message
Note: Power Data Objects (PDO) are identified by the Message Header’s Type field. They are used to form Source_Capabilities Messages and Sink_Capabilities Messages.
Note: If the Message Header Type field does not contain a valid value, the fields will be decoded as an undefined.
Source Capabilities Message
Note: There are 4 types of Source Capabilities Message Power Data Objects (PDO) in this category: Fixed Power Supply, Battery Power Supply, Variable Power Supply, and Programmable Power Supply.
This can be decided using in.Supply_Type:
_PD_CAP_PWR_FIXED = 0,
_PD_CAP_PWR_BATTERY = 1,
_PD_CAP_PWR_VARIABLE = 2,
Rev 2.0 : _PD_CAP_PWR_RSVD = 3,
Rev 3.0 : _PD_CAP_PWR_APDO = 3,
Source Fixed Power Supply Data Object Field Names
in.Max_Cur: Maximum Current in 10mA units
in.Voltage: Voltage in 50mV units
in.Peak_Curr:
00 Peak current equals IOC (default)
01 Overload Capabilities:
1. Peak current equals 150% IOC for 1ms @ 5% duty cycle (low current equals 97% IOC for 19ms)
2. Peak current equals 125% IOC for 2ms @ 10% duty cycle (low current equals 97% IOC for 18ms)
3. Peak current equals 110% IOC for 10ms @ 50% duty cycle (low current equals 90% IOC for 10ms)
10 Overload Capabilities:
1. Peak current equals 200% IOC for 1ms @ 5% duty cycle (low current equals 95% IOC for 19ms)
2. Peak current equals 150% IOC for 2ms @ 10% duty cycle (low current equals 94% IOC for 18ms)
3. Peak current equals 125% IOC for 10ms @ 50% duty cycle (low current equals 75% IOC for 10ms)
11 Overload Capabilities:
1. Peak current equals 200% IOC for 1ms @ 5% duty cycle (low current equals 95% IOC for 19ms)
2. Peak current equals 175% IOC for 2ms @ 10% duty cycle (low current equals 92% IOC for 18ms)
3. Peak current equals 150% IOC for 10ms @ 50% duty cycle (low current equals 50% IOC for 10ms)
in.Rsvd: Reserved
in.Unchunked_Ext: The 1-bit flag indicates whether the port supports unchunked extended messages or not.
in.DR_Swap_Supp: Data Role Swap bit. Set when the Port is Type-C (see [USBType-C 1.0]) and supports the DR_Swap Message. This is a static capability that remains fixed for a given device.
in.USB_Com_Cap: USB Communications Capable bit. Only for devices capable of communication over USB data lines (e.g. D+/- or SS Tx/Rx).
in.Ext_Pow: Externally Powered bit.
in.USB_Suspend: Prior to a Contract or when the USB Communications Capable bit is set to zero, this flag is undefined and Sinks follow the rules for suspend as defined in [USB 2.0], [USB 3.1], [USBType-C 1.0] or [BC 1.2]. After a Contract has been negotiated:
If the USB Suspend Supported flag is set, then the Sink follows the [USB 2.0] or [USB 3.1] rules for suspend and resume. A PDUSB Peripheral may draw up to pSnkSusp during suspend; a PDUSB Hub may draw up to pHubSusp during suspend.
If the USB Suspend Supported flag is cleared, then the Sink does not apply the [USB 2.0] or [USB 3.1] rules for suspend and may continue to draw the negotiated power. Note that when USB is suspended, the USB device state is also suspended.
Sinks may indicate to the Source that they would prefer to have the USB Suspend Supported flag cleared by setting the No USB Suspend flag in a Request Message
in.Dual_Role: Dual-Role Power bit. Set when the Port is Dual-Role Power capable i.e. supports the PR_Swap Message. This is a static capability that remains fixed for a given device.
in.Supply_Type: Fixed Supply (00b) PDO
Source Battery Power Supply Data Object Field Names
in.Max_Allowed_Pwr: Maximum Allowable Power in 250mW units
in.Min_Volt: Minimum Voltage in 50mV units
in.Max_Volt: Maximum Voltage in 50mV units
in.Supply_Type: Battery
Source Variable Power Supply Data Object Field Names
in.Max_Cur: Maximum Current in 10mA units
in.Min_Volt: Minimum Voltage in 50mV units
in.Max_Volt: Maximum Voltage in 50mV units
in.Supply_Type: Variable Supply (non-battery)
Source Augmented Power Data Object (APDO) Field Names
Decided using the following member:
in.Sub_Type:
_PD_CAP_APDO_PPS = 0,
_PD_CAP_APDO_EPR_AVS = 1,
_PD_CAP_APDO_SPR_AVS = 2,
_PD_CAP_APDO_RSVD2 = 3,
SPR Programmable Power Supply (PPS) APDO Field Names
in.Max_Cur: Max current in 50mA
in.Rsvd_1: Reserved
in.Min_Volt: Minimum voltage in 100mV
in.Rsvd_2: Reserved
in.Max_Volt: Maximum voltage in 100mV
in.Rsvd_3: Reserved
in.Power_Ltd: PPS Power Limited
in.Sub_Type: 0x00: SPR-PPS
in.Supply_Type: 0x03: APDO
EPR Adjustable Voltage Supply (AVS) APDO Field Names
in.PDP: Power rating in 1W
in.Min_Volt: Minimum voltage in 100mV
in.Rsvd_1: Reserved
in.Max_Volt: Maximum voltage in 100mV
in.Peak_Curr: Peak Current
in.Sub_Type: 0x01: EPR-AVS
in.Supply_Type: 0x03: APDO
SPR Adjustable Voltage Supply (AVS) APDO Field Names
in.Max_Cur_20v: Maximum Current - Range 15-20v
in.Max_Cur_15v: Maximum Current - Range 9-15v
in.Rsvd_1: Reserved
in.Peak_Curr: Peak Current
in.Sub_Type: 0x02: SPR-AVS
in.Supply_Type: 0x03: APDO
Sink Capabilities Message
Note: There are 4 types of Sink Capabilities Message Power Data Objects (PDO) in this category: Fixed Power Supply, Battery Power Supply, Variable Power Supply, and Programmable Power Supply.
Decided using the following member: in.Supply_Type:
_PD_CAP_PWR_FIXED = 0,
_PD_CAP_PWR_BATTERY = 1,
_PD_CAP_PWR_VARIABLE = 2,
Rev 2.0 : _PD_CAP_PWR_RSVD = 3,
Rev 3.0 : _PD_CAP_PWR_APDO = 3,
Sink Fixed Power Supply Data Object Field Names
in.Opr_Cur: Operational Current in 10mA units
in.Voltage: Voltage in 50mV units
in.Rsvd: Reserved
in.DR_Swap_Supp: Data Role Swap bit. Set when the Port is a Type-C DRP (see [USBType-C 1.0]) and supports the DR_Swap Message. This is a static capability that remains fixed for a given device.
in.USB_Com_Cap: USB Communications Capable bit. Only set for devices capable of communication over the USB data lines (e.g. D+/- or SS Tx/Rx).
in.Ext_Pow: The Externally Powered bit
in.Higher_Cap: In the case that the Sink needs more than vSafe5V (e.g. 12V) to provide full functionality, then the Higher Capability bit. Set.
in.Dual_Role: The Dual-Role bit. Set when the Port is Dual-Role Power capable i.e. supports the PR_Swap Message. This is a static capability that remains fixed for a given device.
in.Supply_Type: Fixed supply
Sink Battery Power Supply Data Object Field Names
in.Opr_Pwr: Operational Power in 250mW units
in.Min_Volt: Minimum Voltage in 50mV units
in.Max_Volt: Maximum Voltage in 50mV units
in.Supply_Type: Battery
Sink Variable Power Supply Data Object Field Names
in.Opr_Cur: Operational Current in 10mA units
in.Min_Volt: Minimum Voltage in 50mV units
in.Max_Volt: Maximum Voltage in 50mV units
in.Supply_Type: Variable Supply (non-battery)
Sink Programmable Power Supply APDO Field Names
This can be decided using the following member: in.Sub_Type:
_PD_CAP_APDO_PPS = 0,
_PD_CAP_APDO_EPR_AVS = 1,
_PD_CAP_APDO_RSVD1 = 2,
_PD_CAP_APDO_RSVD2 = 3,
SPR Programmable Power Supply APDO Field Names
in.Max_Cur: Max current in 50mA
in.Rsvd_1: Reserved
in.Min_Volt: Minimum voltage in 100mV
in.Rsvd_2: Reserved
in.Max_Volt: Maximum voltage in 100mV
in.Rsvd_3: Reserved
in.Sub_Type: 0x00: PPS
in.Supply_Type: 0x03: APDO
EPR Programmable Power Supply APDO Field Names
in.PDP: Power rating in 1W
in.Min_Volt: Minimum voltage in 100mV
in.Rsvd_1: Reserved
in.Max_Volt: Maximum voltage in 100mV
in.Rsvd_2: Reserved
in.Sub_Type: 0x01: AVS
in.Supply_Type: 0x03: APDO
Undefined Capabilities Message
in.Object: Undefined capabilities message data
in.Supply_Type: Value of undefined supply type
Request Packet Data Field Names
Note 1: Request packet prefix is always "obj1_"
Note: The following 3 field values can only be accessed using Input Context:
-
in.MinOprCurPow: Minimum Operating Current 10mA units
-
in.MaxOprCurPow: Maximum Operating Power in 250mW units
-
in.OprCurPow: Operating Power in 250mW units
The following field values can be retrieved via the Input Context or Packet And Script Decoded Fields Retrieving Functions.
in.Rsvd_1: Reserved; set to zero
in.Unchunked_Ext: Unchunked Extended Messages Supported
in.No_USB_Suspend: The No USB Suspend
in.USB_Com_cap: The USB Communications Capable
in.Cap_Mismatch: Capability Mismatch
in.OBJ1_Give_Back: GiveBack flag. Indicates that the Sink will respond to a GotoMin Message by reducing its load to the Minimum Operating Current. It will typically be used by a USB Device while charging its battery because a short interruption of the charge will have minimal impact on the user and will allow the Source to manage its load better.
in.Obj_Pos: Indicates the object in the Source_Capabilities Message the RDO refers to.
The value 1 always indicates the 5V Fixed Supply PDO as it is the first object following the Source_Capabilities Message Header. The number 2 refers to the next PDO and so forth.
in.Rsvd_2: Reserved; set to zero
Programmable Power Supply RDO Field Names:
in.Opr_Current: Operating Current 50mA units
in.Output_Voltage: Output Voltage in 20mV
in.Rsvd_3: Reserved
in.Rsvd_4: Reserved
Undefined Data Objects Field Names
Important: Do not add a prefix to these fields.
To retrieve a field value using Packet And Script Decoded Fields Retrieving Functions, the field name format is: Object X
To retrieve a field value using the Input Context, the field name format is: in.Object_X
Where X is a number between 1 and in.UndefinedObjectsCount
BIST Message
in.Function: Type of the BIST message function. Possible values:
2: Returned BIST Counters
5: BIST Carrier Mode
8: BIST Test Data
Other values are reserved.
Depending on BIST message Function, BIST Message Data Objects are decoded as follows:
BIST Returned Counter Packet Data
in.Rsvd: Reserved; set to zero.
in.Err_Cnt: When Request Type is Returned BIST Counters, this field contains the contents of BISTErrorCounter. Otherwise it is set to zero.
in.Function: Type of the BIST message function.
Value is: 2: Returned BIST Counters
BIST Packet Data
in.Rsvd: Reserved; set to zero.
in.Function: Type of the BIST message function
Value is: 2: Returned BIST Counters. Possible values:
5: BIST Carrier Mode
8: BIST Test Data
BIST Test Data
in.Data: Test Data Frame
BIST Test Stream
When in.PacketType is _PD_OTHER_MSG_BIST_TEST_STREAM, the PDO is decoded as a BIST Test Stream.
IMPORTANT: These fields can only be accessed using the Input Context.
in.Mode: Contains the following values:
0: bist test type unknown
1: bist test type carrier mode
in.Length
in.CorruptedDataLen
if in.CorruptedDataLen > 0 following fields are valid:
in.Corrupted_Bits
in.CorruptedDataLastByteUnusedBits
Vendor Defined Message
Vendor Defined VDM Header Field Names
Note: The VDM header prefix is always "obj1_"
For structured VDMs:
in.Cmd:
0 = Reserved, not used
1 = Discover Identity
2 = Discover SVIDs
3 = Discover Modes
4 = Enter Mode
5 = Exit Mode
6 = Attention
7-15 = Reserved, not used
16…31 = SVID Specific Commands
in.Rsvd_1: Set to 0 and ignored
in.Cmd_Type:
00b = Initiator
01b = Responder ACK
10b = Responder NAK
11b = Responder BUSY
in.Obj_Pos: For the Enter Mode, Exit Mode, and Attention Commands:
000b = Reserved and not used.
001b..110b = Index into the list of VDOs to identify the desired Mode VDO
111b = Exit all Active Modes (equivalent of a power on reset). Used only with the Exit Mode Command.
Commands 0..3, 7..15:
000b
001b..111b = Reserved and not used.
SVID Specific Commands (16..31) defined by the SVID.
in.Rsvd_2: For Commands 0..15, set to 0 and ignored. For SVID Specific Commands (16..31), defined by the SVID.
in.VDM_Ver: Version Number of the Structured VDM (not this specification Version):
Version 1.0 = 0
Values 1-3 are Reserved and not used
For unstructured VDMs (Accessed just by GetDecodedPktField function):
Data (15 bits)
Common fields:
in.Type: 1 = Structured VDM
in.Vendor_ID: Unique 16 bit unsigned integer, assigned by the USB-IF
Vendor Defined Unstructured Data Objects Field Names
Important: Do not add a prefix to these fields.
To retrieve a field value using Packet And Script Decoded Fields Retrieving Functions, the field name format is: Object X
To retrieve a field value using the Input Context, the field name format is: in.Object_X
Where X is a number between 1 and in.DataObjectCount
Vendor Defined Discover ID Response Id Header VDO Field Names
in.Vendor_ID: Unique 16-bit unsigned integer. Assigned by the USB-IF to the Vendor.
in.Rsvd: Reserved
in.Connector_Type: Connector Type
00b – Reserved, for compatibility with legacy systems.
01b – Reserved, not used.
10b – USB Type-C Receptacle
11b – USB Type-C Plug
in.DFP_Type: (rev 3.0)
DFP Type Values:
000b – Undefined
001b – PDUSB Hub
010b – PDUSB Host
011b – Power Brick
100b – Alternate Mode Controller (AMC)
101b … 111b – Reserved
Available constants:
_PD_VDM_DFP_TYPE_UNDEFINED
_PD_VDM_DFP_TYPE_HUB
_PD_VDM_DFP_TYPE_HOST
_PD_VDM_DFP_TYPE_POWER_BRICK
_PD_VDM_DFP_TYPE_ALTERNATE_MODE_CONTROLLER
in.Modal_Opr:
Modal Operation Supported:
Set to one if the product supports Modal Operation. Set to zero otherwise
in.Prod_Type:
Product Type UFP:
000b – Undefined
001b – Hub
010b – Peripheral
011b – PSD (Rev 3.0 only Rev 2.0 is Reserved)
100b - Reserved
101b - AMA
110b - VPD (Rev 3.0 only Rev 2.0 is Reserved)
111b - Reserved
Product Type Cable Plug:
000b – Undefined
001b..010 – Reserved
011b – Passive Cable
100b - Active Cable
101b..111b - Reserved
Available constants:
_PD_VDM_PRODUCT_TYPE_UNDEFINED
_PD_VDM_PRODUCT_TYPE_HUB
_PD_VDM_PRODUCT_TYPE_PERIPHERAL
_PD_VDM_PRODUCT_TYPE_PSD
_PD_VDM_PRODUCT_TYPE_PASSIVE_CABLE
_PD_VDM_PRODUCT_TYPE_ACTIVE_CABLE
_PD_VDM_PRODUCT_TYPE_ALTERNATE_MODE_ADAPTER
_PD_VDM_PRODUCT_TYPE_VPD
in.Device_Cap:
Data Capable as a USB Device:
Set to one if the product is capable of enumerating as a USB Device.
Set to zero otherwise.
in.Host_Cap:
Data Capable as USB Host:
Set to one if the product is capable of enumerating USB Devices.
Set to zero otherwise.
Vendor Defined Discover ID Response Cert State VDO Field Names
in.XID: Assigned by USB-IF
Vendor Defined Discover ID Response Product VDO Field Names
in.bcd_Device: 16-bit unsigned integer. USB Product ID
in.Product_ID: 16-bit unsigned integer. bcdDevice
Vendor Defined Discover ID Response Cable VDO Field Names (Rev_2.0)
in.USB_SS: USB Super speed Signaling Support
000b = USB 2.0 only
001b = [USB 3.1] Gen1
010b = [USB 3.1] Gen1 and Gen2
011b.. 111b = Reserved, not used
in.SOPDPrime_Con: SOP” controller present?
1 = SOP” controller present
0 = No SOP” controller present
in.VBUS_Cable: VBUS through cable
0 = No
1 = Yes
in.VBUS_Curr_Cap: VBUS Current Handling Capability
00b = VBUS not through cable
01b = 3A
10b = 5A
11b = Reserved, not used
in.SS_RX2: SSRX2 Directionality Support
0 = Fixed
1 = Configurable
in.SS_RX1: SSRX1 Directionality Support
0 = Fixed
1 = Configurable
in.SS_TX2: SSTX2 Directionality Support
0 = Fixed
1 = Configurable
in.SS_TX1: SSTX1 Directionality Support
0 = Fixed
1 = Configurable
in.Cable_Term: Cable Termination Type
00b = Both ends Passive, VCONN not required
01b = Both ends Passive, VCONN required
10b = One end Active, one end passive, VCONN required
11b = Both ends Active, VCONN required
in.Cable_Latency: Cable Latency
0000b – Reserved, not used
0001b – <10ns (~1m)
0010b – 10ns to 20ns (~2m)
0011b – 20ns to 30ns (~3m)
0100b – 30ns to 40ns (~4m)
0101b – 40ns to 50ns (~5m)
0110b – 50ns to 60ns (~6m)
0111b – 60ns to 70ns (~7m)
1000b –1000ns (~100m)
1001b –2000ns (~200m)
1010b – 3000ns (~300m)
1011b ….1111b Reserved, not used
Includes latency of electronics in Active Cable
in.Type_C_to_Plg: Type-C plug to Plug/Receptacle
0 = Plug
1 = Receptacle (not valid when B19..18 set to Type-C or Captive)
in.Type_C_to: Type-C plug to TypeA/B/C/Captive
00b = Type-A
01b = Type-B
10b = Type-C
11b = Captive
in.Rsvd: Reserved; set to zero
in.FW_Ver: Firmware Version
0000b..1111b assigned by the VID owner
in.HW_Ver: HW Version
0000b..1111b assigned by the VID owner
Vendor Defined Discover ID Response UFP VDO 1 Field Names (Rev_3.0)
in.USB_Highest_Speed: USB Highest Speed
000b = USB 2.0 only, no SuperSpeed support
001b = [USB 3.2] Gen1
010b = [USB 3.2] / [USB4] Gen2
011b = [USB4] Gen3
100b…111b = Reserved, not used
in.Alternate_Modes: Alternate Modes
Bit 0 = Supports [TBT3] Alternate Mode
Bit 1 = Supports Alternate Modes that reconfigure the signals on the [USB Type-C 2.0] connector – except for [TBT3]
Bit 2 = Supports Alternate Modes that do not reconfigure the signals on the [USB Type-C 2.0] connector
in.RSVD1: Reserved
in.Device_Capability: Device Capability
Bit 0 = [USB 2.0] Device Capable
Bit 1 = [USB 2.0] Device Capable (Billboard only)
Bit 2 = [USB 3.2] Device Capable
Bit 3 = [USB4] Device Capable
in.RSVD2: Reserved
in.UFP_VDO_Version: UFP VDO Version
000b – Version 1
001b … 111b – Reserved and not used
Vendor Defined Discover ID Response UFP VDO 2 Field Names (Rev_3.0)
in.USB3_Max_Power: USB3 Max Power. Power in watts required for full functionality excluding any power required for battery charging or for redistribution in [USB 3.2] operation.
in.USB3_Min_Power: USB3 Min Power. Minimum power in watts required to function in [USB 3.2] operation.
in.RSVD1: Reserved
in.USB4_Max_Power: USB4 Max Power. Power in watts required for full functionality excluding any power required for battery charging or for redistribution in [USB4] operation.
in.USB4_Min_Power: USB4 Min Power. Minimum power in watts required to function in [USB4] operation.
in.RSVD2: Reserved
Note: if UFP VDO version is 1.0, and 1.1, the above fields will be available. If the version is higher, the following field is only accessible:
in.Padding: Pad Object which should be zero value.
Vendor Defined Discover ID Response DFP VDO Field Names (Rev_3.0)
in.Port_Number: Port Number. Unique port number to identify a specific port on a multi-port device.
in.RSVD1: Reserved
in.Host_Capability: Host Capability
Bit 0 = [USB 2.0] Host Capable
Bit 1 = [USB 3.2] Host Capable
Bit 2 = [USB4] Host Capable
in.RSVD2: Reserved
in.DFP_VDO_Version: DFP VDO Version
000b – Version 1
001b … 111b – Reserved and not used
Vendor Defined Discover ID Response Passive Cable VDO Field Names (Rev_3.0)
in.USB_Highest_Speed: USB Highest Speed
000b = USB 2.0 only, no SuperSpeed support
001b = [USB 3.2] Gen1
010b = [USB 3.2] / [USB4] Gen2
011b = [USB4] Gen3
100b…111b = Reserved, not used
in.Rsvd_1: Reserved
in.VBUS_Curr_Cap: VBUS Current Handling Capability
00b = VBUS not through cable
01b = 3A
10b = 5A
11b = Reserved, not used
in.Rsvd_2: Reserved
in.Max_VBus: Maximum Cable VBUS Voltage
00b – 20V
01b – 30V
10b – 40V
11b – 50V
in.Cable_Term: Cable Termination Type
00b = Both ends Passive, VCONN not required
01b = Both ends Passive, VCONN required
10b = One end Active, one end passive, VCONN required
11b = Both ends Active, VCONN required
in.Cable_Latency: Cable Latency 0000b – Reserved, not used
0001b – <10ns (~1m)
0010b – 10ns to 20ns (~2m)
0011b – 20ns to 30ns (~3m)
0100b – 30ns to 40ns (~4m)
0101b – 40ns to 50ns (~5m)
0110b – 50ns to 60ns (~6m)
0111b – 60ns to 70ns (~7m)
1000b –1000ns (~100m)
1001b –2000ns (~200m)
1010b – 3000ns (~300m)
1011b ….1111b Reserved, not used
Includes latency of electronics in Active Cable
in.Rsvd_3: Reserved
in.Type_C_to: Type-C plug to Type-C / Captive
00b = Reserved
01b = Reserved
10b = Type-C
11b = Captive
in.Rsvd_4: Reserved
in.VDO_Ver: VDO Version
000b – Version 1
001b … 111b – Reserved
in.FW_Ver: Firmware Version
0000b..1111b assigned by the VID owner
in.HW_Ver: HW Version
0000b..1111b assigned by the VID owner
Vendor Defined Discover ID Response Active Cable VDO 1 Field Names (Rev_3.0)
in.USB_Highest_Speed: USB Highest Speed
000b = USB 2.0 only, no SuperSpeed support
001b = [USB 3.2] Gen1
010b = [USB 3.2] / [USB4] Gen2
011b = [USB4] Gen3
100b = [USB4] Gen4
101b…111b = Reserved, not used
in.SOPDPrime_Con: SOP” controller present?
1 = SOP” controller present
0 = No SOP” controller present
in.VBUS_Cable: VBUS through cable
0 = No
1 = Yes
in.VBUS_Curr_Cap:
When VBUS Through Cable is “No”, this field is ignored.
When VBUS Though Cable is “Yes”:
00b = USB Type-C Default Current
01b = 3A
10b = 5A
11b = Reserved, not used.
in.SBU_Type:
When SBU Supported = 1, this bit is ignored
When SBU Supported = 0:
0 = SBU is passive
1 = SBU is active
in.SBU_Supported:
0 = SBUs connections supported
1 = SBU connections are not supported
in.MaxVBus: Maximum Cable VBUS Voltage
00b – 20V
01b – 30V
10b – 40V
11b – 50V
in.Cable_Term: Cable Termination Type
00b = Both ends Passive, VCONN not required
01b = Both ends Passive, VCONN required
10b = One end Active, one end passive, VCONN required
11b = Both ends Active, VCONN required
in.Cable_Latency: Cable Latency 0000b – Reserved, not used
0001b – <10ns (~1m)
0010b – 10ns to 20ns (~2m)
0011b – 20ns to 30ns (~3m)
0100b – 30ns to 40ns (~4m)
0101b – 40ns to 50ns (~5m)
0110b – 50ns to 60ns (~6m)
0111b – 60ns to 70ns (~7m)
1000b –1000ns (~100m)
1001b –2000ns (~200m)
1010b – 3000ns (~300m)
1011b ….1111b Reserved, not used
Includes latency of electronics in Active Cable
in.Rsvd_1: Reserved
in.Type_C_to: Type-C plug to Type-C / Captive
00b = Reserved
01b = Reserved
10b = Type-C
11b = Captive
in.Rsvd_2: Reserved; set to zero
in.VDO_Ver: VDO Version
010b – Version 1.2
000b, 001b, 011 … 111b – Reserved
in.FW_Ver: Firmware Version
0000b..1111b assigned by the VID owner
in.HW_Ver: HW Version
0000b..1111b assigned by the VID owner
Vendor Defined Discover ID Response Active Cable VDO 2 Field Names (Rev_3.0)
in.USB_Gen: USB Gen
0b = Gen 1
1b = Gen 2 or higher
Note: See VDO1 USB Highest Speed for details of Gen supported.
in.USB4_Asymmetric_Mode_Supp:
0 = No
1 = Yes
in.Opt_Isolated_Act_Cable:
0 = No
1 = Yes
in.USB_Lanes_Supp:
0 = One lane
1 = Two lanes
in.USB_3_2_Supp:
0 = USB 3.2 supported
1 = USB 3.2 not supported
in.USB_2_Supp:
0 = USB2.0 supported
1 = USB2.0 not supported
in.USB2_Hub_Hops: Number of USB2.0 ‘hub hops’ cable consumes. Set to 0 if USB 2.0 not supported.
in.USB4_Supp:
0 = USB4 supported
1 = USB4 not supported
in.Active_Element:
0 = Active Redriver
1 = Active Retimer
in.Phys_Conn:
0 = Copper
1 = Optical
in.U3ToU0_Trans_Mode:
00: U3 to U0 direct
01: U3 to U0 through U3S
in.U3_CLd_Power:
000: >10mW
001: 5-10mW
010: 1-5mW
011: 0.5-1mW
100: 0.2-0.5mW
101: 50-200µW
110: <50µW
111: Reserved, not used
in.Rsvd_3: Reserved
in.Shutdown_Temp: The temperature at which the cable goes into thermal shutdown so as
not to exceed the allowable plug skin temperature.
in.Max_Oper_Temp: The maximum internal operating temperature. It may or may not reflect
the plug’s skin temperature.
Vendor Defined Discover ID Response Alternate Mode VDO Field Names
in.USB_Highest_Speed: USB Highest Speed
000b = [USB 2.0] only
001b = [USB3.2] Gen1 and USB 2.0
010b = [USB3.2] Gen1, Gen2 and USB 2.0
011b = [USB 2.0] billboard only
100b.. 111b = Reserved, not used
in.VBUS_Req: VBUS required
0 = No
1 = Yes
in.VCONN_Req: VCONN required
0 = No
1 = Yes
in.VCONN_Pow: VCONN power needed by adapter for full functionality
000b = 1W
001b = 1.5W
010b = 2W
011b = 3W
100b = 4W
101b = 5W
110b = 6W
111b = Reserved, not used
in.SS_RX2: SSRX2 Directionality Support (Rev 2.0)
0 = Fixed
1 = Configurable
in.SS_RX1: SSRX1 Directionality Support (Rev 2.0)
0 = Fixed
1 = Configurable
in.SS_TX2: SSTX2 Directionality Support (Rev 2.0)
0 = Fixed
1 = Configurable
in.SS_TX1: SSTX1 Directionality Support (Rev 2.0)
0 = Fixed
1 = Configurable
in.Rsvd: Reserved; set to zero
in.VDO_Ver: VDO Version (Rev 3.0)
000b = Version 1
001b … 111b – Reserved
in.FW_Ver: Firmware Version
0000b..1111b assigned by the VID owner
in.HW_Ver: HW Version
0000b..1111b assigned by the VID owner
VCONN Powered USB Device VDO (Rev 3.0 only)
in.CT_Supp:
1b – the VPD supports Charge Through
0b – the VPD does not support Charge Through
in.Ground_Impd:
Charge Through Support bit = 1b: Ground impedance through the VPD in 1 mΩ
increments. Values less than 10 mΩ are reserved and not be used.
Charge Through Support bit = 0b: Reserved; set to zero
in.VBus_Impd:
Charge Through Support bit = 1b: Vbus impedance through the VPD in 2 mΩ
increments. Values less than 10 mΩ are Reserved and not used.
Charge Through Support bit = 0b: Reserved; set to zero
in.Rsvd_1: Reserved
in.Charge_Through_Curr_Supp:
Charge Through Support bit = 1b:sop
0b = 3A capable
1b = 5A capable
Charge Through Support bit = 0b: Reserved; set to zero
in.VBus_Max_Vol:
Maximum Cable VBUS Voltage:
00b – 20V
01b – 30V
10b – 40V
11b – 50V
in.Rsvd_2: Reserved
in.VDO_Ver:
Version 1.0 = 000b
Values 001b…111b are Reserved and not used
in.FW_Ver: Firmware Version
0000b..1111b assigned by the VID owner
in.HW_Ver: HW Version
0000b..1111b assigned by the VID owner
Vendor Defined Discover SVIDs Response VDO Field Names
Important: Do not add a prefix to these fields.
SVID_[(obj_num - 1) * 2 + 1]: SVID n+1 16 bit unsigned integer, assigned by the USB-IF or 0x0000 if this is the last VDO and the Responder supports an odd or even number of SVIDs.
SVID_[(obj_num - 1) * 2]: SVID n 16 bit unsigned integer, assigned by the USB-IF or 0x0000 if this is the last VDO and the Responder supports an even number of SVIDs. Where obj_num is a number between 1 and in.DataObjectCount
Vendor Defined Discover Modes Response VDO Field Names
Important: Do not add a prefix to these fields.
To retrieve a field value using Packet And Script Decoded Fields Retrieving Functions, the field name format is: Mode X
To retrieve a field value using the Input Context, the field name format is: Mode_X
Where X is a number between 1 and in.DataObjectCount
DisplayPort (VDM)
The prefix has to be added for all fields related to DisplayPort. All these fields values would get extracted using GetHexScriptField() function or "in" context.
Note: The "X" in the prefix (OBJX) indicates the Data Object Number starting from 2 (e.g. in.OBJ2_<field_name>)
SOP DisplayPort Capabilities (VDO in Responder Discover Modes VDM) Field Names
in.OBJX_Port_Cap: Port Capability.
Length: 2 bits
00: Reserved Value
01: UFP_D-capable
10: DFP_D-capable
11: Both DFP_D and UFP_D-capable
in.OBJX_Sig_Supp: Signaling for Transport of DisplayPort Protocol.
Length: 4 bits
xxx1: Supports DP bit rates and electrical settings
xx1x: Reserved
x1xx: Reserved
1xxx: Reserved
in.OBJX_Recep_Ind: Receptacle Indication.
Length: 1 bit
0: DisplayPort interface is presented on a USB Type-C Plug
1: DisplayPort interface is presented on a USB Type-C Receptacle
in.OBJX_USB_r2_0: USB r2.0 Signaling Not Used.
Length: 1 bit
0: USB r2.0 signaling may be required on A6 – A7 or B6 – B7 while in DisplayPort Configuration
1: USB r2.0 signaling is not required on A6 – A7 or B6 – B7 while in DisplayPort Configuration
in.OBJX_DFP_D_Pins: DFP_D Pin Assignments Supported.
Length: 8 bits
00000000: DFP_D pin assignments are not supported
xxxxxxx1: Reserved
xxxxxx1x: Reserved
xxxxx1xx: Pin assignment C is supported
xxxx1xxx: Pin assignment D is supported
xxx1xxxx: Pin assignment E is supported
xx1xxxxx: Reserved
x1xxxxxx: Reserved
1xxxxxxx: Reserved
in.OBJX_UFP_D_Pins: UFP_D Pin Assignments Supported.
Length: 8 bits
00000000: UFP_D pin assignments are not supported
xxxxxxx1: Reserved
xxxxxx1x: Reserved
xxxxx1xx: Pin assignment C is supported
xxxx1xxx: Pin assignment D is supported
xxx1xxxx: Pin assignment E is supported
xx1xxxxx: Reserved
x1xxxxxx: Reserved
1xxxxxxx: Reserved
in.OBJX_Rsvd: Reserved.
Length: 6 bits
in.OBJX_DPAM_Ver: DPAM version.
Length: 2 bits
00: Version 2.0 or earlier
01: Version 2.1 or higher
SOP’ Cable DisplayPort Capabilities (VDO in Responder USB PD Discover Modes VDM) Field Names
in.OBJX_Rsvd_1: Reserved
Length: 2 bits
in.OBJX_Sig_Supp: Signaling for Transport of DisplayPort Protocol.
Length: 4 bits
xxx1: Supports all defined DP bit rates up to HBR3.
xx1x: Supports DP bit rate UHBR10
x1xx: Supports DP bit rate of UHBR20
1xxx: Reserved
in.OBJX_Rsvd_2: Reserved.
Length: 2 bit
in.OBJX_DFP_D_Pins: DP Source Device Pin Assignments Supported.
Length: 8 bits
0C: Pin Assignments C and D are supported
10: USB-C and DP connector Pin Assignment E is supported
All other values are reserved
in.OBJX_UFP_D_Pins: UFP_D Pin Assignments Supported.
Length: 8 bits
0C: Pin Assignments C and D are supported
10: USB-C and DP connector Pin Assignment E is supported
All other values are reserved
in.OBJX_Rsvd_3: Reserved.
Length: 2 bits
in.OBJX_UHBR13_5: UHBR13.5.
Length: 1 bit
0: UHBR13.5 is not supported.
1: UHBR13.5 is supported
in.OBJX_Rsvd_4: Reserved.
Length: 1 bit
in.OBJX_Cable_Type: Active Component.
Length: 2 bits
00: Passive.
01: Active re-timer.
10b = Active re-driver.
11: Optical
in.OBJX_DPAM_Ver: DPAM version.
Length: 2 bits
00: Version 2.0 or earlier
01: Version 2.1 or higher
SOP DisplayPort Status Field Names
in.OBJ2_Conn: DFP_D/UFP_D Connected.
Length: 2 bits
00: Neither DFP_D nor UFP_D is connected, or adaptor is disabled
01: DFP_D is connected
10: UFP_D is connected
11: Both DFP_D and UFP_D are connected
in.OBJ2_Pow_Low: Power Low.
Length: 1 bit
0: Adaptor is functioning normally or is disabled
1: Adaptor has detected low power and disabled DisplayPort support
in.OBJ2_Adaptor_Func: Enabled.
Length: 1 bit
0: Adaptor DisplayPort functionality is disabled
1: Adaptor DisplayPort functionality is enabled and operational
in.OBJ2_Multi_Func: Multi-function Preferred.
Length: 1 bit
0: No preference for multi-function
1: Multi-function is preferred
in.OBJ2_USB_Config: USB Configuration Request.
Length: 1 bit
0: Maintain current configuration
1: Request switch to USB Configuration (if in DisplayPort Configuration)
in.OBJ2_Exit_DP: Exit DisplayPort Mode Request.
Length: 1 bit
0: Maintain current mode
1: Request exit from DisplayPort Mode (if in DisplayPort Mode)
in.OBJ2_HPD_State: HPD State.
Length: 1 bit
0: HPD_Low
1: HPD_High
in.OBJ2_IRQ_HPD: IRQ_HPD.
Length: 1 bit
0: No IRQ_HPD since last status message
1: IRQ_HPD
in.OBJ2_NO_DPAM_SUSPEND: NO_DPAM_SUSPEND.
Length: 1 bit
0: UFP_U/ DP Sink device has no preference for entry into low power state
1: UFP_U/ DP Sink device prefers not to enter low power state
in.OBJ2_Rsvd: Reserved.
Length: 22 bits
SOP’ Active Cable DisplayPort Status Update Field Names
in.OBJ2_Rsvd_1: Reserved.
Length: 3 bits
in.OBJ2_Adapter_Func: Enabled.
Length: 1 bit
0: Active cable DP functionality is disabled
1: Active cable DP functionality is enabled and operational
in.OBJ2_Rsvd_2: Reserved.
Length: 28 bits
SOP DisplayPort Configurations Field Names
in.OBJ2_Set_Config: Select Configuration.
Length: 2 bits
00: Set configuration for USB
01: Set configuration for UFP_U as a DP Source device
10: Set configuration for UFP_U as a DP Sink device
11: Reserved
in.OBJ2_Set_Sig: Signaling for transport of DisplayPort Protocol.
Length: 4 bits
0001: Supports all defined DP bit rates up to HBR3 or capability is unknown
0010: Supports DP bit rate UHBR10
0100: Supports DP bit rate of UHBR20
All other values are reserved for higher bit rates.
in.OBJ2_Rsvd_1: Reserved.
Length: 2 bits
in.OBJ2_Config_UFP_U: Configure UFP_U Pin Assignment.
Length: 8 bits
00000000: De-select pin assignment
00000100: Select pin Assignment C
00001000: Select pin Assignment D
00010000: Select pin Assignment E
All other values are reserved
in.OBJ2_Rsvd_2: Reserved.
Length: 10 bits
in.OBJ2_Cable_UHBR13_5_Support: Cable UHBR13.5 Support.
Length: 1 bit
0 = Not supported or capability is unknown
1 = Supported
in.OBJ2_Rsvd_3: Reserved.
Length: 1 bit
in.OBJ2_ Cable_Type: Cable Active Component.
Length: 2 bits
00: Passive or cable type is unknown
01: Active re-timer.
10: Active re-driver.
11: Optical
in.OBJ2_DPAM_Ver: DPAM Version.
Length: 2 bits
00: Version 2.0 or earlier
01: Version 2.1 or higher
SOP’ Active Cable DisplayPort Configurations Field Names
in.OBJ2_Set_Config: Select Configuration.
Length: 2 bits
00: Select configuration for USB
01: Select configuration for active cable as DP Source device
10: Select configuration for active cable as a DP Sink device
11: Reserved
in.OBJ2_Set_Sig: Signaling for transport of DisplayPort Protocol.
Length: 4 bits
0000: Bit rate is unspecified
0001: Select DP bit rates and electrical settings
All other values are reserved
in.OBJ2_Rsvd_1: Reserved.
Length: 2 bits
in.OBJ2_Config_UFP_U: Configure UFP_U Pin Assignment.
Length: 8 bits
00000000: De-select pin assignment
00000100: Select pin Assignment C
00001000: Select pin Assignment D
00010000: Select pin Assignment E
All other values are reserved
in.OBJ2_Rsvd_2: Reserved.
Length: 16 bits
Battery Status Message
Note: The Battery Status packet prefix is always obj1_
in.Rsvd: Reserved
in.Battery_Info: Bit field information about battery as per spec.
in.Battery_PC: Battery’s state of charge.
Alert Message
Note: The Alert packet prefix is always obj1_
in.Event_Type: Extended Alert Event Type
Length: 4 bits
0000: Reserved
0001: Power state change (DFP only)
0010: Power button press (UFP only)
0011: Power button release (UFP only)
0100: Controller initiated wake e.g., Wake on Lan (UFP only)
All other values are reserved
in.Rsvd: Reserved
Length: 12 bits
in.Hot_Swap_Batteries: 4-bit field. When the Battery Status Change bit is set, indicates which Hot Swappable Batteries have had a status change (lsb corresponds to Battery 4, msb corresponds to Battery 7).
in.Fixed_Batteries: 4-bit field. When the Battery Status Change bit is set, indicates which Fixed Batteries have had a status change (lsb corresponds to Battery 0, msb corresponds to Battery 3).
in.Rsvd_2: Reserved.
in.Battery_Status_Change: A Battery's power state changed (charging/discharging/idle); for Hot Swappable Batteries, also set when a Battery is attached or detached.
in.OCP: Over-Current Protection event. Set by a Source when its output current exceeds its limits. Reserved for a Sink.
in.OTP: Over-Temperature Protection event. Set when a Source or Sink shuts down due to over-temperature.
in.Operating_Condition_Change: Set when a Source or Sink enters or exits a temperature 'warning' or 'over-temperature' state, or (in Programmable Power Supply Mode) toggles between Constant Voltage and Current Limit.
in.Source_Input_Change: The Source's or Sink's input changed (for example, the AC input is removed or restored, or the active Battery source changes).
in.OVP: Over-Voltage Protection event. Set by a Sink when its output voltage exceeds its limits; may also be set by a Source.
in.Extended_Alert_Event: The alert is an Extended Alert; the specific event is given by in.Event_Type (Extended Alert Event Type).
in.Alert_Type: The complete 8-bit "Type of Alert" byte, retained for backward compatibility. Its bits map, in order, to the eight fields above (bit 0 = in.Rsvd_2 to bit 7 = in.Extended_Alert_Event).
Get Country Info Message
Note: The Get Country Info packet prefix is always obj1_
in.Rsvd: Reserved
in.Country_Code:
Alpha-2 Country
Code defined by [ISO 3166]
Enter_USB Message
Note: Enter_USB messages do not require an OBJx_ prefix, as they only contain a single Data Object.
in.Rsvd_1: Set to zero.
in.Host_Present: Connected to a host
in.TBT_Support: TBT3 is supported by the host’s USB4 Connection Manager
in.DP_Support: USB4 DP tunneling supported by the host
in.PCIe_Support: USB4 PCIe tunneling supported by the host
in.Cable_Current:
00b = VBUS is not supported
10b = 3A
11b = 5A
in.Cable_Type:
00b: Passive
01b: Active Re-timer
10b: Active Re-driver
11b: Optically Isolated
in.Cable_Speed:
000b: USB 2.0 only, no SuperSpeed support
001b: USB 3.2 Gen1
010b: USB 3.2 Gen2 and [USB4] Gen2
011b: USB4 Gen3
100b: USB4 Gen4
in.Rsvd_2: Set to zero.
in.USB3_DRD: Capable of operating as a USB 3.2 Device
in.USB4_DRD: Capable of operating as a USB4 Device
in.Rsvd_3: Set to zero.
in.USB_Mode:
000b: USB 2.0
001b: USB 3.2
010b: USB4
in.Rsvd_4: Set to zero.
EPR Request
Refer to Request Packet Data Field Names for RDO, and Source Capabilities Message for PDO.
EPR Mode
in.Reserved: Reserved field
in.Data: Provides additional information.
Data = EPR Sink Operational PDP, If Action is _PD_EPR_MODE_ACTION_ENTER
Data = 0, if Action is
_PD_EPR_MODE_ACTION_ENTER_ACK
_PD_EPR_MODE_ACTION_ENTER_SUCCEED
_PD_EPR_MODE_ACTION_EXIT
If Action = _PD_EPR_MODE_ACTION_ENTER_FAILED
Data = 0: Unknown cause
Data = 1: Cable not EPR capable
Data = 2: Source failed to become VCONN source
Data = 3: EPR Mode Capable bit not set in RDO
Data = 4: Source unable to enter EPR Mode at this time
Data = 5: EPR Mode Capable bit not set in PDO
in.Action: Describes the action that is to be taken by the recipient of the EPR_Mode message:
_PD_EPR_MODE_ACTION_ENTER = 1
_PD_EPR_MODE_ACTION_ENTER_ACK = 2
_PD_EPR_MODE_ACTION_ENTER_SUCCEED= 3
_PD_EPR_MODE_ACTION_ENTER_FAILED = 4
_PD_EPR_MODE_ACTION_EXIT = 5
Source Info
in.OBJ1_Port_Reported_PDP: Power the port is offering in 1W steps.
in.OBJ1_Port_Present_PDP: Power the port is presently capable of supplying in 1W steps.
in.OBJ1_Port_Maximum_PDP: Maximum Power the Port will provide in 1W steps.
in.OBJ1_Reserved: Reserved.
in.OBJ1_Port_Type:
0 = Managed capacity port
1 = Guaranteed capacity port
in.OBJ2_Port_Guaranteed_PDP: Minimum Power the Port is guaranteed to always be able to provide in 0.5W steps.
in.OBJ2_Port_Maximum_PDP: Maximum Power the Port will provide in 0.5W steps.
in.OBJ2_Reserved: Reserved.
in.OBJ2_DPS_PORT: Indicates whether the Source will behave as a Dynamic Power Source.
0 = Non DPS Port
1 = DPS Port
in.OBJ2_Port_Type:
0 = Managed capacity port
1 = Guaranteed capacity port
Revision
in.Reserved: Reserved data.
in.Version_Minor: Version minor.
in.Version_Major: Version major.
in.Revision_Minor: Revision minor.
in.Revision_Major: Revision major.
Extended Control
in.Type: Extended control message type. The values can be 1 to 4. The rest values are reserved.
in.Data: Corresponding data.
Source Capabilities Extended Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of Data Object. This applies to both Chunked and Unchunked modes.
in.VID: Vendor ID (assigned by the USB-IF)
in.PID: Product ID (assigned by the manufacturer)
in.XID: Value provided by the USB-IF to assign to product
in.FW_Ver: Firmware version number
in.HW_Ver: Hardware version number
in.Vol_Reg: Voltage Regulation
in.Holdup_Time: Holdup Time
in.Compliance: Compliance, the standards the Source is compliant with
in.Touch_Curr: Touch Current
in.Peak_Curr_1: Peak Current 1
in.Peak_Curr_2: Peak Current 2
in.Peak_Curr_3: Peak Current 3
in.Touch_Temp: Temperature conforms to:
0 = [IEC 60950-1] (default)
1 = [IEC 62368-1] TS1
2 = [IEC 62368-1] TS2
All other values Reserved
in.Source_Inputs: Source Inputs identifies the possible inputs that provide power to the Source
in.Hot_Swap_Batteries: The number of hot swappable batteries that source supports
in.Fixed_Batteries: The number of fixed batteries that source supports
Status Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Internal_Temp: Source or Sink’s internal temperature in degrees centigrade
Special values:
0 = feature not supported
1 = temperature is less than 2°C
in.Flags: (non-SOP only)
bit0: Thermal Shutdown
bit1..7: Reserved
in.Src_Input: Indicates which supplies are presently powering the Source
in.Fixed_Battery_Input: Fixed Battery Input presents
in.Hot_Swap_Battery_Input: Hot Swappable Battery Input presents
in.Event_Flags:
bit 0: Reserved
bit 1: OCP
bit 2: OTP
bit 3: OVP
bit 4: CF mode when set, CV mode when cleared
bit 5..7:Reserved
in.Temp_Status:
bit 0: Reserved
bit 1..2:
00 – Not Supported
01 – Normal
10 – Warning
11 – Over temperature
bit 3..7: Reserved
in.Power_Status:
bit 0: Reserved
bit 1: Source power limited due to cable supported current
bit 2: Source power limited due to insufficient power available while sourcing other ports
bit 3: Source power limited due to insufficient external power
bit 4: Source power limited due to Event Flags in place (Event Flags must also be set)
bit 5: Source power limited due to temperature
bit 6..7: Reserved
in.Power_State_Change:
bit 0..2: New power state
bit 3..5: New power state indicator
bit 6..7: Reserved
Get Battery Cap Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Hot_Swap_Ref: Requested hot swappable batteries
in.Fixed_Ref: Requested fixed batteries
Get Battery Status Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Hot_Swap_Ref: Requested hot swappable batteries
in.Fixed_Ref: Requested fixed batteries
Battery Capabilities Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.VID: Vendor ID (assigned by the USB-IF)
in.PID: Product ID (assigned by the manufacturer)
in.Design_Cap: Battery’s Design Capacity
in.Last_Full_Charge_Cap: Battery’s Last Full Charge Capacity
in.Battery_Type: Bit field indicating the type of battery
Get Manufacturer Info Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Target: Manufacturer Info Target
in.Hot_Swap_Ref: If Target is battery (01b), this contains the hot swappable battery number reference, which is the number of the Battery indexed from zero.
in.Fixed_Ref: If Target is battery (01b), this contains the fixed battery number reference, which is the number of the Battery indexed from zero.
Manufacturer Info Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.VID: Vendor ID (assigned by the USB-IF)
in.PID: Product ID (assigned by the manufacturer)
in.String: Vendor defined byte array
Security Request Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.DataLen: Length of the data in this message
in.Security_Req_Data: Security request data
Security Response Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.DataLen: Length of the data in this message
in.Security_Resp_Data: Security response data
Firmware Update Request Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.DataLen: Length of the data in this message
in.FW_Update_Req_Data: Firmware update request data
Firmware Update Response Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.DataLen: Length of the data in this message
in.FW_Update_Resp_Data: Firmware update response data
PPS Status Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Output_Voltage: Source’s output voltage in 20mV units. When set to 0xFFFF, the Source does not support this field.
in.Output_Current: Source’s output current in 50mA units. When set to 0xFF, the Source does not support this field.
in.Rsvd_1: Reserved
in.PTF:
PTF: 00 – Not Supported
PTF: 01 – Normal
PTF: 10 – Warning
PTF: 11 – Over temperature
in.OMF: OMF set when operating in Current Limit mode, and cleared when operating in Constant Voltage mode.
in.Rsvd_2: Reserved
Country Info Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Country_Code: Alpha-2 Country Code received in the corresponding Get_Country_Info Message
in.Rsvd: Reserved
in.Specific_Data: 0…256 bytes of content defined by the country’s authority.
Country Code Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.Num: Number of country codes in the message
in.Country_Code: Byte stream of Alpha-2 Country Code
Sink Capabilities Extended Message
Note: Extended Messages do not have an OBJx_ prefix, as there is no definition of a Data Object. This applies to both Chunked and Unchunked modes.
in.VID: Vendor ID (assigned by the USB-IF)
in.PID: Product ID (assigned by the manufacturer)
in.XID: Value provided by the USB-IF assigned to the product
in.FW_Ver: Firmware version number
in.HW_Ver: Hardware version number
in.SKEDB_Version:
SKEDB Version (not the specification Version):
Version 1.0 = 1
Values 0 and 2-255 are reserved and not used
in.Load_Step:
bit 0..1:
00b: 150mA/µs Load Step (default)
01b: 500mA/µs Load Step
11b…10b: Reserved and not used
bit 2..7: Reserved
in.Load_Characteristics:
bit 0..4: Percent overload in 10% increments. Values higher than 25 (11001b) are clipped to 250%. 00000b is the default.
bit 5..10: Overload period in 20ms when bits 0-4 non-zero.
bit 11..14: Duty cycle in 5% increments when bits 0-4 are non-zero
bit 15: Can tolerate VBUS Voltage droop
in.Compliance:
bit 0: Requires LPS Source when set
bit 1: Requires PS1 Source when set
bit 2: Requires PS2 Source when set
bit 3..7: Reserved
in.Touch_Temp:
Temperature conforms to:
0 = Not Applicable
1 = [IEC 60950-1] (default)
2 = [IEC 62368-1] TS1
3 = [IEC 62368-1] TS2
All other values Reserved
in.Hot_Swapp_Batt_Num: The number of hot swappable batteries that source supports
in.Fixed_Batt_Num: The number of fixed batteries that source supports
in.Sink_Modes:
bit 0: 1: PPS charging supported
bit 1: 1: VBUS powered
bit 2: 1: Mains powered
bit 3: 1: Battery powered
bit 4: 1: Battery essentially unlimited
bit 5..7: Reserved
in.Sink_Min_PDP:
bit 0..6: The Minimum PDP required by the Sink to operate without consuming any power from its battery, should it have one
bit 7: Reserved
in.Sink_Op_PDP:
bit 0..6: The PDP the Sink requires to operate normally
bit 7: Reserved
in.Sink_Max_PDP:
bit 0..6: The Maximum PDP the Sink can consume to operate and charge its battery, should it have one.
bit 7: Reserved
in.EPR_Sink_Min_PDP: The Minimum PDP required by the EPR Sink to operate without consuming any power from its battery, should it have one.
in.EPR_Sink_Op_PDP: The PDP the EPR Sink requires to operate normally. For Sinks with a battery, it is the PDP Rating of the charger supplied with it or recommended for it.
in.EPR_Sink_Max_PDP: The Maximum PDP the EPR Sink can consume to operate and charge its battery, should it have one.
Vendor Defined Extented
Has an unstructured VDM Header. See Vendor Defined VDM Header Field Names.
Power Delivery Events
In the case of an event packet, in addition to in.PacketType, the following fields are available:
in.EventType: Indicates the type of event, possible values:
_PD_EVENT_TYPE_FAST_POWER_ROLE_SWAP => Fast Role Swap Signal Event
Unknown Packet
If message could not be decoded, it is an unknown packet containing following fields:
in.HasPacketFraming
if in.HasPacketFraming == 1, in.ProbableMessageType contains probable message type
PD Transaction-Specific Set of Members
PD Transactions are exactly like underlying packets.
Note that when a transaction contains more than one chunked packet underneath, it represents the complete unchunked packet.
PD Transfer-Specific Set of Members
USB Authentication (available in PD Security Messages)
Since both request and response of a PD Security set of messages are available in one context, to prevent conflict the respective header fields are being separated through a prefix. Request header fields are prefixed with Req_ and Response ones are prefixed with Resp_. The payload data has its own prefix per Message type as follows.
Request Header fields
in.Req_Version: USB Type-C Authentication Specification Version
in.Req_Msg_Type: Authentication Message Type
Available constants:
_AUTH_MSG_REQ_GET_DIGESTS
_AUTH_MSG_REQ_GET_CERTIFICATE
_AUTH_MSG_REQ_CHALLENGE
in.Req_Param1: Message type specific parameter 1 as per USB Type-C Authentication specifications
in.Req_Param2: Message type specific parameter 2 as per USB Type-C Authentication specifications
GET_CERTIFICATE Request Payload fields
in.GetCertificate_Offset: Offset in bytes from the start of the Certificate Chain to where the read request begins
in.GetCertificate_Length: Length in bytes of the read request
CHALLENGE Request Payload fields
in.Challenge_Nonce: Random 32-byte nonce chosen by the Authentication Initiator
Response Header fields
in.Resp_Version: USB Type-C Authentication Specification Version
in.Resp_Msg_Type: Authentication Message Type
Available constants:
_AUTH_MSG_RESP_DIGESTS
_AUTH_MSG_RESP_CERTIFICATE
_AUTH_MSG_RESP_CHALLENGE_AUTH
_AUTH_MSG_RESP_ERROR
in.Resp_Param1: Message type specific parameter 1 as per USB Type-C Authentication specifications
in.Resp_Param2: Message type specific parameter 2 as per USB Type-C Authentication specifications
DIGESTS Response Payload fields
in.Digests_Count: Count of digests that this message contains
in.Digests_Digest_0: First 32-byte SHA-256 digest of the first Certificate Chain
in.Digests_Digest_1: Second 32-byte SHA-256 digest of the first Certificate Chain
in.Digests_Digest_[Digests_Count-1]: Last 32-byte SHA-256 digest of the first Certificate Chain
CERTIFICATE Response Payload fields
in.Certificate_CertChain: Requested contents of target Certificate Chain
in.Certificate_CertChainLength: Length of the Certificate Chain
CHALLENGE_AUTH Response Payload fields
in.Challenge_Auth_MinProtocolVersion: Minimum protocol version supported by this Device
in.Challenge_Auth_MaxProtocolVersion: Maximum protocol version supported by this Device
in.Challenge_Auth_Capabilities: As per spec
in.Challenge_Auth_Reserved: Reserved
in.Challenge_Auth_CertChainHash: 32-byte SHA256 hash of the Certificate Chain used for Authentication
in.Challenge_Auth_Salt: 32-byte value chosen by the Authentication Responder
in.Challenge_Auth_ContextHash: As per spec
in.Challenge_Auth_Signature: As per spec
CC Packet-Specific Set of Members
Note: All field values can be retrieved via Input Context or Packet And Script Decoded Fields Retrieving.
Information Available Only by Context
Note: If these variables are used in Exerciser mode, Left means DUT and Right means Exerciser
in.CC1_Pins_Changed: Indicates if CC1 pin state changed or not
0: State not changed
1: State changed
in.Ad_Curr_Changed: Indicates whether Advertised Current Changed or not
0: State not changed
1: State changed
in.Left_CurrState: Current state of Left port
in.Left_PrevState: Previous state of Left port
in.Left_MiddleState: If the port reached a middle state in its transition from Previous to Current, this field provided that. Otherwise, its value is _INVALID_STATE (0).
in.Right_CurrState: Current state of Right port
in.Right_PrevState: Previous State state of Right port
in.Right_MiddleState: If the port reached a middle state in its transition from Previous to Current, this field provided that. Otherwise, its value is _INVALID_STATE (0).
Possible state values are:
_SRC_UNATTACHED => Unattached.SRC
_SRC_ATTACH_WAIT => AttachWait.SRC
_SRC_ATTACHED => Attached.SRC
_SRC_TRY => Try.SRC
_SRC_TRY_WAIT => TryWait.SRC
_SNK_UNATTACHED => Unattached.SNK
_SNK_ATTACH_WAIT => AttachWait.SNK
_SNK_ATTACHED => Attached.SNK
_SNK_TRY => Try.SNK
_SNK_TRY_WAIT => TryWait.SNK
_AUDIO_ACCESSORY_ATTACHED => AudioAccessory
_DEBUG_ACCESSORY_ATTACHED => DebugAccessory.SRC
_POWERED_ACCESSORY_ATTACHED => PoweredAccessory
_AUDIO_ADAPTER => auxiliary state to show the audio device
_DEBUG_ADAPTER => DebugAccessory.SNK
_DISABLED => the port is disabled
_UNDEFINED_STATE => the state is unknown
_XXX_ATTACHED => either Attached.Source or Attached.Sink, but unclear which one
in.Left_StateChange: Indicates if left port (DUT port in exerciser mode) state changed or not
0: State not changed
1: State changed
in.Left_CC1StateChange: Indicates if CC1 port state changed or not
0: State not changed
1: State changed
in.Left_CC2StateChange: Indicates if CC2 port state changed or not
0: State not changed
1: State changed
in.Right_StateChange: Indicates if right port (Exerciser port in exerciser mode) state changed or not
0: State not changed
1: State changed
in.Right_CC1StateChange: Indicates if CC1 port state changed or not
0: State not changed
1: State changed
in.Right_CC2StateChange: Indicates if CC2 port state changed or not
0: State not changed
1: State changed
CC Message
in.CC1_Pins: Indicates CC1 pin connection status
0: Not Connected
1: Connected
in.Ad_Curr: Current Rp value that can be any of the following:
_CC_RP_NONE
_CC_RP_DEF
_CC_RP_15A
_CC_RP_30A
in.Left_CC1: Current left CC1 port state
in.Left_CC2: Current left CC2 port state
in.Right_CC1: Current right CC1 port state
in.Right_CC2: Current right CC2 port state
Port states can contain following values:
_CC_PORT_STATE_UNKNOWN => state is unknown
_CC_PORT_STATE_OPEN => port is disabled and state is open
_CC_PORT_STATE_RP => Rp
_CC_PORT_STATE_RD => Rd
_CC_PORT_STATE_RA => Ra
_CC_PORT_STATE_VCONN => VCONN
_CC_PORT_STATE_RD_RA => state is unclear; it is either Rd or Ra
_CC_PORT_STATE_RD_RA_OPEN => state is unclear; it is Rd, Ra or Open
_CC_PORT_STATE_RP_VCONN => state is unclear; it is either Rp or VCONN
_CC_PORT_STATE_RP_VCONN_OPEN => state is unclear; it is Rp, VCONNor Open
USB4 Operation-Specific Set of Members
in.Type: Type of operation. Possible values shown below:
|
Operation type |
Description |
|
_USB4_OP_TYPE_DROM_READ |
DROM Read Router Operation |
|
_USB4_OP_TYPE_QUERY_DP_RESOURCE_AVAILABILITY |
Query DP Resource Availability Router Operation |
|
_USB4_OP_TYPE_ALLOCATE_DP_RESOURCE |
Allocate DP Resource Router Operation |
|
_USB4_OP_TYPE_DEALLOCATE_DP_RESOURCE |
De-allocate DP Resource Router Operation |
|
_USB4_OP_TYPE_NVM_WRITE |
NVM Write Router Operation |
|
_USB4_OP_TYPE_NVM_AUTHENTICATE_WRITE |
NVM Authenticate Write Router Operation |
|
_USB4_OP_TYPE_NVM_READ |
NVM Read Router Operation |
|
_USB4_OP_TYPE_NVM_SET_OFFSET |
NVM Set Offset Router Operation |
|
_USB4_OP_TYPE_GET_NVM_SECTOR_SIZE |
Get NVM Sector Size Router Operation |
|
_USB4_OP_TYPE_GET_PCIE_DOWNSTREAM_ENTRY_MAPPING |
Get PCIe Downstream Entry Mapping Router Operation |
|
_USB4_OP_TYPE_GET_CAPABILITIES |
Get Capabilities Router Operation |
|
_USB4_OP_TYPE_SET_CAPABILITIES |
Set Capabilities Router Operation |
|
_USB4_OP_TYPE_BUFFER_ALLOCATION_REQUEST |
Buffer Allocation Request Router Operation |
|
_USB4_OP_TYPE_BLOCK_SIDEBAND_PORT_OPERATIONS |
Block Sideband Port Operations Router Operation |
|
_USB4_OP_TYPE_UNBLOCK_SIDEBAND_PORT_OPERATIONS |
Unblock Sideband Port Operations Router Operation |
|
_USB4_OP_TYPE_GET_CONTAINER_ID |
Get Container-ID Router Operation |
|
_USB4_OP_TYPE_UNKNOWN |
Unknown Operation |
in.IsBonded: Gets a value indicating whether an operation is transferred on a bonded link or not. Value in.IsBonded = 0 means that Lanes are unbonded, in.IsBonded = 1 means that Lanes are bonded.
in.LaneNumber: Gets the number of lane on which operation is transferred (or started, in Bonded mode). Value in.LaneNumber = 0 means Lane 0, in.LaneNumber = 1 means Lane 1.
in.TopologyId: Topology ID value for this USB4 operation.
in.AdapterNum: Adapter Number value for this USB4 operation.
in.StatusIsSet: Indicates Status can be retrieved from this USB4 operation.
in.Status: Status value for this USB4 operation.
in.AddressIsSet: Indicates Address can be retrieved from this USB4 operation.
in.Address: Address value for this this USB4 operation.
in.DataSizeIsSet: Indicates DataSize can be retrieved from this USB4 operation.
in.DataSize: Data Size value for this this USB4 operation.
in.EntryNum: Size of EntryTypes array.
Note: Valid for DROM Read router operations only; undefined for other operation types.
in.EntryTypes: Array that contains Entry Type values for this USB4 DROM Read router operation.
Note: Valid for DROM Read router operations only; undefined for other operation types.
Each element can have one of the values in the table below:
|
Entry type |
Description |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_USB4_HEADER_WITH_PADDING |
USB4 DROM Header with padding |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_TBT3_ID_AND_HEADER |
TBT3 DROM ID and Header |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_UNUSED_ADAPTER_ENTRY |
Unused Adapter Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_DP_ADAPTER_ENTRY |
DP Adapter Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_TBT3_LANE_ADAPTER_ENTRY |
Lane Adapter Entry (TBT3 only) |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_TBT3_PCIE_US_ADAPTER_PORT_ENTRY |
PCIe Upstream Adapter Entry (TBT3 only) |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_TBT3_PCIE_DS_ADAPTER_PORT_ENTRY |
PCIe Downstream Adapter Entry (TBT3 only) |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_RESERVED_ENTRY |
Reserved Generic Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_VENDOR_SPECIFIC_ENTRY |
Vendor Specific Generic Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_ASCII_VENDOR_NAME_ENTRY |
ASCII Vendor Name Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_ASCII_MODEL_NAME_ENTRY |
ASCII Model Name Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_TMU_MINIMUM_REQUESTED_MODE_ENTRY |
TMU Minimum Requested Mode Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_PRODUCT_DESCRIPTOR_ENTRY |
Product Descriptor Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_SERIAL_NUMBER_ENTRY |
Serial Number Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_USB_PORT_MAPPING_ENTRY |
USB Port Mapping Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_UTF16_VENDOR_NAME_ENTRY |
UTF16 Vendor Name Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_GENERIC_UTF16_MODEL_NAME_ENTRY |
UTF16 Model Name Entry |
|
_USB4_OP_DROM_READ_ENTRY_TYPE_UNKNOWN |
Entry Type Unknown |
in.PayloadLength: Length (in bytes) of the operation payload. If zero, operation does not have any payload. Care should be taken not to request payload for the operations that moved large amounts of data.
in.Payload: Bit source of the operation payload.
Note: Extract any necessary information using GetNBits(), NextNBits(), or PeekNBits().
Note: Refer to Script decoded fields retrieving functions for information about getting the script decoded values at the USB4 Operation level.