USB PD3 CTS Rev1 v1.2 RC20
USB PD3 CTS Rev1 v1.2 RC20
Specification
Version: 1.0
Revision: 1.2
Release date: September 2020
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 1
LIMITED COPYRIGHT LICENSE
THE USB 3.0 PROMOTERS GRANT A CONDITIONAL COPYRIGHT LICENSE UNDER THE COPYRIGHTS
EMBODIED IN THE USB POWER DELIVERY SPECIFICATION TO USE AND REPRODUCE THE SPECIFICATION
FOR THE SOLE PURPOSE OF, AND SOLELY TO THE EXTENT NECESSARY FOR, EVALUATING WHETHER TO
IMPLEMENT THE SPECIFICATION IN PRODUCTS THAT WOULD COMPLY WITH THE
SPECIFICATION. WITHOUT LIMITING THE FOREGOING, USE THE OF SPECIFICATION FOR THE PURPOSE OF
FILING OR MODIFYING ANY PATENT APPLICATION TO TARGET THE SPECIFICATION OR USB COMPLIANT
PRODUCTS IS NOT AUTHORIZED. EXCEPT FOR THIS EXPRESS COPYRIGHT LICENSE, NO OTHER RIGHTS OR
LICENSES ARE GRANTED, INCLUDING WITHOUT LIMITATION ANY PATENT LICENSES. IN ORDER TO
OBTAIN ANY ADDITIONALY INTELLECTUAL PROPERTY LICENSES OR LICENSING COMMITMENTS
ASSOCIATED WITH THE SPECIFICATION A PARTY MUST EXECUTE THE USB 3.0 ADOPTERS
AGREEMENT. NOTE: BY USING THE SPECIFICATION, YOU ACCEPT THESE LICENSE TERMS ON YOUR OWN
BEHALF AND, IN THE CASE WHERE YOU ARE DOING THIS AS AN EMPLOYEE, ON BEHALF OF YOUR
EMPLOYER.
All product names are trademarks, registered trademarks, or service marks of their respective
owners.
Copyright © 2010-2019, USB 3.0 Promoter Group: Apple Inc., Hewlett-Packard Inc., Intel
Corporation, Microsoft Corporation, Renesas, STMicroelectronics, and Texas Instruments.
All rights reserved.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 2
Editors
Chee Lim Nge Intel Corporation
Bob Dunstan Renesas Electronics Corp.
Contributors
Abel Astley Ellisys
Nathalie Ballot STMicroelectronics
Dmitriy Berchanskiy Intel Corporation
Naresh Botsa Granite River Labs
Sten Carlsen MQP Electronics Ltd.
Pat Crowe MQP Electronics Ltd.
Harshavardhan Reddy Gonugunta Granite River Labs
Tyler Joe Teledyne LeCroy
Diane Lenox USB Implementers Forum
Balamurugan Manialagan Granite River Labs
Tim McKee Intel Corporation
Mike Micheletti Teledyne LeCroy
Prasannakumar Marikunte Nagaraju Granite River Labs
Mahesh Nakala Granite River Labs
Krishnamurthy Parameshwara Granite River Labs
Mario Pasquali Ellisys
Hao Sun Ellisys
Chuck Trefts Ellisys
Rajaraman Venkatachalam Granite River Labs
Deric Waters Texas Instruments
Tim Wei Ellisys
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 3
Table of Contents
INTELLECTUAL PROPERTY DISCLAIMER ........................................................................................................ 2
Editors ........................................................................................................................................................... 3
Contributors .................................................................................................................................................. 3
Version 1.0 Revision History ......................................................................................................................... 6
1 Introduction .......................................................................................................................................... 7
1.1 Overview ....................................................................................................................................... 7
1.2 Terms and Abbreviations .............................................................................................................. 8
1.3 Keywords....................................................................................................................................... 8
1.3.1 Check ..................................................................................................................................... 8
1.3.2 PD2 mode .............................................................................................................................. 8
1.3.1 PD3 mode .............................................................................................................................. 8
2 Common Procedures and Checks ....................................................................................................... 11
2.1 Common Checks.......................................................................................................................... 11
2.1.1 PD2 and PD3 Modes............................................................................................................ 11
2.2 Bring-up Procedures ................................................................................................................... 22
2.2.1 PD2 and PD3 Modes............................................................................................................ 22
2.3 Common Procedures .................................................................................................................. 31
2.3.1 PD2 and PD3 Modes............................................................................................................ 31
2.3.2 PD3 Mode............................................................................................................................ 39
3 Physical Layer Specific Tests ............................................................................................................... 41
3.1 Test Procedures for All UUTs ...................................................................................................... 45
3.1.1 PD3 Mode............................................................................................................................ 45
3.2 Test Procedures for Source and Sink Capable UUTs ................................................................... 59
3.2.1 PD3 Mode............................................................................................................................ 59
4 Protocol Specific Tests ........................................................................................................................ 61
4.1 Test Procedures for All UUTs ...................................................................................................... 61
4.1.1 PD2 and PD3 Modes............................................................................................................ 61
4.1.2 PD3 Mode............................................................................................................................ 73
4.2 Test Procedures for Source and Sink Capable UUTs ................................................................... 85
4.2.1 PD2 and PD3 Modes............................................................................................................ 85
4.2.2 PD3 Mode............................................................................................................................ 85
4.3 Test Procedures for Source Capable UUT ................................................................................... 94
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 4
4.3.1 PD2 and PD3 Modes............................................................................................................ 94
4.3.2 PD3 Mode.......................................................................................................................... 107
4.4 Test Procedures for Sink Capable UUT ..................................................................................... 117
4.4.1 PD2 and PD3 Modes.......................................................................................................... 117
4.4.2 PD3 Mode.......................................................................................................................... 129
4.5 Structured VDM Test Procedures for Source Capable UUT ...................................................... 135
4.5.1 PD2 and PD3 Modes.......................................................................................................... 135
4.6 Structured VDM Test Procedures for Sink Capable UUT .......................................................... 137
4.6.1 PD2 and PD3 Modes.......................................................................................................... 137
4.7 Structured VDM Test Procedures for Cable Plug UUT .............................................................. 146
4.7.1 PD2 and PD3 Modes.......................................................................................................... 146
4.7.2 PD3 Mode.......................................................................................................................... 150
5 Power Supply Specific Tests .............................................................................................................. 152
5.1 Test Procedures for Source Capable UUT ................................................................................. 153
5.1.1 PD2 and PD3 Modes.......................................................................................................... 153
5.2 Test Procedures for Sink Capable UUT ..................................................................................... 161
5.2.1 PD2 and PD3 Modes.......................................................................................................... 161
Appendix A: Requirements for Compliance Test Results ......................................................................... 170
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 5
Version 1.0 Revision History
1.0 November 22, 2019 Adds missing cover page, copyright notice and table
of contents. No change to the compliance tests.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 6
1 Introduction
This document specifies USB-IF compliance tests for a USB PD3.0 device. This test specification covers
USB-IF testing for compliance with the requirements in Chapters 5-8 and 10 in the USB PD2.0 and PD3.0
Specifications.
The following documents as well as any other tests mandated by the USB-IF may be applicable to a USB
PD3.0 device:
- Chapter 2 describes the common test procedures and checks that would be repeated in the
tests described in the subsequent chapters.
- Chapter 3 describes tests that primarily cover Chapter 5 requirements in the USB PD2.0 and
PD3.0 Specifications.
- Chapter 4 describes tests that primarily cover Chapters 6, 8 and 10 requirements in the USB
PD2.0 and PD3.0 Specifications.
- Chapter 5 describes tests that primarily cover Chapter 7 requirements in the USB PD2.0 and
PD3.0 Specifications.
1.1 Overview
The Tester runs tests applicable to the UUT in Chapter 3-5. The UUT applicability is determined by the
VIF fields and it is provided at the beginning of each subsection e.g. “The tests in this subsection are
applicable to UUT with VIF field VIF_Product_Type set to Port”.
The Tester runs the common checks and procedures as described in Chapter 2 for all tests.
The applicability of common check for a given PD message is provided in Check Applicability e.g.
Message Header check (COMMON.CHECK.PD.2) is applicable to “all PD messages except GoodCRC”.
The applicability of common procedure is provided in Procedure Applicability e.g. unless otherwise
specified, the Tester runs this procedure (COMMON.PROC.PD.2) whenever receiving Get_Source_Cap
message from the UUT. The exceptions are provided either in the test steps or Test Specific Tester
Behavior.
The Tester runs all the steps as described in the test (in Chapter 3-5) and the common procedure (in
Section 2.3) unless the condition for “the test stops here” is satisfied. The test does not stop when a
check fails.
In summary:
- Bring-up Procedures in Section 2.2 are used to start the tests in Chapter 3-5
- Common Checks in Section 2.1 are used in all the tests depending on the Check Applicability
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 7
- Common Procedures in Section 2.3 are used in all the tests depending on the Procedure
Applicability and exceptions provided in the test.
- The test does not stop until the last step or the condition for “the test stops here” is satisfied
Unit Under Test (UUT) is the product undergoing the test procedures and checks.
1.3 Keywords
1.3.1 Check
Check is a keyword used to indicate requiring the Tester to determine whether the UUT has failed to
comply the mandatory requirement in the base specification.
The test is running in PD2 mode if the Tester as a Source sends the Source Capabilities and Discover
Identity messages with Message Header Bits 7…6 (Specification Revision) set to 01b.
The test is running in PD3 mode if the Tester as a Source sends the Source Capabilities and Discover
Identity messages with Message Header Bits 7…6 (Specification Revision) set to 10b.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 8
The values of VCONN used for VPDs are derived directly from the Type-C Specification. The values of
VCONN used for Cable Markers is derived from the Type-C Specification with an additional +/- 0.25V
ground offset caused by current being supplied from the source.
Checks that are performed as part of Common Checks, Bring-up Procedures or Common Procedures may
occur during any Test Condition, but are only reported once, and are therefore not given a specific Test
Condition Code. During the XML report the ‘condition’ element shall be defined: <condition
conditionID="">.
Test Conditions for Ports are a combination of some or all of the following:
For example, the Code ‘Rev3ChkdSrc’ means that the Port is being tested for PD Revision 3, with the
Tester set not to support Unchunked Extended Messages, and as a Source.
Table 2 shows the complete list of Test Conditions used for Ports.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 9
Extended
messages
Rev2Src 2 - Source
Rev2Snk 2 - Sink
Rev3Src 3 - Source
Rev3Snk 3 - Sink
Rev3ChkdSrc 3 No Source
Rev3ChkdSnk 3 No Sink
Rev3UnchkdSrc 3 Yes Source
Rev3UnchkdSnk 3 Yes Sink
CabFlippedSrc* 3 - Source
CabFlippedSnk* 3 - Sink
*This code is only used when checking the Eye Diagram with the cable flipped at the UUT end
Test Conditions for Cables or VPDs are a combination of some or all of the following:
For example, the Code ‘Rev2VcMaxEnd2’ means that the Cable Marker is being tested for PD Revision 2,
with VCONN set to Maximum, and End 1 of the Cable is being tested.
Table 3 shows the complete list of Test Conditions used for Cable Markers or VPDs.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 10
1.4.3 “Supports Structured VDMs”
There are three VIF parameters that determine whether a Port UUT, using SOP signaling, supports
Structured VDMs.
Responds_To_Discov_SOP_DFP
Responds_To_Discov_SOP_UFP
Attempts_Discov_SOP
Throughout this document the phrase "Supports Structured VDMs" will be used to indicate that one of
the appropriate VIF parameters is set to YES.
The Tester performs the following checks on the Preamble of all PD messages
[COMMON.CHECK.PD.1#1]
- The check fails if the first bit of the Preamble does not start at least tInterFrameGap after the
end of the last bit of the preceding message
- The check fails if the Preamble is not a 64-bit sequence of alternating '0's and '1's. (In practice
the last 60 bits are checked as there is some uncertainty about detecting the initial bits.)
- The check fails if the Preamble does not end with a single “one”.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 11
COMMON.CHECK.PD.2 Check Message Header
Description: The Tester performs the protocol checks on the Message Header sent by the UUT.
The Tester performs the following checks on the Message Header of all PD messages except GoodCRC
and Returned BIST Counters: [COMMON.CHECK.PD.2#1]
1. For Source Capabilities and Discover Identity messages before the first response from the Tester
after detach, Hard Reset or Error Recovery
a. Bit 15 (Extended for PD3). The check fails if this field is not set to 0b
b. Bit 7…6 (Specification Revision). The check fails if this field is not set to 10b
c. Bit 4…0 (Message Type). The check fails if the Message Type is not valid
2. Other messages
a. Bit 15 (Extended for PD3 and Reserved for PD2). The check fails if this bit is not set to 0b
when the revision alignment has determined that the test is in PD2
b. Bits 7…6 (Specification Revision). The check fails if this field is not set to 01b when the
the revision alignment has determined that the test is running in PD2
c. Bits 7…6 (Specification Revision). The check fails if this field is not set to 10b when the
revision alignment has determined that the test is running in PD3
d. In PD2 mode
i. Bit 4 (Reserved). The check fails if this field is not is set to 0b
ii. Bit 3…0. The check fails if the Message Type is not valid.
e. In PD3 mode
i. Bit 4…0. The check fails if the Message Type is not valid
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 12
c. The first message after receiving Soft_Reset
d. The first message after a successful Power Role Swap
e. The first message to the Cable Plug using SOP’ or SOP’’ packet
f. The first message after a Cable Reset (only for communication involving a Cable Plug
using SOP’ or SOP’’ packet)
5. Bits 11...9: MessageID. If MessageID is incremented for a valid retry scenario as described in the
test procedures, fail the check. (On retry the message all fields should remain the same from the
previously received message.) Else, fail the check if MessageID is not incremented.
6. Bits 11…9: MessageID. Except for conditions as mentioned above, the check fails if MessageID is
incremented by three comparing to the previously received message
7. Bit 8: Port Power Role (SOP packet type only)
a. The check fails if Port Power Role does not represent the UUT port power role
b. For a Ping or GotoMin message, the check fails if Port Power Role is not Source
c. For a Request, the check fails if Port Power Role is not Sink
d. The check fails if the Port Power Role is not Sink for the first PS_RDY during a Power
Role Swap
e. The check fails if the Port Power Role is not Source for the second PS_RDY during a
Power Role Swap
8. Bit 8: Cable Plug (SOP’ and SOP’’), the Tester checks that it follows the rule:
a. 0b Message originated from a DFP or UFP
b. 1b Message originated from a Cable Plug or VP
9. Bit 5: Port Data Role (SOP packet type only). The check fails if Port Data Role does not represent
the UUT port data role
10. Bit 5: Port Data Role (SOP’ and SOP’’ packet types). The check fails if Port Data Role is not set to
zero
The Tester performs the following checks on the reception of GoodCRC message:
1. The check fails if the GoodCRC is received after tTransmit max has expired. The delay is
measured between the last bit of the EOP of Tester sent message and the first bit of the
Preamble of the UUT sent GoodCRC Message. [COMMON.CHECK.PD.3#1]
2. Perform the following checks on the Message Header of GoodCRC message:
[COMMON.CHECK.PD.3#2]
a. Bit 15 (Reserved for PD2, Extended for PD3). The check fails if this field is not set to 0b
b. Bits 11…9: MessageID. The check fails if MessageID is not the same as the value in the
preceding message sent by the Tester
c. Bit 8: Port Power Role (SOP packet type only). The check fails if Port Power Role does
not represent the UUT port power role.
d. Bit 8: Cable Plug (SOP’ and SOP’’), the Tester checks that it follows the rule:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 13
i. If VIF_Product_Type is 0 (Port Product), the check fails if the field
is not set to 0.
ii. If VIF_Product_Type is 1 (Cable), the check fails if the field is not
set to 1.
e. Bits 7…6 (Specification Revision). The check fails if this field is not set to 01b when the
test is running in PD2 mode
f. Bits 7…6 (Specification Revision). The check fails if this field is not set to either 00b, 01b
or 10b when the test is running in PD3 mode
g. Bit 5: Port Data Role (SOP packet type only). The check fails if Port Data Role does not
represent the UUT port data role
h. Bit 5: Port Data Role (SOP’ and SOP’’ packet types). The check fails if Port Data Role is
not set to zero
i. Bits 4…0 (Message Type) is set to 0001b
The Tester performs the following check when an AMS has started:
1. As part of an AMS, the check fails if the UUT does not respond to a message (sent by the
Tester) within tSenderResponse max or tVDMSenderResponse max from the last bit of the
EOP of the GoodCRC message sent [COMMON.CHECK.PD.4#1]. The following are the
exceptions:
a. PS_RDY message as part of Power Negotiation AMS
b. PS_RDY message as part of Power Role Swap AMS
c. PS_RDY message as part of VCONN Swap AMS
d. Security_Response message as part of Security AMS
e. Enter Mode command request as part Enter Mode AMS
f. Exit Mode command request as part Exit Mode AMS
Unless specifically mentioned, the check fails if Soft_Reset message (using SOP packet) is sent by the
UUT during a test [COMMON.CHECK.PD.5#1].
Unless specifically mentioned, the check fails if the UUT sends a Hard Reset or a Cable Reset signal
[COMMON.CHECK.PD.5#2].
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 14
Unless specifically mentioned, the check fails if GotoMin message is sent by the UUT
[COMMON.CHECK.PD.5#3]. The Tester does not set the GiveBack flag during a test.
The following messages sent by the UUT are unexpected during a test when the Tester is in
PE_SRC_Ready, PE_SNK_Ready or PE_CBL_Ready state (Policy Engine States as described in the base
specification), and the check fails [COMMON.CHECK.PD.5#4]:
- GoodCRC
- BIST
- Sink_Capabilities
- Accept
- Reject
- Wait
- PS_RDY
- Structured VDM response (ACK, NAK, BUSY)
- Ping (when the UUT is not in PE_SRC_Ready)
Check Applicability: Control messages including GoodCRC, GoToMin, Accept, Reject, Ping, PS_RDY,
Get_Source_Cap, Get_Sink_Cap, Protocol Error, DR_Swap, PR_Swap, VCONN_Swap, Wait, Soft_Reset.
The Tester performs the following additional check on all Control messages [COMMON.CHECK.PD.6#1]:
1. The check fails if the Number of Data Object field in the Header is not zero
2. The check fails if the number of bytes of the payload following the header is not zero
1. Without receiving a SOP' Discover Identity Request message from the UUT, the check fails if VIF
field Captive_Cable = No and the UUT sends Source Capabilities offering currents greater than
3A and/or voltages greater than 20V
2. The Tester checks the Number of Data Objects field in the Message Header
a. In PD3 mode, the check fails if the Number of Data Objects field in the Message Header
is not equal to VIF field Num_Src_PDOs.
b. In PD2 mode, the check fails if the Number of Data Objects field in the Message Header
is not equal to VIF field Num_Src_PDOs minus number of PPS PDOs (count of how many
Src_PDO_Supply_TypeN is set to PPS).
3. For the first PDO, the Tester check the consistency
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 15
a. B31…30 (Fixed Supply) set to 00b
b. B29 (Dual-Role Power) set to 1b if VIF field PD_Port_Type is set to Consumer/Provider,
Provider/Consumer or DRP.
c. B28 (USB Suspend Supported) set to 1b if VIF field USB_Suspend_May_Be_Cleared = NO
d. B27 (Unconstrained Power) matches VIF field Unconstrained_Power
e. B26 (USB Communications Capable) matches VIF field USB_Comms_Capable
f. B25 (Dual-Role Data) set to 1b if VIF field DR_Swap_To_UFP_Supported or
DR_Swap_To_DFP_Supported = YES
g. For Source Capabilities message before the first response from the Tester
i. Bit 24 (Unchunked Extended Messages Supported) matches VIF field
Unchunked_Extended_Messages_Supported
ii. Bits 23…22 (Reserved) set to 00b
h. For Source Capabilities message after the Tester has sent Request message
i. Bit 24 (Unchunked Extended Messages Supported) matches VIF field
Unchunked_Extended_Messages_Supported if the test is running in PD3 mode
ii. Bits 23…22 (Reserved) set to 00b if the test is running in PD3 mode
iii. Bits 24…22 (Reserved) set to 000b if the test is running in PD2 mode
i. B21…20 (Peak Current) matches VIF field Src_PDO_Peak_Current1
j. B19…10 (Voltage) set to 5V
k. B9…0 (Maximum Current) matches VIF field Src_PDO_Max_Current1
4. If it is not the first Fixed Supply PDO, check that B29…22 are set to zero
5. If it is a Programmable Power Supply APDO, check that B26…25, B16 and B7 are set to zero
6. The Tester compares all PDOs to VIF field PD_Power_as_Source and check that they meet the
requirements of the Power Rules.
7. For each PDO, the Tester checks consistency of:
a. Src_PDO_Supply_TypeN
b. If Fixed Supply PDO:
i. Src_PDO_VoltageN
ii. Src_PDO_Peak_CurrentN
iii. Src_PDO_Max_CurrentN
c. If Variable Supply PDO:
i. Src_PDO_MinVoltageN
ii. Src_PDO_MaxVoltageN
iii. Src_PDO_Max_CurrentN
d. If Battery Supply PDO:
i. Src_PDO_MinVoltageN
ii. Src_PDO_MaxVoltageN
iii. Src_PDO_Max_PowerN
e. If Programmable Power Supply PDO:
i. Src_PDO_MinVoltageN
ii. Src_PDO_MaxVoltageN
iii. Src_PDO_Max_CurrentN
8. The Tester checks PDOs following the first one, are in the correct order: Fixed PDOs in increasing
Voltage sequence, Battery PDOs in increasing Minimum Voltage sequence, Variable PDOs in
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 16
increasing Minimum Voltage sequence, and finally Programmable Power Supply APDOs in
increasing Maximum Voltage sequence.
9. The Tester checks that no Fixed PDO has the same voltage as any other
10. The Tester checks that no Variable PDO has the same voltage range as any other
11. The Tester checks that no Battery PDO has the same voltage range as any other
The Tester performs the following additional checks on all Request messages:
[COMMON.CHECK.PD.8#1]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 17
i. Greater than or equal to the Minimum Voltage field in the PPS APDO.
ii. Less than or equal to the Maximum Voltage field in the PPS APDO.
c. B8…7 (Reserved) set to zero
d. Bits 27 (Reserved) set to 0b
The Tester performs the following checks on the Structured VDM Message Header (the first Data
Object): [COMMON.CHECK.PD.9#1]
The Tester performs the following checks on the Message Header and Extended Message Header of all
Extended Messages: [COMMON.CHECK.PD.10#1]
1. If both the Tester and UUT support Unchunked Extended Message (i.e. Unchunked Extended
Messages Supported field set to 1b in the Tester sent Request or Source Capabilities message,
and Unchunked Extended Messages Supported bit set to 1b (in UUT sent Request or Source
Capabilities message)):
a. Bit 15 Chunked bit (in Extended Message Header) = 0
2. If either the Tester or the UUT supports Chunked Extended Message (i.e. either Unchunked
Extended Messages Supported field set to 0b in the Tester sent Request or Source Capabilities
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 18
message, or Unchunked Extended Messages Supported bit set to 0b (in UUT sent Request or
Source Capabilities message)):
a. Bit 15 Chunked bit (in Extended Message Header) = 1
b. The payload is padded to the next 4-byte Data Object boundary with zeros
3. Additional checks for Extended Message Header
a. Bits 14…11 Chunk Number = 0 if Chunked flag is also set to zero
b. Bit 9 Reserved = 0
c. Bits 8…0 Data Size
i. Source Capabilities Extended = 24
ii. Status = 6
iii. Get_Battery_Status = 1
iv. Battery_Capabilities = 9
v. Manufacturer_Info
1. Valid Get_Manufacturer_Info = 5 + vendor defined string (0…21)
2. Invalid Get_Manufacturer_Info = 18 = (PID + VID + “Not Supported” +
null)
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 19
COMMON.CHECK.PD.12 Check Sink Capabilities Message
Description: The Tester performs additional protocol checks on all Sink Capabilities messages sent by the
UUT.
1. The Tester runs the following field checks on the Sink Capabilities message:
a. The Number of Data Objects field in the Message Header:
i. Is at least one.
ii. In PD3 mode, the check fails if the Number of Data Objects field in the Message
Header is not equal to VIF field Num_Snk_PDOs.
iii. In PD2 mode, the check fails if the Number of Data Objects field in the Message
Header is not equal to VIF field Num_Snk_PDOs minus number of PPS PDOs
(count of how many Snk_PDO_Supply_TypeN is set to PPS).
b. For the first PDO, the Tester checks:
i. B31…30 (Fixed Supply) set to 00b
ii. B29 (Dual-Role Power) set to 1b if VIF field Port_Type is DRP,
Provider/Consumer or Consumer/Provider, otherwise set to 0b
iii. B28: (Higher Capability) matches VIF field Higher_Capability_set
iv. B27 - (Unconstrained_Power) matches VIF field Unconstrained_Power
v. B26 (USB Communications Capable) matches VIF field USB_Comms_Capable
vi. B25 (Dual-Role Data) set to 1b if VIF field DR_Swap_To_UFP_Supported or
DR_Swap_To_DFP_Supported = YES, otherwise set to 0b if VIF field
DR_Swap_To_UFP_Supported and DW_Swap_To_DFP_Supported = NO
vii. B24…23
1. PD3 mode (Fast Role Swap required USB Type-C Current) matches VIF
field FR_Swap_Reqd_Type_C_Current_As_Initial_Source
2. PD2 mode: set to 00b.
viii. B22…20 (Reserved) set to 000b
ix. B19…10 (Voltage) set to 5V
x. B9…0 (Operational Current) matches VIF field SNK_PDO_OP_CURRENT1
c. For each PDO, the Tester checks:
i. The Tester checks consistency of Snk_PDO_Supply_TypeN
ii. If Fixed Supply PDO:
1. In PD2, B24…20 (Reserved) are set to zero
2. In PD3, B22…20 (Reserved) are set to zero
3. The Tester checks consistency of Snk_PDO_VoltageN
4. The Tester checks consistency of Snk_PDO_ Op_CurrentN
iii. If Variable Supply PDO:
1. The Tester checks consistency of Snk_PDO_Max_VoltageN
2. The Tester checks consistency of Snk_PDO_Min_VoltageN
3. The Tester checks consistency of Snk_PDO_ Op_CurrentN
iv. If Battery Supply PDO:
1. The Tester checks consistency of Snk_PDO_Max_VoltageN
2. The Tester checks consistency of Snk_PDO_Min_VoltageN
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 20
3. The Tester checks consistency of Snk_PDO_ Op_PowerN
v. If Programmable Power Supply APDO:
1. B29…28 set to 00b
2. B27…25 (Reserved) set to zero
3. B16 (Reserved) set to zero
4. B7 (Reserved) set to zero
5. The Tester checks consistency of Snk_PDO_Max_VoltageN
6. The Tester checks consistency of Snk_PDO_Min_VoltageN
7. The Tester checks consistency of Snk_PDO_Max_CurrentN
d. The Tester compares all PDOs to VIF field PD_Power_as_Sink and check that they meet
the requirements of the Power Rules
e. The Tester checks PDOs following the first one, are in the correct order: Fixed PDOs in
increasing voltage sequence, Battery PDOs in increasing minimum voltage sequence,
Variable PDOs in increasing minimum voltage sequence, and finally PPS PDOs in
increasing maximum voltage sequence
f. The Tester checks that no Fixed PDO has the same voltage as any other
g. The Tester checks that no Variable PDO has the same voltage range as any other
h. The Tester checks that no Battery PDO has the same voltage range as any other
i. The Tester checks that no PPS PDO has the same voltage range as any other
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 21
2.2 Bring-up Procedures
2.2.1 PD2 and PD3 Modes
The common checks in this subsection are applicable when the test is running in PD2 and PD3 modes.
1. Make sure to have run COMMON.PROC.BU.6 preparation before this procedure. The test starts
in a disconnected state.
2. If VIF field Captive_Cable = YES, the Tester applies Rd. Otherwise (VIF field Captive_Cable = No),
the Tester applies Rd and Ra.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present (vSafe5V). [COMMON.PROC.BU.1#1]
5. The check fails if the UUT does not respond with an Accept message. [COMMON.PROC.BU.1#2]
6. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.BU.1#3]
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 22
5. The Tester transmits Source Capabilities message with single PDO:
6. Repeat Step-5 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least 50 times.
9. The check fails if the UUT does not respond with a Request message. [COMMON.PROC.BU.2#1]
10. The Tester responds with an Accept message to the Request message.
11. If the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message at
tPSTransition min after the reception of Accept message.
12. An explicit contract is now established.
13. The Tester presents SinkTxOK if the test is in PD3 mode. The Tester waits 500ms to respond to
messages from the UUT.
3. If the UUT attachment is detected (detected Ra), the Tester applies VCONN and vSafe5V on
VBUS.
Note: The Tester uses SOP’ messages in Cable Plug tests except where otherwise specified.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present (vSafe5V). [COMMON.PROC.BU.4#1]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 23
4. If there is no PPS APDO in the Source_Capabilities, the test stops here.
5. The Tester responds with a Request message for Programmable Power Supply APDO 4V 1A.
7. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.BU.4#3]
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 24
iv. B24…17 (Maximum Voltage) set to 5.9V
v. B15…8 (Minimum Voltage) set to 3.3V
vi. B6…0 (Maximum Current) set to 3A
5. Repeat Step-4 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least 50 times.
6. The check fails if a Request message is not received. [COMMON.PROC.BU.5#1]
7. The Tester responds with an Accept message to the Request message.
8. When the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message
at tPSTransition min after the reception of Accept message.
9. An explicit contract is now established.
10. The Tester presents SinkTxOK.
11. If the Sink doesn't request the PPS APDO in 5s from the time Tester presented SinkTxOK, the
test stops here. If the Request message is received, the Tester responds with an Accept
message.
12. When the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message
at tPSTransition min after the reception of Accept message.
13. The Tester presents SinkTxOK. The Tester waits 500ms to respond to messages from the UUT.
Assumes that the Test Cable is initially connected to the Port under Test.
2. If VIF field Port_Source_Power_Type is not set to Shared, then the preparation procedure is
complete.
3. Otherwise, if the VIF field Master_Port is set to YES, the Tester sends a BIST Shared Test Mode
Entry message to the UUT, and the preparation procedure is complete.
4. If the VIF field Master_Port is set to NO, the Tester uses the VIF to locate a component which
has the VIF field Master_Port parameter is set to YES and requests the operator to connect the
Test Cable to that Port on the UUT. If one is not found, the check fails [COMMON.PROC.BU.6#1]
5. When this has been done, the Tester sends a BIST Shared Mode Test Entry message to the UUT.
6. The Tester requests the operator to connect the Test Cable to the Port under Test.
TEST NOTES:
Once the UUT is placed in the test mode it is expected to remain in the test mode till it is
powered down.
The test procedure should be performed only one time per port.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 25
COMMON.PROC.BU.7 Bring-up Consumer-Provider as Source UUT
1. Make sure to have run COMMON.PROC.BU.6 preparation before this procedure. The test starts
in a disconnected state.
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
6. Repeat Step-5 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least 50 times.
7. The check fails if the UUT does not respond with a Request message. [COMMON.PROC.BU.7#1]
9. If the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message at
tPSTransition min after the reception of Accept message.
10. An explicit contract is now established.
11. The Tester presents SinkTxOK if the test is in PD3 mode. The Tester waits 500ms to respond to
messages from the UUT. If during this period, the UUT requests a PR_Swap, the Tester sends an
Accept, and then skips to step 14.
12. The Tester sends a PR_Swap message.
13. The Tester checks the response. [COMMON.PROC.BU.7#2]
a. If the UUT responds with a Wait message and the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has resent PR_Swap for 10 times,
the check fails and the test ends here.
b. The check fails and the test ends here if the UUT responds with a Reject message.
c. The check fails and the test ends here if the UUT response with a Not_Supported
message.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 26
14. At tSrcTransition max (this delay is from the last bit of GoodCRC sent in response to the Accept),
the Tester drives the VBUS voltage to vSafe0V within tSrcSwapStdby max.
15. The Tester sends a PS_RDY at the deadline limit of tPSSourceOff min, the delay is from the time
the last bit of the EOP of the GoodCRC corresponding to the Accept message.
16. The tester checks that UUT asserts Rp before the UUT has applied vSafe5V
[COMMON.PROC.BU.7#3]
17. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[COMMON.PROC.BU.7#4]
18. The Tester checks that the PS_RDY from the UUT is within tPSSourceOn min.
[COMMON.PROC.BU.7#5] This delay is from the GoodCRC sent by the UUT in response to the
PS_RDY sent by the Tester.
19. The Tester checks that the UUT sends a Source Capabilities message after tSwapSourceStart
and before tFirstSourceCap max. [COMMON.PROC.BU.7#6].
21. The check fails if the UUT does not respond with an Accept message. [COMMON.PROC.BU.1#2]
22. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.BU.1#3]
2. If VIF field Captive_Cable = YES, the Tester applies Rd. Otherwise (VIF field Captive_Cable = No),
the Tester applies Rd and Ra.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present (vSafe5V). [COMMON.PROC.BU.8#1]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 27
a. B30…B28 (Object Position) = 001b
5. The check fails if the UUT does not respond with an Accept message. [COMMON.PROC.BU.8#2]
6. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.BU.8#3]
8. The Tester waits 500ms to respond to messages from the UUT. If during this period, the UUT
requests a PR_Swap, the Tester sends an Accept, and then skips to step 11.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 28
2. The tester applies Rp.
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
6. Repeat Step-5 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least 50 times.
7. The check fails if the UUT does not respond with a Request message. [COMMON.PROC.BU.9#1]
9. If the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message at
tPSTransition min after the reception of Accept message.
10. An explicit contract is now established.
11. The Tester presents SinkTxOK if the test is in PD3 mode. The Tester waits 500ms to respond to
messages from the UUT. If during this period, the UUT requests a PR_Swap, the Tester sends an
Accept, and then skips to step 14.
12. The Tester sends a PR_Swap message.
13. The Tester checks the response. [COMMON.PROC.BU.9#2]
d. If the UUT responds with a Wait message and the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has resent PR_Swap for 10 times,
the check fails and the test ends here.
e. The check fails and the test ends here if the UUT responds with a Reject message.
f. The check fails and the test ends here if the UUT response with a Not_Supported
message.
14. At tSrcTransition max (this delay is from the last bit of GoodCRC sent in response to the Accept),
the Tester drives the VBUS voltage to vSafe0V within tSrcSwapStdby max.
15. The Tester sends a PS_RDY at the deadline limit of tPSSourceOff min, the delay is from the time
the last bit of the EOP of the GoodCRC corresponding to the Accept message.
16. The tester checks that UUT asserts Rp before the UUT has applied vSafe5V
[COMMON.PROC.BU.9#3]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 29
17. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[COMMON.PROC.BU.9#4]
18. The Tester checks that the PS_RDY from the UUT is within tPSSourceOn min.
[COMMON.PROC.BU.9#5] This delay is from the GoodCRC sent by the UUT in response to the
PS_RDY sent by the Tester.
19. The Tester checks that the UUT sends a Source Capabilities message after tSwapSourceStart
and before tFirstSourceCap max. [COMMON.PROC.BU.9#6].
20. If there is no PPS APDO in the Source_Capabilities, the test stops here.
21. The Tester responds with a Request message for Programmable Power Supply APDO 4V 1A.
23. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.BU.9#8]
25. The Tester waits 500ms to respond to messages from the UUT.
4. If the UUT attachment is detected (detected Ra and Rd), the Tester applies VCONN (Tester is
‘Sink with Accessory Support’). Tester removes Rp on the VCONN line.
5. The Tester waits for tVCONNStable max from when VCONN is stable.
[During testing, monitor VCONN current draw, and check against VIF and VPD Product VDO,
and against Type C Spec]
Note:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 30
1. VPD tests need to be run twice, with VCONN voltage set to 3.0 V, and 5.5V. Additionally, the Eye
Diagram test is run at 4.25V.
2. The Tester uses SOP’ messages in Cable Plug tests except where otherwise specified.
1. The Tester sends a GoodCRC message to acknowledge messages received from the UUT. The
Tester starts the preamble of GoodCRC message after tInterframeGap min of the last bit of the
previously received message.
1. The Tester receives a Get_Source_Cap message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.2#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
i. The Tester responds with Source Capabilities message that contains single PDO
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 31
5. B26 (USB Communications Capable) set to 0b
ii. The check fails if the UUT does not respond with a Request message.
[COMMON.PROC.PD.2#2]
iii. The Tester responds with an Accept message to the Request message.
iv. If the VBUS voltage is stable within the target voltage, the Tester sends a
PS_RDY message at tPSTransition min after the reception of Accept message.
i. The Tester responds with a Source Capabilities message for best condition for
the PR_Swap to be accepted:
1. For the first PDO:
a. B31…30 (Fixed Supply) set to 00b
b. B29 (Dual-Role Power) set to 1b
c. B28 (USB Suspend Supported) set to 0b
d. B27 (Unconstrained Power) set to 1b
e. B26 (USB Communications Capable) matches VIF field
USB_Comms_Capable
f. B25 (Dual-Role Data) matches VIF field
DR_Swap_To_UFP_Supported
g. B24…22 (Reserved) set to 00b
h. B21…20 (Peak Current) set to 00b
i. B19…10 (Voltage) set to 5V
j. B9…0 (Maximum Current) set to VIF field
Snk_PDO_Max_Current1
2. Create the subsequent PDOs using Sink PDO values in the VIF:
a. If Snk_PDO_Supply_TypeN = Fixed
i. B31…30 (Fixed Supply) set to 00b
ii. B19…10 (Voltage) set to VIF field Snk_PDO_VoltageN
iii. B9…0 (Maximum Current) set to VIF field Snk_PDO_
Op_CurrentN
b. If Snk_PDO_Supply_TypeN = Variable
i. B31…30 (Variable Supply) set to 10b
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 32
ii. B29…20 (Maximum Voltage) set to VIF field
Snk_PDO_MaxVoltageN
iii. B19…10 (Minimum Voltage) set to VIF field
Snk_PDO_MinVoltageN
iv. B9…0 (Maximum Current) set to VIF field
Snk_PDO_Op_CurrentN
c. If Snk_PDO_Supply_TypeN = Battery
i. B31…30 (Battery Supply) set to 01b
ii. B29…20 (Maximum Voltage) set to VIF field
Snk_PDO_MaxVoltageN
iii. B19…10 (Minimum Voltage) set to VIF field
Snk_PDO_MinVoltageN
iv. B9…0 (Maximum Power) set to VIF field Snk_PDO_
Op_PowerN
1. The Tester receives Get_Sink_Cap message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.3#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 33
b. The Tester is a Source with Dual Role Power
i. The Tester responds the following Sink Capabilities message with single PDO:
1. B31…30 (Fixed Supply) set to 00b
2. B29 (Dual-Role Power) set to 1b
3. B28 (Higher Capability) set to 0b
4. B27 (Unconstrained Power) set to 1b
5. B26 (USB Communications Capable) set to 0b
6. B25 (Dual-Role Data) set to 0b
7. B24…20 (Reserved) set to 00000b
8. B19…10 (Voltage) set to 5V
9. B9…0 (Maximum Current) set to 100mA
i. The Tester responds the following Sink Capabilities message with single PDO:
1. B31…30 (Fixed Supply) set to 00b
2. B29 (Dual-Role Power) set to 0b if Tester is a Sink only; set to 1b if
Tester is a Dual-Role Power
3. B28 (Higher Capability) set to 0b
4. B27 (Unconstrained Power) set to 1b
5. B26 (USB Communications Capable) set to 0b
6. B25 (Dual-Role Data) set to 0b
7. B24…23 (Fast Role Swap required USB Type-C Current) set to 00b (Fast
Swap not supported)
8. B22…20 (Reserved) set to 000b
9. B19…10 (Voltage) set to 5V
10. B9…0 (Maximum Current) set to 100mA
1. The Tester receives Ping message from the UUT and ignores it. This message is valid except the
following conditions: [COMMON.PROC.PD.4#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
c. The check fails if the UUT sends this message and the UUT is a Sink
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 34
COMMON.PROC.PD.5 UUT Sent PR_Swap
Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
PR_Swap message from the UUT.
1. The Tester receives PR_Swap message from the UUT. This message is valid except the following
conditions: [COMMON.PROC.PD.5#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
a. The Tester is a Sink, the Tester responds with a Reject message. The check fails if the VIF
field Requests_PR_Swap_As_Src = No. [COMMON.PROC.PD.5#2]
b. The Tester is a Source, the Tester responds with a Reject message. The check fails if the
VIF field Requests_PR_Swap_As_Snk = No. [COMMON.PROC.PD.5#3]
1. The Tester receives VCONN_Swap message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.6#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
a. The Tester is the initial Vconn Source, and the Tester runs the following procedures
b. The UUT is the initial VCONN Source, and the Tester runs the following procedures
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 35
i. If the VIF field VCONN_Swap_To_Off_Supported = Yes and the UUT sends a
VCONN_Swap message, the Tester responds with an Accept message.
Otherwise (VIF field VCONN_Swap_To_Off_Supported = No and the UUT sends
a VCONN_Swap message), the check fails and the test stops here.
[COMMON.PROC.PD.6#4]
ii. The Tester applies VCONN and sends PS_RDY message.
1. The Tester receives Discover Identity Request message from the UUT. This message is valid
except the following conditions: [COMMON.PROC.PD.7#1]
2. The message is sent after a PR_Swap AMS in which the UUT becomes
the new Source and before an explicit contract exists
b. If the test is running in PD3 mode, the check fails if the UUT is a Cable Plug
c. The check fails if the VIF field Attempts_Discov_SOP = NO and the UUT has sent using
SOP packet.
d. The check fails if the UUT sends this message using SOP’’ packet
e. The check fails if the UUT sends this message within a non-interruptible AMS
f. The check fails if the UUT sends this message using SOP packet before the Tester has
established an Explicit Contract
2. The Tester performs the following checks on the Structured VDM Message Header:
[COMMON.PROC.PD.7#2]
a. If a SOP' Discover Identity Request message is received from the UUT, the Tester
responds with a “Responder ACK” advertising Passive Cable with Vbus Current Handling
Capability set to 5A and Maximum Vbus Voltage set to 20V.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 36
b. If a SOP Discover Identity Request message is received from the UUT, the Tester
responds with a “Responder NAK”.
4. The check fails if a message is received from the UUT before the Tester has sent “Responder
ACK” or “Responder NAK”. [COMMON.PROC.PD.7#3]
1. The Tester receives Discover SVIDs Request message from the UUT. This message is valid except
the following conditions: [COMMON.PROC.PD.8#1]
a. If the test is running in PD2 mode, the check fails if the UUT is a UFP or a Cable Plug
b. If the test is running in PD3 mode, the check fails if the UUT is a Cable Plug
d. The check fails if the UUT sends this message using SOP’’ packet
e. The check fails if the UUT sends this message within a non-interruptible AMS
f. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
2. The Tester performs the following checks on the Structured VDM Message Header:
[COMMON.PROC.PD.8#2]
3. The Tester responds with a “Responder NAK”. The check fails if a message is received from the
UUT before the Tester has sent “Responder NAK”. [COMMON.PROC.PD.8#3]
1. The Tester receives Attention Request message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.9#1]
d. The check fails if the UUT sends this message using SOP’ or SOP’’ packet
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 37
e. The check fails if the UUT sends this message within a non-interruptible AMS
f. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
2. The Tester performs the following checks on the Structured VDM Message Header:
[COMMON.PROC.PD.9#2]
3. The Tester ignores the Attention Request message and does not send a response.
1. The Tester receives Request message from the UUT. This message is valid except the following
conditions: [COMMON.PROC.PD.10#1]
a. The check fails if an Implicit Contract is in place and the message was not in response to
a Source_Capabilities message from the Tester.
b. The check fails if the UUT sends this message within a non-interruptible AMS
3. If the VBUS voltage is stable within the target voltage, the Tester sends a PS_RDY message at
tPSTransition min after the reception of Accept message.
1. The Tester receives Source Capabilities message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.11#1]
a. The check fails if the UUT is a Sink and the Tester has not previously sent
Get_Source_Cap.
c. The check fails if the UUT sends this message within a non-interruptible AMS
2. The procedure ends here if the UUT is a Sink. The Tester sends a Request message for 5V at
100mA.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 38
a. B30 (Object Position) = 001b
4. The check fails if PS_RDY message is not received within tPSTransition max from the last bit of
the EOP of Accept message. [COMMON.PROC.PD.11#3]
1. The Tester receives DR_Swap message from the UUT. This message is valid except the following
conditions: [COMMON.PROC.PD.12#1]
a. The check fails if the UUT sends this message before the Tester has established an
Explicit Contract
b. The check fails if the UUT sends this message within a non-interruptible AMS
c. The check fails if the UUT is a UFP and the VIF field DR_Swap_To_DFP_Supported = No
d. The check fails if the UUT is a DFP and the VIF field DR_Swap_To_UFP_Supported = No
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 39
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 40
3 Physical Layer Specific Tests
This chapter describes tests that primary cover Chapters 6 and 8 requirements in the USB PD
specifications.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 41
Figure 2: Example of producing eye diagram
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 42
Figure 4: Two-tone noise calibration
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 43
Figure 5: AWG measurement waveforms
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 44
3.1 Test Procedures for All UUTs
3.1.1 PD3 Mode
The tests in this subsection are run only in PD3 mode.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 45
d. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a BIST request to the UUT, specifying “BIST Carrier Mode”.
3. The Tester creates a histogram with at least 100 bins of the total voltage swing for the bit
stream collected from the BIST request. For example, 100 bins, the voltage absolute max is 1.1V
and absolute min is 0V; then the top bin is count of voltages between 1.089V and 1.1V; bottom
bin is count of voltages between 0V and 0.011V
4. The Tester searches for the bin with highest count between Y5TX (0.5625V) and the maximum;
and the middle voltage of the bin is “high level”
5. The Tester searches for the bin with highest count between Y5TX (0.5625V) and the minimum;
and the middle voltage of the bin is “low level”
6. The average between “high level” and “low level” is the mid-level
7. The Tester uses the mid-level to find fBitRateRef (refer to Figure 1)
a. Locate the first rising edge of a “0” bit.
b. Count 32 bits.
c. Locate the rising edge of a “0” bit, this is the start of the measured time.
d. Count 32 bits
e. Locate the rising edge of a “0” bit, this is the end of the measured time.
f. The reference bit length fBitRateRef equals 32 divided by the measured time
8. The Tester finds a rising edge of a “0” bit and then it locates a 1024 bits long packet, where the
first bit is identified as B0 and the last bit is identified as B1023. The Tester repeats the following
256 times with _num = 0 (the first run starts from B0 through B32, the second runs starts from
B4 through B36 etc.)
a. Locate the rising edge of B(_num) (a “0” bit), this is the start of the measured time.
b. Locate the rising edge of B(_num + 32) (a “0” bit), this is the end of the measured time.
c. Calculate fBitRateMeas as 32 divided by the measured time
d. The Tester checks fBitRateMeas: [TEST.PD.PHY.ALL.1#1]
i. The check fails if fBitRateMeas is less than or equal to fBitRate min
ii. The check fails if fBitRateMeas is more than or equal to fBitRate max
e. Compute pBitRateMeas = (| fBitRateMeas – fBitRateRef |) / fBitRateRef.
f. The Tester checks that pBitRateMeas is less than 0.25% [TEST.PD.PHY.ALL.1#2]
g. Set _num = _num + 4
9. The Tester checks that the bit stream collected meets tBISTContMode limits.
[TEST.PD.PHY.ALL.1#3]
10. If it is a Cable Plug UUT, repeat the test on the other end of the cable.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 46
- The Tester shall implement Rp as a 4.7kΩ resistor pull up to 3.3V. The capacitive load of the
tester is as close to 400pF as practical.
- The Tester shall implement Rd as a 5.1kΩ resistor to ground. The capacitive load of the tester is
as close to 400pF as practical.
If UUT is a Cable:
- The Tester applies VBUS, VCONN, Rp (4.7kΩ to 3.3V) and Rd (5.1kΩ) to one cable end. The
capacitive load of the tester is as close to 400pF as practical.
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 47
and absolute min is 0V; then the top bin is count of voltages between 1.089V and 1.1V; bottom
bin is count of voltages between 0V and 0.011V
4. The Tester searches for the bin with highest count between Y5TX (0.5625V) and the maximum;
and the middle voltage of the bin is “high level”
5. The Tester searches for the bin with highest count between Y5TX (0.5625V) and the minimum;
and the middle voltage of the bin is “low level”
6. The average between “high level” and “low level” is the mid-level
7. Use the mid-level to find 1 UI (refer to Figure 1)
a. Locate the rising edge of a "0" bit. This is the start of the measured time.
b. Count 32 bits.
c. Locate the rising edge of a "0" bit. This is the end of the measured time.
d. The reference bit length 1 UI equals the measured time divided by 32
8. The Tester uses the mid-level as the initial crossing level of the Eye Diagram, refer to Figure 2.
9. The Tester produces an Eye Diagram and checks that the parameters meet the requirements of
Figures 5-22 and 5-23 of the USB PD2.0 specification.
a. The Eye Diagram shall use 2640 bits placed on the TX-Mask.
b. 1UI and crossing level is used for plotting the Eye Diagram. For each bit, the first and last
crossings are separated equally from 0.5UI. Refer to Figure 2.
c. The Eye Diagram check fails if the signals violate the TX-Mask.
10. If the Eye Diagram check fails in the previous step, the crossing level is shifted as follows and the
Eye Diagram check is repeated for each sub-step below. For example, a given bit may shift left or
right when the crossing level is adjusted.
a. Add 10mv to the initial crossing level to the mid-level, run Step-9
b. Subtract 10mv from the initial crossing level, run Step-9
c. Add 20mv to the initial crossing level, run Step-9
d. Subtract 20mv from the initial crossing level, run Step-9
e. Add 30mv to the initial crossing level, run Step-9
f. Subtract 30mv from the initial crossing level, run Step-9
g. Add 40mv to the initial crossing level, run Step-9
h. Subtract 40mv from the initial crossing level, run Step-9
i. Add 50mv to the initial crossing level, run Step-9
j. Subtract 50mv from the initial crossing level, run Step-9
11. The check fails if the Eye Diagram check fails in Steps 9 and for all the crossing levels in 10.
[TEST.PD.PHY.ALL.2#1]
12. The check fails if the rise time and fall time check fails. [TEST.PD.PHY.ALL.2#2]
a. A “10%-Level” is defined as “low level” + (“high level” - “low level”) *10/100
b. A “90%-Level” is defined as “low level” + (“high level” - “low level”) *90/100
c. For each rising edge of the 2640 bits, find the rise-time as the time from crossing the
“10%-Level” until crossing the “90%-Level”. The final measured rise time is the average
of these measurements. Check that this is not less than tRise.
d. For each falling edge of the 2640 bits, find the fall time as the time from crossing the
“90%-Level” until crossing the “10%-Level”. The final measured fall time is the average
of these measurements. Check that this is not less than tFall.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 48
13. If the connected UUT is a port without a captive cable, repeat the test on the other CC
connection by flipping the test cable plug at the UUT end.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 49
8. Immediately after the end of the previous packet, the Tester transmit a continuous stream of 0s
for a duration of 195us.
9. The Tester waits for 10ms and the check fails if the UUT sends a GoodCRC. The check also fails if
the Tester detects the tail end of the GoodCRC message immediate after it has stopped
transmitting in the previous step. [TEST.PD.PHY.ALL.3#2]
10. If it is a Cable Plug UUT, repeat the test on the other end of the cable.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 50
6. The check fails if the UUT does not respond with a GoodCRC within tReceive.
[TEST.PD.PHY.ALL.4#1]
7. If it is a Cable Plug UUT, repeat the test on the other end of the cable.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 51
Rev3Src ✓ ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 52
a. If it is a Sink UUT, using TX_GROUP_2 parameters in the Receiver Test Signaling Table,
the Tester sends “BIST Test Data” message (without incrementing MessageID) for 13362
times. The check fails if UUT does not respond with a GoodCRC for each of the “BIST
Test Data” message. [TEST.PD.PHY.ALL.5#2]
b. If it is a Source UUT, using TX_GROUP_3 parameters in the Receiver Test Signaling
Table, the Tester sends “BIST Test Data” message (without incrementing MessageID) for
13362 times. The check fails if UUT does not respond with a GoodCRC for each of the
“BIST Test Data” message. [TEST.PD.PHY.ALL.5#3]
c. If it is a Cable Plug UUT, the Tester performs the following checks
[TEST.PD.PHY.ALL.5#4]:
i. Using TX_GROUP_2 parameters in the Receiver Test Signaling Table, the Tester
sends “BIST Test Data” message (without incrementing MessageID) for 13362
times. The check fails if UUT does not respond with a GoodCRC for each of the
“BIST Test Data” message.
ii. Using TX_GROUP_3 parameters in the Receiver Test Signaling Table, the Tester
sends “BIST Test Data” message (without incrementing MessageID) for 13362
times. The check fails if UUT does not respond with a GoodCRC for each of the
“BIST Test Data” message.
8. If UUT is a Dual-Role Power device (and it has been running this test first time as a Sink), repeat
the test with the UUT as a Source. If it is a Cable Plug UUT, repeat the test on the other end of
the cable.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 53
2. Program the AWG to output the simulated noise using the generated waveform file. This should
be summed with the CC signal during the transmission of a BIST Tester Data message.
3. In Figure 5, the left-hand waveform m13 is both the content of the AWG-waveform data file,
and exactly what should appear on the CC line of the test cable. The waveform data file is not
what should be applied to the noise insertion point in Figure 3. This point requires a pre-
emphasized version of the waveform data file, which compensates for the filtering effect of the
noise insertion circuit comprising the two 100 resistors, the 400pF and 200pF capacitors and
the nominal capacitance of the cable type used by the test equipment.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 54
6. Repeat Step-5 with all combinations of flipping Bit 0 of two symbols of the SOP (number 1&3,
1&4, 2&3, 2&4, 3&4).
7. Additionally, for Cable Plug and DFP UUT, repeat the test using SOP’ packet (if SOP_P_Capable =
Yes) and SOP’’ packet (if SOP_PP_Capable = Yes).
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 55
4. The Tester sends 10 BIST Test Data messages using SOP’’.
a. If VIF field SOP_PP_Capable = YES and the UUT is a VCONN Source, check that the UUT
responds with a GoodCRC. [TEST.PD.PHY.ALL.7#5]
b. If the UUT is not a VCONN Source or VIF field SOP_PP_Capable = No, the check fails if
the UUT responds with a GoodCRC. [TEST.PD.PHY.ALL.7#6]
c. The check fails if VIF field SOP_PP_Capable = Yes and the Cable Plug UUT does not
respond with a GoodCRC. Similarly, the check fails if VIF field SOP_PP_Capable = No and
the Cable Plug UUT responds with a GoodCRC. [TEST.PD.PHY.ALL.7#7]
5. The Tester sends 10 BIST Test Data messages using SOP’_Debug.
a. The check fails if VIF field SOP_P_Debug_Capable = No and the UUT responds with a
GoodCRC [TEST.PD.PHY.ALL.7#8]
6. The Tester sends 10 BIST Test Data messages using SOP’’_Debug.
a. The check fails if VIF field SOP_PP_Debug_Capable = No and the UUT responds with a
GoodCRC [TEST.PD.PHY.ALL.7#9]
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 56
d. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a message depending on the UUT type/role (note that this test is first run
sending uncorrupted message followed by corrupted messages):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
3. The Tester checks the response message depending on the UUT type/role:
a. The UUT is a Cable Plug: [TEST.PD.PHY.ALL.8#1]
i. If the Tester has sent an uncorrupted message, the check fails if the UUT does
not send a Discover Identity ACK message.
ii. If the Tester has sent a corrupted message, the check fails if the UUT responds
with a GoodCRC or a Discover Identity ACK message.
b. The UUT is a Sink: [TEST.PD.PHY.ALL.8#2]
i. If the Tester has sent an uncorrupted message, the check fails if the UUT does
not send a Sink Capabilities message.
ii. If the Tester has sent a corrupted message, the check fails if the UUT responds
with a GoodCRC or a Sink Capabilities message.
c. The UUT is a Source: [TEST.PD.PHY.ALL.8#3]
i. If the Tester has sent an uncorrupted message, the check fails if the UUT does
not send Sink Capabilities, Not Supported or Reject message.
ii. If the Tester has sent a corrupted message, the check fails if the UUT responds
with a GoodCRC or Sink Capabilities, Not Supported or Reject message.
4. The Tester repeats Step-2 and Step-3 but implements modifications to the messages in Step-2 as
followed:
a. Flip Bit 0 in the CRC before 4b5b encoding
b. Flip Bit 0 in the CRC after 4b5b encoding
c. After generating the CRC, flip Bit 0 of the packet payload before 4b5b encoding
d. After generating the CRC and the 4b5b encoding, flip Bit 0 of the packet payload
e. After the 4b5b encoding, replace the third 5b symbol of the Message Header with
11111b (a reserved 5b symbol).
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 57
Consumer Provider DRP, C/P Cable VPD
Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 58
7. Check that signal voltages on the CC line of -300mV and 1500mV are not modified at the
receiver input by more than the tester tolerances may produce. The actual test method is left to
the discretion of the implementer. [TEST.PD.PHY.ALL.9#4]
Except for cable plug, end test here.
8. For Cable Plug only:
The Tester applies Rp (4.7kΩ to 3.3V) and Rd (5.1kΩ to 0V), but not VCONN or VBUS to one cable
end.
9. Check that signal voltages on the CC line of -300mV and 1500mV are not modified at the
receiver input by more than the tester tolerances may produce. The actual test method is left to
the discretion of the implementer. [TEST.PD.PHY.ALL.9#5]
10. Repeat last two steps at other end of Cable.
The tests in this subsection are applicable to UUT with VIF field VIF_Product_Type set to Port.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 59
b. The UUT has VIF field PD_Port_Type set to Consumer/Provider, each test under this
section need to be run twice, first time the Tester behaves as a Source only and it runs
bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2; second time the
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a BIST request to the UUT, specifying “BIST Test
Data”.
3. The Tester waits 15ms to respond to messages from the UUT.
4. The Tester sends a Cable Reset signal.
5. The Tester waits 1.5 second, and the check fails if the UUT sends any message or removes VBUS.
[TEST.PD.PHY.PORT.1#1]
6. The Tester transmits Hard Reset flipping Bit 0 of the first two symbols (number 1&2).
7. The Tester waits 1.5 second and checks that the UUT does not send any message or removing
VBUS.
8. The Tester sends a Get_Sink_Cap message to the UUT.
9. The Tester waits for tSenderResponse and the check fails if the UUT sends a response to
Get_Sink_Cap message. [TEST.PD.PHY.PORT.1#2]
10. The Tester repeats Step-6 through Step-9 and uses all combinations of flipping Bit 0 of two
symbols (number 1&3, 1&4, 2&3, 2&4, 3&4) in Step-6.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 60
4 Protocol Specific Tests
This chapter describes tests that primary cover Chapters 6 and 8 requirements in the USB PD2
specifications.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 61
a. The UUT has VIF field PD_Port_Type set to Consumer Only. The Tester behaves as a
Source only and it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
b. The UUT has VIF field PD_Port_Type set to Consumer/Provider, each test under this
section need to be run twice, first time the Tester behaves as a Source only and it runs
bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2; second time the
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a message depending on the UUT type/role (first time):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
3. The Tester checks the response message depending on the UUT type/role:
a. If the UUT is a Cable Plug, the check fails if the UUT does not send a Discover Identity
ACK message. [TEST.PD.PROT.ALL.1#1]
b. If the UUT is a Sink, the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.1#2]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.1#3]
i. If the VIF field PD_Port_Type is set to Provider/Consumer, check that the UUT
sends a Sink Capabilities message.
ii. In PD2 mode, if the VIF field PD_Port_Type is set to Provider Only, check that
the UUT sends a Reject message.
iii. In PD3 mode, if the VIF field PD_Port_Type is set to Provider Only, check that
the UUT sends a Not_Supported message.
4. The Tester sends a GoodCRC with an incorrect CRC (flip bit 0 of the CRC before 4b5b encoding).
5. The Tester checks the behavior:
a. For Cable Plug UUT, the check fails if the UUT retransmits [TEST.PD.PROT.ALL.1#4]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 62
b. For Sink or Source UUT, the check fails if the UUT does not retransmit (Sink Capabilities,
Not Supported or Reject message) with the same MessageID (within tRetry of the
CRCReceiveTimer expiring), and the Tester responds with a valid GoodCRC.
[TEST.PD.PROT.ALL.1#5]
6. The Tester sends a message depending on the UUT type/role (second time):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
7. The Tester checks the response message depending on the UUT type/role:
a. If the UUT is a Cable Plug, the check fails if the UUT does not send a Discover Identity
ACK message. [TEST.PD.PROT.ALL.1#6]
b. If the UUT is a Sink, the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.1#7]
c. If the UUT is a Source, the check fails if the UUT does not send Sink Capabilities, Not
Supported or Reject message. [TEST.PD.PROT.ALL.1#8]
8. The Tester sends a GoodCRC with an incorrect MessageID (increment by one from the received
message).
9. The Tester checks the behavior:
a. For Cable Plug UUT, the check fails if the UUT retransmits [TEST.PD.PROT.ALL.1#9]
b. For Sink or Source UUT, the check fails if the UUT does not retransmit (Sink Capabilities,
Not Supported or Reject message) with the same MessageID (within tRetry of the
CRCReceiveTimer expiring). [TEST.PD.PROT.ALL.1#10]
10. For Cable Plug UUT, the test ends here. For Sink or Source UUT, the Tester repeats the previous
2 steps until the UUT has retransmitted the same MessageID for nRetryCount times.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 63
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 64
iii. In PD3 mode, if the VIF field PD_Port_Type is set to Provider Only, check that
the UUT sends a Not_Supported message.
4. The Tester does not send a GoodCRC.
5. The Tester checks the response message depending on the UUT type/role:
a. For Cable Plug UUT, the check fails if the UUT retransmits [TEST.PD.PROT.ALL.2#4]
b. For Sink or Source UUT, the check fails if the UUT does not retransmit (Sink Capabilities,
Not Supported or Reject message) with the same MessageID (within tRetry of the
CRCReceiveTimer expiring) for nRetryCount times. [TEST.PD.PROT.ALL.2#5]
6. The Tester checks the behavior depending on the UUT type/role:
a. If the UUT is a Cable Plug, the Tester waits 35ms and the check fails if the UUT sends a
Soft_Reset message or a Hard Reset signal. [TEST.PD.PROT.ALL.2#6]
b. If the UUT is a Sink
i. The check fails if the UUT does not transmit a Soft_Reset message.
[TEST.PD.PROT.ALL.2#7] The Tester responds with a valid GoodCRC.
ii. The Tester sends an Accept message.
iii. The Tester transmits Source Capabilities message with single PDO (5V @
100mA, Source only). The check fails if the UUT does not send a Request
message. [TEST.PD.PROT.ALL.2#8] The Tester establishes a PD contract using
common procedure COMMON.PROC.PD.10.
c. If the UUT is a Source
i. The check fails if the UUT does not transmit a Soft_Reset message.
[TEST.PD.PROT.ALL.2#9] The Tester responds with a valid GoodCRC.
ii. The Tester sends an Accept message.
iii. The check fails if the UUT does not send a Source Capabilities message.
[TEST.PD.PROT.ALL.2#10] The Tester establishes a PD contract using common
procedure COMMON.PROC.PD.11.
7. The Tester sends a message depending on the UUT type/role (second time):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
8. The Tester checks the behavior depending on the UUT type/role:
a. For Cable Plug UUT: the check fails if the UUT does not send a Discover Identity ACK
message. [TEST.PD.PROT.ALL.2#11]
b. For Sink UUT: the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.2#12]
c. For Source UUT: the check fails if the UUT does not send Sink Capabilities, Not
Supported or Reject message. [TEST.PD.PROT.ALL.2#13]
9. The Tester does not send a GoodCRC.
10. The Tester checks the response message depending on the UUT type/role:
a. For Cable Plug UUT, the check fails if the UUT retransmits [TEST.PD.PROT.ALL.2#14]
b. For Sink or Source UUT, the check fails if the UUT does not retransmit (Sink Capabilities,
Not Supported or Reject message) with the same MessageID (within tRetry of the
CRCReceiveTimer expiring) for nRetryCount times. [TEST.PD.PROT.ALL.2#15]
11. The Tester checks the behavior depending on the UUT type/role:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 65
a. If the UUT is a Cable Plug, check that the UUT does not send a Soft_Reset message or a
Hard Reset signal [TEST.PD.PROT.ALL.2#16]
b. If the UUT is a Sink or Source
i. The check fails if the UUT does not transmit a Soft_Reset message
[TEST.PD.PROT.ALL.2#17]
ii. The Tester does not send a GoodCRC to the Soft_Reset message.
iii. The check fails if the UUT does not retransmit (Soft_Reset message) with the
same MessageID (within tRetry of the CRCReceiveTimer expiring) for
nRetryCount times [TEST.PD.PROT.ALL.2#18].
iv. The check fails if the UUT does not transmit a Hard Reset
[TEST.PD.PROT.ALL.2#19].
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 66
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a message depending on the UUT type/role (using an incremented
MessageID):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
3. The Tester checks the response message (with an incremented MessageID) based on the UUT
type/role:
a. If the UUT is a Cable Plug, the check fails if the UUT does not send a Discover Identity
ACK message. [TEST.PD.PROT.ALL.3#1]
b. If the UUT is a Sink, the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.3#2]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.3#3]
i. If the VIF field PD_Port_Type is set to Provider/Consumer, check that the UUT
sends a Sink Capabilities message.
ii. In PD2 mode, if the VIF field PD_Port_Type is set to Provider only, check that the
UUT sends a Reject message.
d. In PD3 mode, if the VIF field PD_Port_Type is set to Provider only, check that the UUT
sends a Not_Supported message.
4. If MessageID in the last sent message is not 000b, the Tester repeats the previous 2 steps (i.e.
sending Discover Identity REQ or Get_Sink_cap and receiving response) until the MessageID in
the last sent message is 000b.
5. Immediately after sending GoodCRC (to the Discover ID ACK, Sink Capabilities or Reject), the
Tester sends a Soft Reset message after tInterframeGap. The check fails if the UUT does not
send an Accept message with MessageID 000b. [TEST.PD.PROT.ALL.3#4]
6. The Tester checks the response message depending on the UUT type/role:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 67
a. For Sink UUT, the Tester transmits Source Capabilities message with single PDO (5V @
100mA, Source only). The check fails if the UUT does not send a Request message.
[TEST.PD.PROT.ALL.3#5] The Tester establishes a PD using common procedure
COMMON.PROC.PD.10.
b. For Source UUT, the check fails if the UUT does not send a Source Capabilities.
[TEST.PD.PROT.ALL.3#6] Once the Tester receives Source Capabilities message, the
Tester establishes a PD contract using common procedure COMMON.PROC.PD.11.
7. The Tester sends a message depending on the UUT type/role:
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
8. The Tester checks the response message depending on the UUT type/role:
a. For Cable Plug UUT: the check fails if the UUT does not send a Discover Identity ACK
message. [TEST.PD.PROT.ALL.3#7]
b. For Sink UUT: the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.3#8]
c. For Source UUT: the check fails if the UUT does not send Sink Capabilities, Not
Supported or Reject message. [TEST.PD.PROT.ALL.3#9]
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 68
a. The UUT has VIF field PD_Port_Type set to Consumer Only. The Tester behaves as a
Source only and it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
b. The UUT has VIF field PD_Port_Type set to Consumer/Provider, each test under this
section need to be run twice, first time the Tester behaves as a Source only and it runs
bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2; second time the
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a message depending on the UUT type/role (using an incremented
MessageID):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
3. The Tester checks the response message (with an incremented MessageID) based on the UUT
type/role:
a. If the UUT is a Cable Plug, check that the UUT sends a Discover Identity ACK message.
[TEST.PD.PROT.ALL.4#1]
b. If the UUT is a Sink, check that the UUT sends a Sink Capabilities message.
[TEST.PD.PROT.ALL.4#2]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.4#3]
i. If the VIF field PD_Port_Type is set to Provider/Consumer or DRP, check that the
UUT sends a Sink Capabilities message.
ii. In PD2 mode, if the VIF field PD_Port_Type is set to Provider only, check that the
UUT sends a Reject message.
iii. In PD3 mode, if the VIF field PD_Port_Type is set to Provider only, check that the
UUT sends a Not_Supported message.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 69
4. If MessageID in the last sent message is not 000b, the Tester repeats the previous 2 steps (i.e.
sending Discover Identity REQ or Get_Sink_cap and receiving response) until the MessageID in
the last sent message is 000b.
5. Immediately after sending GoodCRC (to the Discover ID ACK, Sink Capabilities or Reject), the
Tester sends a Hard Reset signal after tInterframeGap (note that the second run through is a
Cable Reset signal for a Cable Plug UUT).
6. The test proceeds depending on the UUT type/role:
a. If the UUT is a Sink, the Tester drives VBUS to vSafe0V and then restores VBUS to
vSafe5V. The Tester transmits Source Capabilities message with single PDO (5V @
100mA, Source only) immediately prior to tTypeCSinkWaitCap min. The Tester checks
that the UUT sends a Request message. [TEST.PD.PROT.ALL.4#4] Once it receives a
Request message, it proceeds using common procedure COMMON.PROC.PD.10.
b. If the UUT is a Source:
i. The Tester checks that the UUT drives VBUS to vSafe0V and then restores VBUS
to vSafe5V. [TEST.PD.PROT.ALL.4#5]
ii. The check fails if Source Capabilities is not sent by the UUT within
tFirstSourceCap. [TEST.PD.PROT.ALL.4#6] Once the Tester receives Source
Capabilities message, the Tester establishes a PD contract using common
procedure COMMON.PROC.PD.11.
c. If the UUT is a Cable Plug, the Tester checks the response depending on the run
number. [TEST.PD.PROT.ALL.4#7]
i. If the Tester has sent a Hard Reset (first run), the Tester drives VBUS to vSafe0V
and then restores VBUS to vSafe5V. The Tester run VCONN power cycles
process. The Tester transmits Discover Identity REQ every tDiscoverIdentity until
either it receives a GoodCRC followed by a Discover Identity ACK or it has
transmitted Discover Identity REQ 3 times. The check fails when the Tester has
transmitted Discover Identity REQ for 3 times.
ii. If the Tester has sent a Cable Reset (second run), the Tester transmits Discover
Identity REQ every tDiscoverIdentity. The check fails if the UUT does not sends a
GoodCRC followed by a Discover Identity ACK.
7. The Tester sends a message depending on the UUT type/role (using an incremented
MessageID):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
8. The Tester checks the response message (with an incremented MessageID) based on the UUT
type/role:
a. If the UUT is a Cable Plug, check that the UUT sends a Discover Identity ACK message.
[TEST.PD.PROT.ALL.4#8]
b. If the UUT is a Sink, check that the UUT sends a Sink Capabilities message.
[TEST.PD.PROT.ALL.4#9]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.4#10]
i. If the VIF field PD_Port_Type is set to Provider/Consumer, check that the UUT
sends a Sink Capabilities message.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 70
ii. In PD2 mode, if the VIF field PD_Port_Type is set to Provider Only, check that
the UUT sends a Reject message.
iii. In PD3 mode, if the VIF field PD_Port_Type is set to Provider Only, check that
the UUT sends a Not_Supported message.
9. The Tester repeats Step-7 with the same MessageID.
10. The check fails if the UUT has sent a response message (either Discover Identity ACK, NAK or
BUSY, or Sink Capabilities or Reject) when the MessageID has been repeated.
[TEST.PD.PROT.ALL.4#11]
11. The Tester sends a message depending on the UUT type/role (using an incremented
MessageID):
a. If the UUT is a Cable Plug, the Tester sends a Discover Identity Request message.
b. If the UUT is a Source or Sink, the Tester sends a Get_Sink_Cap message.
12. The Tester checks the response message (with an incremented MessageID) based on the UUT
type/role:
a. For Cable Plug UUT: the check fails if the UUT does not send a Discover Identity ACK
message. [TEST.PD.PROT.ALL.4#12]
b. For Sink UUT: the check fails if the UUT does not send a Sink Capabilities message.
[TEST.PD.PROT.ALL.4#13]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.4#14]
i. If the VIF field PD_Port_Type is set to Provider/Consumer, check that the UUT
sends a Sink Capabilities message.
ii. In PD2 mode, if the VIF field PD_Port_Type is set to Provider only, check that the
UUT sends a Reject message.
iii. In PD3 mode, if the VIF field PD_Port_Type is set to Provider only, check that the
UUT sends a Not_Supported message.
13. If the UUT is a Cable Plug, the Tester repeats the test using Cable Reset (in lieu of Hard Reset).
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 71
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 72
3. The Tester checks the response message (with an incremented MessageID) based on the UUT
type/role:
a. For Cable Plug UUT, the check fails if the UUT does not ignore the message i.e. message
is received within tChunkReceiverRequest max. [TEST.PD.PROT.ALL.5#1]
b. For Source or Sink UUT, the check fails if the UUT does not send Reject message if in PD2
mode and Not_Supported message if in PD3 mode. [TEST.PD.PROT.ALL.5#2]
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 73
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. If VIF field Product_Type = Active Cable, the Tester sends a Discover Identity message to the
UUT, the checks fails if the UUT doesn’t respond with a Discover Identity ACK message.
[TEST.PD.PROT.ALL.3.1#1]
3. The Tester sends a Get_Status message to the UUT.
4. The Tester checks the response message depending on the UUT type/role:
a. If the UUT is a Cable Plug [TEST.PD.PROT.ALL3.1#2]
i. If the VIF field Product_Type = Active Cable, the Tester checks that the UUT
sends a Status message
ii. Otherwise, the Tester checks that the UUT sends either Ignore or Status
message
b. If the UUT is a Source or Sink, the check fails if the UUT does not respond with either
Not_Supported or Status message. [TEST.PD.PROT.ALL3.1#3]
5. The Tester runs additional check for the Status message: [TEST.PD.PROT.ALL3.1#4]
a. For the SOP SDB
i. Present Input field: Bit 0 = 0 (Reserved)
ii. Present Input field: Bits 5…7 (Reserved) are 0
iii. If Bit 3 (Internal Power from Battery) is 0 in Present Input field, then Present
Battery Input field shall be 0
iv. Event Flags field: Bit 0 and Bits 5...7 (Reserved) are 0
v. Event Flags field: Bit 3 OVT Event = 0 (Reserved)
vi. Temperature Status field: Bit 0, Bits 3…7 (Reserved) are 0
vii. Power Status field: Bit 0, Bits 6…7 (Reserved) are 0
viii. If Bit 2 (OTP event) is 1 in Event Flags field, then Temperature Status field shall
be set to 11b (Over Temperature)
b. For the SOP’/SOP’’ SDB
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 74
i. Flags field: Bits 1…7 = 0 (Reserved)
ii. Flags field Bit 0 ( not in Thermal Shutdown )
iii. VIF field Product_Type = Active Cable, the number reported in Internal Temp
field is less than the Shutdown Temperature reported in Active Cable VDO 2
iv. The number reported in Internal Temp field is either 0, or between 1 and 100
6. Except for VIF field VIF_Product_Type set to Cable, rerun the test with the bring-up procedures
in Step-1 with the Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request (RDO) or Source Capabilities PDO.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 75
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a Get_Manufacturer_Info message with Manufacturer Info Target set to 0.
3. The Tester checks the response message depending on the UUT type/role:
a. If the UUT is a Cable Plug: [TEST.PD.PROT.ALL3.2#1]
i. If VIF field Manufacturer_Info_Supported = Yes, then the Tester checks that the
UUT responds with a Manufacturer_Info message.
ii. Otherwise, the Tester checks that the UUT responds with an Ignore.
b. If the UUT is a Source or Sink: [TEST.PD.PROT.ALL3.2#2]
i. If VIF field Manufacturer_Info_Supported_Port = Yes, then the Tester checks
that the UUT responds with a Manufacturer_Info message.
ii. Otherwise, the Tester checks that the UUT responds with a Not_Supported
message.
4. The Tester runs the following VIF field checks for Manufacturer_Info message:
[TEST.PD.PROT.ALL3.2#3]
a. Manufacturer_Info_VID(_SOP)
b. Manufacturer_Info_PID(_SOP)
5. Except for VIF field VIF_Product_Type set to Cable, rerun the test with the bring-up procedures
in Step-1 with the Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request (RDO) or Source Capabilities PDO.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 76
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 77
b. VID field is not 0xFFFF
[TEST.PD.PROT.ALL3.3#3]
5. Except for VIF field VIF_Product_Type set to Cable, rerun the test with the bring-up procedures
in Step-1 with the Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request (RDO) or Source Capabilities PDO.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 78
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
f. The UUT has VIF field VIF_Product_Type set to Cable. The Tester runs bring-up
procedure with the UUT as a Cable Plug COMMON.PROC.BU.3
g. The UUT has VIF field VIF_Product_type set to Port Product and PD_Port_type set to
eMarker. The Tester runs bring-up procedure with the UUT as a VPD
COMMON.PROC.BU.10
2. The Tester sends a Get_Manufacturer_Info message with Manufacturer Info Target set to 1 and
Manufacturer Info Ref set to 8.
3. The Tester checks the response message depending on the UUT type/role:
a. If the UUT is a Cable Plug, the check fails if the UUT does not respond with either Ignore
or Manufacturer_Info message. [TEST.PD.PROT.ALL3.4#1]
b. If the UUT is a Source or Sink, the check fails if the UUT does not respond with either
Not_Supported or Manufacturer_Info message. [TEST.PD.PROT.ALL3.4#2]
4. The Tester veries Manufacturer_Info message: the check fails if :
a. Manufacturer String in Manufacturer Info Data Block is not null terminated ASCII text
string "Not Supported"
b. VID field is not 0xFFFF
[TEST.PD.PROT.ALL3.4#3]
5. Except for VIF field VIF_Product_Type set to Cable, rerun the test with the bring-up procedures
in Step-1 with the Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request (RDO) or Source Capabilities PDO.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 79
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 80
i. The check fails if Sink or Source UUT does not respond with either
Not_Supported or a request for a Chunk of Data Block message.
ii. If a Not_Supported message is received, the test ends here.
1. The check fails if VIF field Chunking_Implemented_SOP = YES
2. The check fails if Not_Supported message is not received between
tChunkingNotSupported min and tChunkingNotSupported max
iii. If a request for a Chunk of the Data Block is received
1. The check fails if a request for a Chunk of a Data Block is not received
within tChunkReceiverRequest max
2. The check fails if VIF field Chunking_Implemented_SOP = NO
c. The check fails if this is not the first chunk and the UUT does not respond with a request
for chunk message. If the UUT does not respond with a request for chunk message, the
test stops here. Else, upon receipt of a request response from the UUT, the Tester sends
the requested chunk to the UUT. This step is repeated until the Tester has sent all 10
chunk messages. The Tester runs the following additional checks on the request chunk
message: [TEST.PD.PROT.ALL3.5#3]
i. For Message Header
1. Bit 15 Extended bit = 1
2. Bits 14…12 Number of Data Objects = 1
3. Bits 4…0 Message Type = 11111b
ii. For Extended Message Header
1. Bits 14…11 Chunk Number = next chunk in the series
2. Bit 10 Request Chunk = 1
3. Bits 8…0 Data Size = 0
4. The Tester check fails if:
a. The UUT is a Source or Sink, and it does not send a Not Supported message within
tReceiverResponse after it has requested the 10 chunk messages.
b. The UUT is a Cable Marker, and it does not ignore the completed Extended message
[TEST.PD.PROT.ALL3.5#4]
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 81
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 82
iii. The check fails if a request for a Chunk of a Data Block is received, and it is not
received within tChunkReceiverRequest max.
c. The test stops here if the UUT does not respond with a request for chunk message.
Upon receipt of a request response from the UUT, the Tester sends the requested chunk
to the UUT. This step is repeated until the Tester has sent 4 chunk messages and it
intentionally does not send the 5th chunk message to the UUT.
d. The Tester runs the following additional checks the request chunk message:
[TEST.PD.PROT.ALL3.6#3]
i. For Message Header
1. Number of Data Objects = 1
2. Message Type = 11111b
ii. For Extended Message Header
1. Bits 14…11 Chunk Number = next chunk in the series
2. Bit 10 Request Chunk = 1
3. Bits 8…0 Data Size = 0
4. The Tester waits for tChunkSenderResponse max + 5 ms and then it sends the first chunk
message to the UUT.
5. The tester checks the response
a. If the UUT is a Cable Plug, the check fails if the UUT does not respond with either Ignore
or a request for a Chunk of Data Block message. [TEST.PD.PROT.ALL3.6#4]
b. If the UUT is a Source or Sink, the Tester checks the response [TEST.PD.PROT.ALL3.6#5]
i. The check fails if Sink or Source UUT does not respond with either
Not_Supported or a request for a Chunk of Data Block message.
ii. The check fails if a Not_Supported message received, it is not received between
tChunkingNotSupported min and tChunkingNotSupported max
iii. The check fails if a request for a Chunk of a Data Block is received, it is not
received within tChunkReceiverRequest max.
c. Upon receipt of the response from the UUT, the Tester sends the requested chunk to
the UUT.
d. The Tester runs the following additional checks on the request chunk message:
[TEST.PD.PROT.ALL3.6#6]
i. For Message Header
1. Number of Data Objects = 1
2. Message Type = 11111b
ii. For Extended Message Header
1. Bits 14…11 Chunk Number = next chunk in the series
2. Bit 10 Request Chunk = 1
3. Bits 8…0 Data Size = 0
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 83
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 84
a. If VIF field Security_Msgs_Supported(_SOP) is set to NO, the Tester checks that the UUT
replies Not_Supported (if VIF field VIF_Product_Type not set to Cable) or Ignored (if VIF
field VIF_Product_Type set to Cable). The test stops here. [TEST.PD.PROT.ALL3.7#1]
b. If VIF field Security_Msgs_Supported(_SOP) is set to YES, the Tester checks a
Security_Response message is received within tDigestSent (different values for
Unchunked and Chunked). [TEST.PD.PROT.ALL3.7#2]. In this case, the UUT shall also run
Authentication Compliance tests in CV.
The tests in this subsection are applicable to UUT with VIF field VIF_Product_Type set to Port.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 85
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a Get_Source_Cap_Extended message to the
UUT.
3. The check fails if the UUT does not send either Not_Supported or Source_Capabilities_Extended
message. [TEST.PD.PROT.PORT3.1#1]
4. The Tester sends a Get_Battery_Status message to the UUT, with Battery Status Ref field set to
0.
5. The check fails if the UUT does not send either Not_Supported or Battery_Status message.
[TEST.PD.PROT.PORT3.1#2]
6. If the UUT has sent Not_Supported as a response to Get_Battery_Status, the Tester checks the
response: [TEST.PD.PROT.PORT3.1#3]
a. The check fails if the UUT has sent Source_Capabilities_Extended message as a response
to Get_Source_Cap_Extended and the Number of Batteries/Battery Slots field in the
message has non-zero value
b. The check fails if the UUT has sent Not_Supported message as a response to
Get_Source_Cap_Extended and the values of VIF fields Num_Fixed_Batteries and
Num_Swappable_Battery_Slots are non-zero.
7. The Tester runs the following additional field checks for Battery_Status message:
[TEST.PD.PROT.PORT3.1#4]
a. Bits 7…0 of the BSDO are 0
b. Battery Info field:
i. Bits 7...4 (Reserved) are 0
ii. Bit 0 (Invalid Battery Reference field):
1. If Source_Capabilities_Extended is received as a response to
Get_Source_Cap_Extended, check against Number of Batteries/Battery
Slots field in the message
2. Check against VIF fields Num_Fixed_Batteries and
Num_Swappable_Battery_Slots
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 86
iii. If Bit 0 (Invalid Battery Reference bit) is 0b and Battery Status Ref field (in the
Get_Battery_Status Message) has a value between 0 and 3, then check that the
Bit 1 (Battery is Present bit) is set to 1b
iv. If Bit 0 (Invalid Battery Reference bit) is 1b, then check that the Bit 1 (Battery is
Present bit) is set to 0b
v. If Bit 1 (Battery is Present bit) is set to 1b, then check that Bits 3…2 (Battery
Charging Status field) is not 11b
vi. If Bit 1 (Battery is Present bit) is set to 0b, then check that Bits 3…2 (Battery
Charging Status field) is 00b
8. Rerun steps 6 and 7 with Battery Status Ref (in the Get_Battery_Status message) set to 1 – 7
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 87
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a Get_Source_Cap_Extended message to the
UUT.
3. The check fails if the UUT does not send either Not_Supported or Source_Capabilities_Extended
message. [TEST.PD.PROT.PORT3.2#1]
4. The Tester sends a Get_Battery_Status message with Battery Status Ref field set to 8.
5. The check fails if the UUT does not send either Not_Supported or Battery_Status message.
[TEST.PD.PROT.PORT3.2#2]
6. If the UUT has sent Not_Supported as a response to Get_Battery_Status, the Tester check the
response: [TEST.PD.PROT.PORT3.2#3]
a. The check fails if the UUT has sent Source_Capabilities_Extended message as a response
to Get_Source_Cap_Extended and the Number of Batteries/Battery Slots field in the
message has non-zero value
b. The check fails if the UUT has sent Not_Supported message as a response to
Get_Source_Cap_Extended and the values of VIF fields Num_Fixed_Batteries and
Num_Swappable_Battery_Slots are non-zero.
7. The Tester runs the following additional field checks for Battery_Status message:
[TEST.PD.PROT.PORT3.2#4]
a. Bits 7..0 of the BSDO are 0
b. Battery Info field:
i. Check that Bit 0 (Invalid Battery Reference field) is 1b
ii. Check that Bits 7..1 are 0
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 88
a. The UUT has VIF field PD_Port_Type set to Consumer Only. The Tester behaves as a
Source only and it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
b. The UUT has VIF field PD_Port_Type set to Consumer/Provider, each test under this
section need to be run twice, first time the Tester behaves as a Source only and it runs
bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2; second time the
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a Get_Source_Cap_Extended message to the
UUT.
3. The check fails if the UUT does not send either Not_Supported or Source_Capabilities_Extended
message. [TEST.PD.PROT.PORT3.3#1]
4. The Tester sends a Get_Battery_Cap message to the UUT, with Battery Cap Ref field set to 0.
5. The Tester checks the response [TEST.PD.PROT.PORT3.3#2]
a. If either Num_Fixed_Batteries is not set to 0 or Num_Swappable_Battery_Slots is not
set to 0, the Tester checks that the UUT sends Battery_Capabilities message
b. Otherwise, the Tester checks that the UUT sends Not_Supported
6. The Tester runs the following additional field checks for Battery_Capabilities message:
[TEST.PD.PROT.PORT3.3#3]
a. Battery Type field:
i. Check that Bit 0 (Invalid Battery Reference field) matches:
1. If Source_Capabilities_Extended is received as a response to
Get_Source_Cap_Extended, check against Number of Batteries/Battery
Slots field in the message
2. If Not_Supported message is received as a response to
Get_Source_Cap_Extended, check against VIF fields
Num_Fixed_Batteries and Num_Swappable_Battery_Slots
ii. Check that Bits 1…7 are 0
7. Rerun steps 6 and 7 with Battery Cap Ref (in the Get_Battery_Capabilities message) set to 1 – 7
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 89
8. Rerun the test with the bring-up procedures in Step-1 with the Unchunked Extended Messages
Supported field set to 1b in the Tester sent Request (RDO) or Source Capabilities PDO.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 90
3. The check fails if the UUT does not send either Not_Supported or Source_Capabilities_Extended
message. [TEST.PD.PROT.PORT3.4#1]
4. The Tester sends a Get_Battery_Cap message to the UUT, with Battery Cap Ref field set to 8.
5. The check fails if the UUT does not send either Not_Supported or Battery_Capabilities message.
[TEST.PD.PROT.PORT3.4#2]
6. The Tester runs the following additional field checks for Battery_Capabilities message:
[TEST.PD.PROT.PORT3.4#3]
a. Battery Type field:
i. Check that Bit 0 (Invalid Battery Reference field) is 1b
ii. Check that Bits 1…7 are 0
7. Rerun the test with the bring-up procedures in Step-1 with the Unchunked Extended Messages
Supported field set to 1b in the Tester sent Request (RDO) or Source Capabilities PDO.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 91
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a Get_Country_Codes message to the UUT.
3. The check fails if the UUT does not send either Not_Supported or Country_Codes message.
[TEST.PD.PROT.PORT3.5#1]
4. The Tester runs the following additional field checks for CCDB: [TEST.PD.PROT.PORT3.5#2]
a. Length = (Data Size) / 2 - 1
b. All other bytes are ascii codes of capital letters (65 - 90 inclusive)
5. Rerun the test with the bring-up procedures in Step-1 with the Unchunked Extended Messages
Supported field set to 1b in the Tester sent Request (RDO) or Source Capabilities PDO.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 92
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
2. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends a Get_Country_Codes message to the UUT.
3. The check fails if the UUT does not send either Not_Supported or Country_Codes message.
[TEST.PD.PROT.PORT3.6#1]
4. If a Not_Supported message is received, the test stops here. Otherwise, the Tester sends a
Get_Country_Info message to the UUT.
5. The check fails if the UUT does not send Country_Info message. [TEST.PD.PROT.PORT3.6#2]
6. The Tester runs the following additional field checks for CIDB: [TEST.PD.PROT.PORT3.6#3]
a. Country Code field (Byte 0 and Byte 1) is the same as that in the Get_Country_Info
message sent by the Tester
b. Byte 2 and Byte 3 (Reserved) are 0
7. Rerun the test with the bring-up procedures in Step-1 with the Unchunked Extended Messages
Supported field set to 1b in the Tester sent Request (RDO) or Source Capabilities PDO.
TEST.PD.PROT.PORT3.7 Unchunked_Extended_Messages_Supported
Description: The Tester verifies that that if Unchunked_Extended_Messages_Supported is set to yes, the
UUT can receive Extended Messages with Data Size > MaxExtendedMsgLegacyLen bytes in a single,
Unchunked Message.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 93
2. There are 5 possible bring-up procedures:
a. The UUT has VIF field PD_Port_Type set to Consumer Only. The Tester behaves as a
Source only and it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
b. The UUT has VIF field PD_Port_Type set to Consumer/Provider, each test under this
section need to be run twice, first time the Tester behaves as a Source only and it runs
bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2; second time the
Tester behaves as a Provider/Consumer and it runs bring-up procedure with the UUT as
a Source COMMON.PROC.BU.7 (Dual-Role Power bit B29 in the single PDO is set to 1b).
c. The UUT has VIF field PD_Port_Type set to Provider Only. The Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
d. The UUT has VIF field PD_Port_Type set to Provider/Consumer, each test under this
section need to be run twice, first time the Tester behaves as a Consumer/Provider and
it runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.8; second time
the Tester behaves as a Sink Only and it runs bring-up procedure with the UUT as a
Source COMMON.PROC.BU.1 (Dual-Role Power bit B29 in the single PDO is set to 1b).
e. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be
run twice, first time the Tester behaves as a Source only and it runs bring-up procedure
with the UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink
only and it runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1
(Dual-Role Power bit B29 in the single PDO is set to 0b).
3. The UUT has VIF field PD_Port_Type set to DRP, each test under this section needs to be run
twice, first time the Tester behaves as a Source only and it runs bring-up procedure with the
UUT as a Sink COMMON.PROC.BU.2; second time the Tester behaves as a Sink only and it runs
bring-up procedure with the The Tester sends an extended message to the UUT, with Data Size
set to 260 and Message Type set to 11111b. Bytes 0 to 259 of data block contain incrementing
values (mod 256) starting at 0x00.
4. If a GoodCRC is not received, the check fails. [TEST.PD.PROT.PORT3.7#1]
5. If a Not_Supported message is not received within tReceiverResponse max, the check fails. This
delay is measured from the time the last bit of the extended message EOP has been transmitted
to the time the first bit of the Not_Supported message preamble has been received.
[TEST.PD.PROT.PORT3.7#2]
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Provider Only,
Provider/Consumer and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 94
The Tester always accepts VCONN_Swap COMMON.PROC.PD.6
The Tester always provides a NAK response for Discover Identity COMMON.PROC.PD.7
The Tester always provides a NAK response for Discover SVIDs COMMON.PROC.PD.8
Test Conditions:
Consumer Provider
Only Only, C/P,
DRP, P/C
Rev2Src ✓
Rev3Src ✓
Test Procedures:
4. Once the Tester receives Source Capabilities message, the Tester establishes a PD contract using
common procedure COMMON.PROC.PD.11.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 95
Test Procedures:
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓
Test Procedures:
2. The Tester applies Rd and it waits for VBUS for tNoResponse max.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC.3#1]
4. The Tester responds with a Request message at the deadline limit of tSenderResponse min after
the GoodCRC message.
a. The check fails if the UUT does not send an Accept message
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 96
TEST.PD.PROT.SRC.4 Reject Request
Description: As a Sink, the Tester requests 200% of the offered current or power under the terms of
each PDO on the UUT, and verifies the request is rejected by the UUT.
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓
Test Procedures:
2. The Tester applies Rd and it waits for VBUS for tNoResponse max.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC.4#1]
4. The Tester sends a Request (starting from the first PDO), requesting 200% of the current or
power offered.
6. Restart the test from Step 1 by sending Request to the next PDO.
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 97
1. The test starts in a disconnected state.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC.5#1]
4. The Tester sends a Request message using the VIF field Num_Src_PDOs:
5. The check fails if the UUT does not respond with a Reject message. [TEST.PD.PROT.SRC.5#2]
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓
Test Procedures:
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC.6#1]
6. The Tester sends an Accept message to the UUT (as a response to Soft_Reset message).
7. The check fails if a Source Capabilities message with a MessageID = 1 is not received within
tTypeCSinkWaitCap max from the last bit of the EOP of the GoodCRC message.
[TEST.PD.PROT.SRC.6#3]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 98
TEST.PD.PROT.SRC.7 DR_Swap
Description: As a Sink, the Tester sends a DR_Swap message, and verifies that the UUT responds
correctly.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
c. The check fails if the UUT responds with an Accept message and the VIF field
DR_Swap_To_UFP_Supported = No.
5. If VIF DR_SWAP_To_UFP_Supported=N, test ends here. Otherwise, the Tester requests a further
DR_Swap.
6. The Tester checks the response. [TEST.PD.PROT.SRC.7#2]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 99
a. If the UUT responds with a Wait message and the Tester resends DR_Swap every
tDRSwapWait + 15ms for 10 times. The check fails and the test ends here if the Tester
has resent DR_Swap for 10 times.
b. The check fails if
i. In PD2, the UUT responds with a Reject message and the VIF field
DR_Swap_To_DFP_Supported = Yes.
ii. In PD3, the UUT responds with either
1. Not_Supported and (the VIF fields DR_Swap_To_DFP_Supported = Yes
or the VIF fields DR_Swap_To_UFP_Supported = Yes) or
2. Reject and the VIF fields DR_Swap_To_DFP_Supported = Yes
c. The check fails if the UUT responds with an Accept message and the VIF field
DR_Swap_To_DFP_Supported = No.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
The Tester keeps monitoring the VConn voltage throughout this test.
2. If VIF field Captive_Cable = No, the Tester presents Ra to the non-CC line (of the UUT). If a SOP'
Discover Identity message is received from the UUT, the Tester replies as Passive Cable with
Vbus Current Handling Capability set to 5A and Maximum Vbus Voltage set to 50V.
3. The Tester sends a VCONN_Swap message.
4. The Tester checks the response. [TEST.PD.PROT.SRC.8#1]
a. If the UUT responds with a Wait message:
i. The check fails if the UUT responds with a Wait message in PD3 mode and the
Test stops here.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 100
ii. If the UUT responds with a Wait message in PD2 mode, the Tester resends
VCONN_Swap every tVCONNSwapWait + 15ms for 10 times. The check fails and
the test ends here if the Tester has resent VCONN_Swap for 10 times in PD2
mode.
b. If the UUT responds with an Accept message, the Tester checks that
VCONN_Swap_To_Off_Supported = YES
c. If the UUT responds with a Reject message:
i. The check fails in PD3 mode
ii. The Tester checks VCONN_Swap_To_Off_Supported = NO
iii. The test stops here
d. If the UUT responds with a Not_Supported message:
i. The check fails in PD2 mode
ii. The Tester checks VCONN_Swap_To_Off_Supported = NO
iii. The check fails if the UUT ever sourced VConn
iv. The Test stops here
5. The Tester sends a PS_RDY message.
6. The Tester checks that the UUT does not present VCONN at the non-CC line within
tVCONNSourceOff. [TEST.PD.PROT.SRC.8#2]
7. The Tester sends another VCONN_Swap.
8. The Tester checks the response. [TEST.PD.PROT.SRC.8#3]
a. If the UUT responds with a Wait message and the Tester resends VCONN_Swap every
tVCONNSwapWait + 15ms for 10 times. The check fails and the test ends here if the
Tester has resent VCONN_Swap for 10 times.
b. The check fails if the UUT responds with Reject message and the VIF field
VCONN_Swap_To_On_Supported = Yes. The test ends here.
c. The check fails if the UUT responds with Not_Supported. The test ends here.
d. The check fails if the UUT responds with an Accept message and the VIF field
VCONN_Swap_To_On_Supported = No. The test ends here.
9. The Tester checks that the UUT sends a PS_RDY message within tVCONNSourceOn.
[TEST.PD.PROT.SRC.8#4]
10. If the VIF field Type_C_Sources_VCONN = NO, the Tester checks that VCONN is not present at
the non-CC line. [TEST.PD.PROT.SRC.8#5]
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 101
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 102
b. The check fails if the UUT responds with a Reject message and that the VIF field
Accept_PR_Swap_As_Snk = Yes.
c. The check fails if the UUT responds with an Accept message and that the VIF field
Accept_PR_Swap_As_Snk = No.
d. The check fails if the UUT response with a Not_Supported message.
13. At tSrcTransition max (this delay is from the last bit of GoodCRC sent in response to the Accept),
the Tester drives the VBUS voltage to vSafe0V within tSrcSwapStdby max.
14. The Tester sends a PS_RDY at the deadline limit of tPSSourceOff min, the delay is from the time
the last bit of the EOP of the GoodCRC corresponding to the Accept message.
15. The tester checks that UUT asserts Rp before the UUT has applied vSafe5V
[TEST.PD.PROT.SRC.9#6]
16. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[TEST.PD.PROT.SRC.9#7]
17. The Tester checks that the PS_RDY from the UUT is within tPSSourceOn min.
[TEST.PD.PROT.SRC.9#8] This delay is from the GoodCRC sent by the UUT in response to the
PS_RDY sent by the Tester.
18. The Tester checks that the UUT sends a Source Capabilities message after tSwapSourceStart and
before tFirstSourceCap max. [TEST.PD.PROT.SRC.9#9].
19. The Tester waits for 5 second period to check correct usage of Rp, and the Tester replies any
message sent from the UUT with a proper response.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 103
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Source COMMON.PROC.BU.1.
2. The Tester sends a PR_Swap message.
3. The Tester checks the response. [TEST.PD.PROT.SRC.10#1]
a. If the UUT responds with a Wait message and the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has resent PR_Swap for 10 times,
the check fails, and the test ends here.
b. If the UUT responds with Reject or Not_Supported (PD3 mode only), check that the VIF
field PD_Port_Type is set to “Provider only” or VIF field Accepts_PR_Swap_As_Src is set
to No. The test ends here.
c. The check fails if the UUT responds with an Accept message and the VIF field
PD_Port_Type is not set to either “Provider/Consumer” or “DRP”. The test ends here.
4. The Tester draws no more than iSwapStandby within tSrcTransition min after it has sent the last
GoodCRC.
5. The Tester checks the response: [TEST.PD.PROT.SRC.10#2]
a. The check fails if the UUT does not send a PS_RDY message after the UUT driving VBUS
voltage to vSafe0V
b. The check fails if the UUT does not send PS_RDY within tSrcTransition max plus
tSrcSwapStdby max after the last bit of GoodCRC was sent in response to the received
Accept.
6. The Tester presents vSafe5V on VBUS but does not send a PS_RDY message, in order to force a
PSSourceOnTimer timeout on the UUT.
7. A USB Type-C Error Recovery is expected from the UUT. The Tester checks the response:
[TEST.PD.PROT.SRC.10#3]
a. The check fails if a USB Type-C Error Recovery is detected before tPSSourceOn min after
the time the last bit of the EOP of the GoodCRC Message corresponding to the received
PS_RDY message.
b. The check fails if a USB Type-C Error Recovery is not detected within tPSSourceOn max
after the last bit of the EOP of the GoodCRC Message corresponding to the received
PS_RDY message.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 104
Test Procedures:
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 105
TEST.PD.PROT.SRC.13 PR_Swap – GoodCRC not sent in Response to PS_RDY
Description: As a new Source, the Tester intentionally does not reply GoodCRC message to the PS_RDY
message after a PR_Swap in order to force the UUT to do an Error Recovery and verifies it is correctly
implemented.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 106
7. A USB Type-C Error Recovery is expected from the UUT. The check fails if a USB Type-C Error
Recovery is not detected within 15ms after the last bit of the EOP of the last retried PS_RDY
Message. [TEST.PD.PROT.SRC.13#3]
The tests in this subsection are applicable to Source capable UUT with VIF field PD_Port_Type set to
Provider Only, Provider/Consumer and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓
Test Procedures:
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC3.1#1]
4. Upon receipt of the first Source Capabilities message from the Source UUT, the Tester
intentionally does not reply with a GoodCRC message and waits for the next Source Capabilities
message. The Tester does not reply with a GoodCRC message for the duration of this test.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 107
5. The tester sets the value of a variable tTESTSourceCapabilityTimer to 0.
6. Upon receipt of the Source Capabilities message (the Tester does not reply with a GoodCRC) the
Tester measures the delay from the last bit of the last Source Capabilities message EOP to the
first bit of the preamble of the Source Capabilities message received just now. If the delay is
larger than tTESTSourceCapabilityTimer, sets the value of tTESTSourceCapabilityTimer to the
delay.
7. Repeat Step-6 until the Tester has received the fifth Source Capabilities message.
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓
Test Procedures:
2. The Tester applies Rd and it waits for VBUS for tNoResponse max.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC3.2#1]
4. The Tester intentionally does not send a Request message and waits for a Hard Reset.
5. The Tester checks that a Hard Reset is detected between tSenderResponse min and max, the
delay is between the last bit of the GoodCRC message EOP has been sent and the first bit of
Hard Reset SOP has been received. [TEST.PD.PROT.SRC3.2#2]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 108
TEST.PD.PROT.SRC3.3 Get_Source_Cap_Extended Response
Description: As a Sink, the Tester verifies that the Source UUT responds correctly to
Get_Source_Cap_Extended message.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 109
a. The UUT has VIF field PD_Port_Type set to Consumer/Provider, the Tester runs bring-up
procedure with the UUT as a Source COMMON.PROC.BU.7.
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Source COMMON.PROC.BU.1.
2. The Tester sends an Alert message to the UUT with Type of Alert field = Source Input Change
Event (Bit 5).
3. The test stops here when one of the following conditions happens:
a. A Not_Supported message is received as a response to the last Alert message.
b. A Get_ Status message is not received within 500 ms after the last Alert message was
sent
4. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 110
5. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 111
1. There are 2 possible bring-up procedures:
a. The UUT has VIF field PD_Port_Type set to Consumer/Provider, the Tester runs bring-up
procedure with the Consumer-Provider as Source UUT PPS COMMON.PROC.BU.9.
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Source for PPS test COMMON.PROC.BU.4.
2. The Tester sends a Get_PPS_Status message to the UUT.
3. The check fails if the Tester does not receive PPS_Status message. [TEST.PD.PROT.SRC3.7#1]
4. The Tester runs the following additional field checks for the PPSSDB: [TEST.PD.PROT.SRC3.7#2]
a. Output Voltage field shall be within ±3% of the actual output voltage rounded to the
nearest 20mV or 0xFFFF
d. Bit 0 shall be 0
5. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 112
2. The check fails if a Hard Reset is received within tPPSRequest max. [TEST.PD.PROT.SRC3.8#1]
The delay is measured from the time the last bit of the EOP of the GoodCRC Message sent by
the UUT in response to the previous Request message to the time the first bit of the Hard Reset
is received.
3. The Tester sends the second Request message to request the Programmable Power Supply
APDO at 4V 1A, tPPSRequest max after the previous Request message. The check fails if the
Tester cannot send the second Request message at tPPSRequest max because the UUT has
presented SinkTxNG. [TEST.PD.PROT.SRC3.8#2]
4. The check fails if the UUT does not respond with an Accept message and then a PS_RDY
message. [TEST.PD.PROT.SRC3.8#3]
5. The check fails if a Hard Reset is received within tPPSRequest max. [TEST.PD.PROT.SRC3.8#4]
The delay is measured from the time the last bit of the EOP of the GoodCRC Message sent by
the UUT in response to the second Request Message to the time the first bit of the Hard Reset is
received.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 113
the EOP of the GoodCRC Message sent by the UUT in response to the previous Request Message
to the time the first bit of the preamble of the Hard Reset is received.
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 114
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓
Test Procedures:
2. The Tester applies Rd and it waits for VBUS for tNoResponse max.
3. The check fails if the first bit of a Source Capabilities message is not received from the UUT
within tFirstSourceCap max after VBUS present. [TEST.PD.PROT.SRC3.11#1]
4. The Tester sends a GoodCRC (acknowledging the Source Capabilities message) with Specification
Revision set to 00b. The check fails if the UUT retransmits the Source Capabilities message.
[TEST.PD.PROT.SRC3.11#2]
5. Repeat the test with Specification Revision in GoodCRC set to 01b and 10b.
Test Conditions:
Consumer Provider
Only Only, DRP,
P/C, C/P
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 115
b. If FR_Swap_Reqd_Type_C_Current_As_Initial_Source field (in the VIF) is nonzero value,
the Tester checks that that PD_Port_Type field (in the VIF) is not set to Provider Only.
The check fails if a Hard Reset is not received within tProtErrHardReset max. The delay is
measured from the time the last bit of the EOP of the GoodCRC message sent by the
UUT in response to the FR_Swap message to the time the first bit of the Hard Reset is
received.
Test Conditions:
Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓
Test Procedures:
2. If VIF field Captive_Cable = Yes, the test stops here. Otherwise (VIF field Captive_Cable = No),
the Tester applies Rd and Ra, and it waits for VBUS present.
3. The Tester checks the response:
a. If a SOP' Discover Identity message is received from the UUT, the Tester replies as
Passive Cable with Vbus Current Handling Capability set to 5A and Maximum Vbus
Voltage set to 50V.
b. Without receiving a SOP' Discover Identity message from the UUT, the check fails if the
UUT sends Source Capabilities offering currents in excess of 3A and/or voltages in excess
of 20V. The test stops here. [TEST.PD.PROT.SRC3.13#1]
5. The Tester applies Rd and Ra, and it waits for VBUS present.
6. The Tester checks the response:
a. If a SOP' Discover Identity message is received, the Tester replies as Passive Cable with
Vbus Current Handling Capability set to 3A and Maximum Vbus Voltage set to 20V.
b. The check fails if the UUT sends Source Capabilities offering currents in excess of 3A
and/or voltages in excess of 20V. [TEST.PD.PROT.SRC3.13#2]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 116
8. The Tester applies Rd but does not present Ra, and it waits for VBUS present.
9. The Tester checks the response. [TEST.PD.PROT.SRC3.13#3]
b. The check fails if the UUT sends Source Capabilities offering currents in excess of 3A
and/or voltages in excess of 20V
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Consumer Only,
Consumer/Provider and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Consumer Provider
Only, DRP, Only
P/C, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 117
2. The Tester sends a Get_Sink_Cap message to the UUT. The Tester continues to present
SinkTxNG while waiting for a response if the test is running in PD3 mode.
3. The check fails if the UUT does not send Sink Capabilities message. [TEST.PD.PROT.SNK.1#1]
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 118
Rev3Snk ✓
Test Procedures:
3. The Tester transmits Source Capabilities message with single PDO immediately prior to
tTypeCSinkWaitCap min (the delay is from the time VBUS present vSafe5V min to the last bit of
Source Capabilities message EOP):
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 119
a. The UUT has VIF field PD_Port_Type set to Provider/Consumer, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.8
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a Hard Reset. It drives VBUS to vSafe0V and then restores VBUS to vSafe5V.
3. The Tester does not send a Source Capabilities message after cycling the VBUS to force a
SinkWaitCaptTimer timeout on the UUT.
4. The check fails if the UUT does not send a Hard Reset between tTypeCSinkWaitCap min and
max. [TEST.PD.PROT.SNK.4#1] The delay is between the VBUS present vSafe5V min and the time
of the first bit of Preamble of the Hard Reset sent by the UUT.
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
1. There are 2 possible bring-up procedures:
a. The UUT has VIF field PD_Port_Type set to Provider/Consumer, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.8
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 120
4. The Tester sends an Accept message at the deadline limit of tSenderResponse min after the
GoodCRC message. This delay is measured from the time the last bit of the GoodCRC message
has been transmitted to the time the last bit of the Accept message has been transmitted.
5. The check fails if a Hard Reset is detected before tSenderResponse max after the GoodCRC
message sent in respond to the Request message. [TEST.PD.PROT.SNK.5#1]
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
1. There are 2 possible bring-up procedures:
a. The UUT has VIF field PD_Port_Type set to Provider/Consumer, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.8
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 121
TEST.PD.PROT.SNK.7 PSTransitionTimer Timeout
Description: The Tester does not send the PS_RDY message after the Accept message is sent to the UUT,
in order to force a PSTransitionTimer timeout on the UUT and verifies it is correctly implemented.
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
2. The Tester transmits Source Capabilities message with single PDO (5V @ 100mA, Source only).
3. The Tester continues to present SinkTxNG while waiting for a response if the test is running in
PD3 mode. The check fails if a Request message is not received from the UUT.
[TEST.PD.PROT.SNK.7#1]
4. The Tester responds with an Accept message to the Request message.
5. The Tester does not send a PS_RDY message.
6. The check fails if a Hard Reset is not detected within tPStransition min and tPStransition max.
[TEST.PD.PROT.SNK.7#2] The delay is between the last bit of the Accept message EOP and the
first bit of Preamble of the Hard Reset sent by the UUT.
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 122
Test Procedures:
3. The Tester transmits Source Capabilities message with single PDO immediately prior to
tTypeCSinkWaitCap min
6. The check fails if a Soft_Reset message is not received within tProtErrSoftReset max.
[TEST.PD.PROT.SNK.8#2]
8. The Tester sends Source Capabilities message to the UUT repeatedly until nCapsCount is
reached or a GoodCRC is received. The check fails if nCapsCount is reached.
9. The check fails if the UUT does not respond with a Request message. [TEST.PD.PROT.SNK.8#3]
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 123
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 124
a. The UUT has VIF field PD_Port_Type set to Provider/Consumer, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.8
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester requests a DR_Swap. The Tester continues to present SinkTxNG while waiting for a
response if the test is running in PD3 mode.
3. The Tester checks the response. [TEST.PD.PROT.SNK.10#1]
a. If the UUT responds with a Wait message, the Tester resends DR_Swap every
tDRSwapWait + 15ms for 10 times. The check fails if the Tester has resent DR_Swap for
10 times and the test ends here.
b. The check fails if
i. In PD2, the UUT responds with a Reject message and the VIF field
DR_Swap_To_DFP_Supported = Yes.
ii. In PD3, the UUT responds with either
1. Not_Supported and (the VIF field DR_Swap_To_DFP_Supported = Yes or
the VIF field DR_Swap_To_UFP_Supported = Yes) or
2. Reject and the VIF field DR_Swap_To_DFP_Supported = Yes
c. The check fails if the UUT responds with an Accept message and the VIF field
DR_Swap_To_DFP_Supported = No.
4. If VIF field DR_Swap_To_DFP_Supportd=N, the test ends here. Otherwise, the Tester requests a
further DR_Swap.
5. The Tester checks the response. [TEST.PD.PROT.SNK.10#2]
a. If the UUT responds with a Wait message, the Tester resends DR_Swap every
tDRSwapWait + 15ms for 10 times. The check fails if the Tester has resent DR_Swap for
10 times.
b. The check fails if
i. In PD2, the UUT responds with a Reject message and the VIF field
DR_Swap_To_UFP_Supported = Yes.
ii. In PD3, the UUT responds with either
1. Not_Supported and (the VIF fields DR_Swap_To_UFP_Supported = Yes
or the VIF fields DR_Swap_To_DFP_Supported = Yes) or
2. Reject and the VIF fields DR_Swap_To_UFP_Supported = Yes
c. The UUT responds with an Accept message and the VIF field
DR_Swap_To_UFP_Supported = No.
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 125
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 126
Test Specific Tester Behavior:
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 127
b. The check fails if a USB Type-C Error Recovery is detected within tPSSourceOff min after
the last bit of the EOP of the GoodCRC Message corresponding to the received Accept
message.
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 128
5. The Tester presents Rd on the CC wire. The Tester sends a PS_RDY at the deadline limit of
tPSSourceOff min, the delay is from the time the last bit of the EOP of the GoodCRC
corresponding to the Accept message.
6. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[TEST.PD.PROT.SNK.13#2]
7. The check fails if the PS_RDY from the UUT is not sent within tPSSourceOn min.
[TEST.PD.PROT.SNK.13#3] This delay is from the GoodCRC sent by the UUT in response to the
PS_RDY sent by the Tester.
8. The Tester checks that the UUT sends a Source Capabilities message after tSwapSourceStart
min. [TEST.PD.PROT.SNK.13#4]
9. Once the Tester receives Source Capabilities message, the Tester establishes a PD contract using
common procedure COMMON.PROC.PD.11.
10. The Tester waits 500ms to respond to messages from the UUT.
11. The Tester sends a Get_Source_Cap message to the UUT.
12. The check fails if the Tester does not receive Source Capabilities message.
[TEST.PD.PROT.SNK.13#5]
13. The Tester intentionally does not send a Request message and waits for a Hard Reset.
14. The Tester checks that a Hard Reset is detected between tSenderResponse min and max, the
delay is between the last bit of the GoodCRC message EOP has been sent and the first bit of
Hard Reset SOP has been received. [TEST.PD.PROT.SNK.13#6]
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Consumer Only,
Consumer/Provider and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
TEST.PD.PROT.SNK3.1 Get_Source_Cap_Extended
Description: The Tester verifies that the Sink UUT responds correctly to Get_Source_Cap_Extended
message.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 129
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3ChkdSnk ✓
Rev3UnchkdSnk ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 130
2. The Tester sends an Alert message to the UUT with Type of Alert field = OTP event (Bit 3).
3. The Tester presents SinkTxOK.
4. The test stops here when one of the following conditions happens:
a. A Not_Supported message is received as a response to the last Alert message
b. A Get_ Status message is received as a response to the last Alert message
c. No Get_ Status message is received within 500 ms after the last Alert message was sent
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3ChkdSnk ✓
Rev3UnchkdSnk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 131
Test Specific Tester Behavior: N/A
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3Snk ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 132
3. The check fails if a Request message is not received within tPPSRequest max.
[TEST.PD.PROT.SNK3.5#1] The delay is measured from the time the last bit of the EOP of the
GoodCRC Message sent by the Tester in response to the previous Request Message to the time
the first bit of the Preamble of the new Request Message is received.
4. The Tester runs the following additional field checks on the Request Data Object:
[TEST.PD.PROT.SNK3.5#2]
a. Object Position field is 2.
Test Conditions:
Consumer Provider
Only, C/P, Only, P/C
DRP
Rev3Snk ✓
Test Procedures:
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
5. The Tester sets the Specification Revision (in the Message Header) to 11b and transmits Source
Capabilities message with single PDO:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 133
6. Repeat Step-5 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least nCapsCount times.
7. The check fails if a Request message is not received from the UUT. [TEST.PD.PROT.SNK3.7#1]
Test Conditions:
Consumer Provider
Only, C/P, Only, P/C
DRP
Rev3Snk ✓
Test Procedures:
3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.
6. Repeat Step-5 if the Tester does not receive a GoodCRC from the UUT in response to Source
Capabilities message. This requires a delay of tTypeCSendSourceCap (100 ms to 200 ms). This
sequence is repeated at least nCapsCount times.
7. The check fails if the UUT does not respond with a Request message. [TEST.PD.PROT.SNK3.8#1]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 134
8. The Tester sends a GoodCRC (acknowledging the Request message) with Specification Revision
set to 00b. The check fails if the UUT retransmits the Request message.
[TEST.PD.PROT.SNK3.8#2]
9. Repeat the test with Specification Revision in GoodCRC set to 01b and 10b.
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Provider Only,
Provider/Consumer and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 135
i. The check fails if the UUT does not respond with “Responder NAK” or Ignore
response.
ii. The check fails if the VIF fields Responds_To_Discov_SOP_DFP = NO and
Responds_To_Discov_SOP_UFP = YES, and the UUT does not respond with
“Responder NAK”.
iii. The check fails if the VIF fields Responds_To_Discov_SOP_DFP = NO and
Responds_To_Discov_SOP_UFP = NO, and the UUT does not respond with
Ignore.
b. In PD3 mode, the Tester checks the response as follow: [TEST.PD.VDM.SRC.1#2]
i. The check fails if the UUT responds with anything but a Discover ID Response
message or Not_Supported, and the Tester has resent Discover ID Request
tVDMBusy min after it is in PE_SRC_RDY for 10 times.
ii. The check fails if the UUT responds with a “Responder BUSY” message, and the
Tester has resent Discover ID Request for 10 times every tVDMBusy min
iii. The check fails if the UUT responds with a “Responder ACK” message and VIF
field Responds_To_Discov_SOP_DFP = No.
iv. The check fails if the VIF fields Responds_To_Discov_SOP_DFP = NO and
Responds_To_Discov_SOP_UFP = YES, and the UUT does not respond with
“Responder NAK”.
v. The check fails if the VIF fields Responds_To_Discov_SOP_DFP = NO and
Responds_To_Discov_SOP_UFP = NO, and the UUT does not respond with
Not_Supported.
c. If the UUT sends a “Responder ACK” message, the Tester performs the following check
on the “Responder ACK” message: [TEST.PD.VDM.SRC.1#3]
i. ID Header VDO:
1. The check fails if B31 does not match VIF field
Data_Capable_as_USB_Host_SOP
2. The check fails if B30 does not match VIF field
Data_Capable_as_USB_Device_SOP
3. The check fails if B29…27 does not match VIF field
Product_Type_UFP_SOP. In PD2 mode, check that this field (Product
Type UFP) is set to Undefined if VIF Product_Type_UFP_SOP is PSD.
4. The check fails if B26 does not match VIF field
Modal_Operation_Supported_SOP
5. In PD3, the check fails if B25…23 does not match VIF field
Product_Type_DFP_SOP
6. In PD3, the check fails if B22…21 does not match VIF field
ID_Header_Connector_Type
7. In PD3, the check fails if B20…16 is not set to zero
8. In PD2, the check fails if B25…16 is not set to zero
9. The check fails if B15…0 does not match VIF field USB_VID_SOP
ii. The check fails if Cert Stat VDO does not match VIF field XID_SOP
iii. The check fails if Product VDO does not match VIF fields PID_SOP and
bcdDevice_SOP
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 136
4. The Tester sends an Attention Request message to the UUT.
5. The Tester waits for tSenderResponse and the check fails if the UUT sends an Attention
Response message (ACK, NAK or BUSY). [TEST.PD.VDM.SRC.1#4]
Test Conditions:
Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Consumer Only,
Consumer/Provider and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 137
The Tester always accepts VCONN_Swap COMMON.PROC.PD.6
The Tester always provides a NAK response for Discover Identity COMMON.PROC.PD.7
The Tester always provides a NAK response for Discover SVIDs COMMON.PROC.PD.8
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 138
iii. The check fails if B29…27 does not match VIF field Product_Type_UFP_SOP
iv. The check fails if B26 does not match VIF field
Modal_Operation_Supported_SOP
v. In PD3 mode, the check fails if B25…23 does not match VIF field
Product_Type_DFP_SOP
vi. In PD3, the check fails if B22…21 does not match VIF field
ID_Header_Connector_Type
vii. In PD3 mode, the check fails if B20…16 is not set to zero
viii. In PD2 mode, the check fails if B25…16 is not set to zero
ix. The check fails if B15…0 does not match VIF field USB_VID_SOP
b. The check fails if Cert Stat VDO does not match VIF field XID_SOP
c. The check fails if Product VDO does not match VIF fields PID_SOP and bcdDevice_SOP
5. The Tester sends a Discover SVIDs Request to the UUT, using SOP. The Tester checks the
response. [TEST.PD.VDM.SNK.1#3]
a. The check fails if the UUT responds with either Not_Supported or Ignore. The test stops
here.
b. If the UUT interrupts the Discovery Process (by responding with anything but a Discover
SVIDs Response message), the Tester resends Discover SVID Request tVDMBusy min
after it is in PE_SNK_RDY for 10 times. The check fails and the test ends here if the
Tester has resent Discover ID Request for 10 times.
c. If the UUT responds a “Responder BUSY” message, the Tester resends Discover SVIDs
Request for 10 times every tVDMBusy min. Once the Tester has repeated Discover SVIDs
for 10 times, the check fails, and test stops here.
d. If the UUT responds with a “Responder NAK” message, the Tester checks that VIF field
Modal_Operation_Supported_SOP = No.
e. If the UUT responds with a “Responder ACK” message, the Tester checks that VIF field
Modal_Operation_Supported_SOP = Yes.
6. The Tester evaluates the number of SVIDs in the Discover SVIDs ACK message and checks the
following: [TEST.PD.VDM.SNK.1#4]
a. Each discovered SVID appears in VIF list SVID<X>_SOP. SVID’s position in the VDO is
checked according to SVID_Fixed_SOP value in VIF.
i. If SVID_Fixed_SOP is set to YES, the order of SVIDs in the VDO matches the
order of SVID<X>_SOP in VIF.
ii. If SVID_Fixed_SOP is set to NO, each SVID in the VDO list can be in any position
in the VIF’s SVID<X>_SOP list.
b. The number of SVIDs discovered lies between Num_SVIDs_min_SOP and
Num_SVIDs_max_SOP.
c. For each VDO, the Tester checks if B15…0 (SVID n+1) are set to zeros, this marks the last
VDO.
d. For each VDO, the Tester checks if B31…16 (SVID n) are set to zeros, then B15…0 shall
also be zeros and this marks the last VDO.
e. If the Discover SVIDs ACK message has 6 VDOs, and B15…0 in VDO 6 is non-zero, then
repeat Step-3 until the Tester finds the last VDO.
7. For each SVID:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 139
a. The Tester sends a Discover Modes Request to the UUT, using SOP.
b. The Tester checks the response: [TEST.PD.VDM.SNK.1#5]
i. The check fails if the UUT responds with either Not_Supported or Ignore. The
test stops here.
ii. If the UUT interrupts the Discovery Process (by responding with anything but a
Discover Modes Response message), the Tester resends Discover SVID Request
tVDMBusy min after it is in PE_SNK_RDY for 10 times. The check fails and the
test ends here if the Tester has resent Discover ID Request for 10 times.
iii. If the UUT responds a "Responder BUSY" message, the Tester resends Discover
Modes Request for 10 times every tVDMBusy min. Once the Tester has
repeated Discover SVIDs for 10 times, the check fails, and test stops here.
iv. If the UUT responds with a "Responder NAK" message, the Tester checks that
Modal_Operation_Supported_SOP = No.
v. If the UUT responds with a "Responder ACK" message, the Tester checks that
Modal_Operation_Supported_SOP = Yes.
vi. The number of Modes discovered lies between SVID<X>_Num_Modes_Min_SOP
and SVID<X>_Num_Modes_Max_SOP.
vii. Check that each Mode discovered matches one of the VIF list
SVID<X>_Mode<Y>_SOP. The procedure for matching them is as follows:
1. If SVID<X>_Modes_Fixed_SOP is set to YES, the match is done by simply
comparing the value in the VDO with the corresponding value in the
SVID<X>_Mode<Y>_Recog_Value_SOP. Both lists should be in the same
sequence.
2. If SVID<X>_Modes_Fixed_SOP is set to NO, the value in the VDO is
bitwise ANDed with each SVID<X>_mode<Y>_Recog_Mask_SOP and the
result is compared with the corresponding
SVID<X>_Mode<Y>_Recog_Value_SOP in turn until a match is found..
8. For every Mode in each SVID:
a. The Tester sends Enter Mode to the UUT, using SOP.
b. The Tester checks the response. [TEST.PD.VDM.SNK.1#6]
i. If the UUT responds with “Responder BUSY”, the check fails.
ii. The check fails if the UUT responds with “Responder NAK” to the corresponding
SVID<X>_mode<Y>_enter_SOP = Yes.
iii. If the UUT responds with “Responder ACK” to Enter Mode, the Tester then
sends an Exit Mode Request to the UUT using SOP. The check fails if the UUT
does not respond with “Responder ACK” to Exit Mode.
9. The Tester sends an Attention Request message to the UUT.
10. The Tester waits for tSenderResponse and the check fails if the UUT sends an Attention
Response message (ACK, NAK or BUSY). [TEST.PD.VDM.SNK.1#7]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 140
Test Specific Tester Behavior: N/A
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
Test Conditions:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 141
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 142
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a Discover ID Request to the UUT, using SOP.
3. The Tester sends a Discover SVIDs Request using SOP packet immediately after tInterFrameGap
has expired, the delay is from the last bit of the EOP of the UUT sent GoodCRC.
4. The Tester checks the response: [TEST.PD.VDM.SNK.4#1]
a. If the UUT responds with either Not_Supported (in PD3 mode) or Ignore (in PD2 mode),
the Tester checks that the UUT does not support Structured VDMs. The test ends here.
b. If the UUT interrupts the Discovery Process (by responding with anything but a Discover
SVIDs Response message), the Tester responds with appropriate response message and
then resends Discover SVID Request tVDMBusy min after it is in PE_SNK_RDY for 10
times. The check fails and the test ends here if the Tester has resent Discover SVID
Request for 10 times.
c. If the UUT does not respond with a “Discover SVID Responder ACK/NAK/BUSY”, the
check fails.
d. If the UUT responds with a “Discover ID Responder ACK/NAK/BUSY” message, the check
fails.
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 143
after it is in PE_SNK_RDY for 10 times. The check fails and the test ends here if the
Tester has resent Discover ID Request for 10 times.
c. If the UUT responds with a BUSY message, the Tester resends Discover SVIDs Request
for 10 times every tVDMBusy min. Once the Tester has repeated Discover SVIDs Request
for 10 times, the check fails and the test ends here.
d. If the UUT responds with a “Responder NAK” message, the Tester checks that VIF field
Modal_Operation_Supported_SOP = No. The test ends here.
e. If the UUT responds with a “Responder ACK” message, the Tester checks that VIF field
Modal_Operation_Supported_SOP = Yes.
4. The test ends here if the UUT does not send Discover SVIDs ACK message.
5. For each SVID
a. The Tester sends a Discover Modes Request to the UUT, using SOP.
b. The Tester checks the response: [TEST.PD.VDM.SNK.5#2]
i. The check fails if a response message (ACK, NAK or BUSY) is not sent.
ii. If the UUT responds with a BUSY message, the Tester resends Discover Modes
Request for 10 times every tVDMBusy min. Once the Tester has repeated
Discover Modes Request for 10 times, the check fails.
iii. The check fails if the UUT does not responds with a Discover Modes ACK
message using SOP.
6. For any first found Mode<Y> in the SVID<X> where SVID<X>_mode<Y>_enter = Yes in the VIF
file:
a. The Tester sends Enter Mode to the UUT, using SOP.
b. The Tester checks the response: [TEST.PD.VDM.SNK.5#3]
i. The check fails if a response message (ACK or NAK) is not sent.
ii. If the UUT responds with an Enter Mode NAK, the test ends here
c. If the UUT responds with an Enter Mode ACK, the Tester sends a DR_Swap using SOP
packet. The check fails if Hard Reset is not received within tDRSwapHardReset.
[TEST.PD.VDM.SNK.5#4]
Test Conditions:
Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 144
1. There are 2 possible bring-up procedures:
a. The UUT has VIF field PD_Port_Type set to Provider/Consumer, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.8
b. The UUT has VIF field PD_Port_Type set to anything else, the Tester runs bring-up
procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a Discover ID Request to the UUT, using SOP. The Structured VDM Version field
in the VDM Header is set to 3.
3. The Tester checks the response [TEST.PD.VDM.SNK.6#1]
a. If the UUT responds with either Not_Supported (in PD3 mode) or Ignore (in PD2 mode),
the Tester checks that VIF fields Responds_To_Discov_SOP_UFP = NO and
Responds_To_Discov_SOP_DFP = NO.
b. Otherwise (either VIF fields Responds_To_Discov_SOP_UFP = Yes or
Responds_To_Discov_SOP_DFP = Yes), the Tester checks that a response message (ACK,
NAK or BUSY) is sent.
Test Conditions:
Consumer Provider
Only, C/P , Only
P/C, DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 145
4.7 Structured VDM Test Procedures for Cable Plug UUT
4.7.1 PD2 and PD3 Modes
The tests in this subsection are run firstly in PD2 mode and secondly in PD3 mode.
The tests in this subsection are applicable to UUT with VIF fields:
VIF_Product_Type = Cable OR
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 146
The check fails if the Number of Data Objects is not 5.
ii. In PD3 mode
If Product Type (ID Header B29…27) = Passive Cable, the check
fails if the Number of Data Objects is not 5.
If Product Type (ID Header B29…27) = Active Cable, the check
fails if the Number of Data Objects is not 6.
If Product Type (ID Header B29…27) = VPD, the check fails if the
Number of Data Objects is not 5.
iii. ID Header VDO:
1. The check fails if B31 does not match VIF field
Data_Capable_as_USB_Host
2. The check fails if B30 does not match VIF field
Data_Capable_as_USB_Device
3. The check fails if B29…27 does not match VIF field Product_Type
4. The check fails if B26 does not match VIF field
Modal_Operation_Supported
5. In PD2, the check fails if B25…16 is not set to zero
6. In PD3, the check fails if B25…23 is not set to zero
7. In PD3, the check fails if B22…21 does not match VIF field
ID_Header_Connector_Type
8. In PD3, the check fails if B20…16 is not set to zero
9. The check fails if B15…0 does not match VIF field USB_VID
iv. The check fails if Cert Stat VDO does not match VIF field XID
v. The check fails if Product VDO does not match VIF fields PID and bcdDevice
vi. Passive Cable VDO consistency:
1. B31…28: Cable_HW_Vers
2. B27…24: Cable_FW_Vers
3. B23…21:
a. In PD2 mode: Reserved 000b
b. In PD3 mode: VDO Version is 000b
4. B20: Reserved 0b
5. B19…18:
a. In PD2 mode: Type_C_To_Type_A_B_C
b. In PD3 mode: Type_C_To_Type_C_Capt_Vdm_V2
6. B16…13 Cable_Latency
7. B12…11 Cable_Termination_Type
8. In PD2 mode: B10…7: Any Value Permitted
9. In PD3 mode
a. B10…9: Max_VBUS_Voltage
b. B8…7: Reserved 00b
10. B6…5
a. In PD2: VBUS_through_cable is YES: Cable_VBUS_Current
b. In PD2: VBUS_through_cable is NO: (Reserved) 00b
c. In PD3: (Reserved) 00b
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 147
11. B4
a. In PD2: VBUS_through_cable
b. In PD3: (Reserved) 0b
12. B3 (Reserved) 0b
13. B2…0 Cable_Superspeed_Support (in PD2 only)
14. B2…0 Cable_USB_Highest_Speed (in PD3 only)
vii. Active Cable VDO consistency (in PD2) or Active Cable VDO 1 consistency (in
PD3)
1. B31…28: Cable_HW_Vers
2. B27…24: Cable_FW_Vers
3. B23…21:
a. In PD2: Reserved 000b
b. In PD3: VDO Version is 011b
4. B20: Reserved 0b
5. B19…18:
a. In PD2: Type_C_To_Type_A_B_C
b. In PD3: Type_C_To_Type_C_Capt_Vdm_V2
6. B16…13 Cable_Latency
7. B12…11 Cable_Termination_Type
8. In PD2: B10…7: Any Value Permitted
9. In PD3:
a. B10…9: Max_VBUS_Voltage
b. B8: SBU_Supported
c. B7: SBU Active
10. B6…5
a. If VBUS_Through_ Cable is NO, Reserved 00b
b. If VBUS_Through_ Cable is YES, Cable_VBUS_Current
11. B4 VBUS_through_cable
12. B3 Cable_SOP''_controller
13. B2…0 Cable_Superspeed_Support (in PD2 only)
14. B2…0 Cable_USB_Highest_Speed (in PD3 only)
viii. Active Cable VDO 2 consistency in PD3
1. B31…24 Act_Cab_Max_Op_Temp
2. B23…16 Act_Cab_ShutDn_Temp
3. B15 Reserved 0b
4. B14…12 Act_Cab_U3_CLd_Power
5. B11 Act_Cab_U3_U0_Trans_Mode
6. B10 Act_Cab_Phys_Connect
7. B9 Act_Cab_Active_Elem
8. B8 Act_Cab_USB4_Supp
9. B7…6 Act_Cab_USB_2_0_Hub_Hops
10. B5 Act_Cab_USB_2_0_Supp
11. B4 Act_Cab_USB_3_2_Supp
12. B3 Act_Cab_USB_Lanes
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 148
13. B2 Act_Cab_Opt_Isol
14. B1 Reserved 0b
15. B0 Act_Cab_USB_Gen
ix. VPD consistency in PD3
1. B31…28 VPD_HW_Vers
2. B27…24 VPD_FW_Vers
3. B23…21 VDO Version is 000b
4. B20…17 Reserved 0000b
5. B16…15 VPD_Max_VBUS_Voltage
6. B14
a. VPD_Charge_Through_Support = 1:
VPD_Charge_Through_Current
b. VPD_Charge_Through_Support = 0: Reserved 0b
7. B13 Reserved 0b
8. B12…7
a. VPD_Charge_Through_Support = 1: VPD_VBUS_Impedance
b. VPD_Charge_Through_Support = 0: Reserved 000000b
9. B6…1
a. VPD_Charge_Through_Support = 1: VPD_Ground_Impedance
b. VPD_Charge_Through_Support = 0: Reserved 000000b
10. B0 VPD_Charge_Through_Support
4. The Tester sends a Discover SVIDs Request to the UUT, using SOP’. The Tester checks the
response message: [TEST.PD.VDM.CBL.1#2]
e. The check fails if the UUT responds anything but a Discover SVIDs Response message.
f. If the UUT responds with “Responder BUSY” message, the Tester resends Discover SVIDs
Request for 10 times every tVDMBusy min. Once the Tester has repeated Discover SVIDs
for 10 times, the check fails, and the test ends here.
g. If the UUT responds with a "Responder NAK" message, the check fails if VIF field
Modal_Operation_Supported = YES. The test ends here.
h. If the UUT responds with a "Responder ACK" message, the check fails if VIF field
Modal_Operation_Supported = NO.
5. The Tester evaluates the number of SVIDs in the Discover SVIDs ACK message and checks the
following: [TEST.PD.VDM.CBL.1#3]
i. Each discovered SVID appears in VIF list SVID<X>. SVID’s position in the VDO is checked
according to SVID_Fixed value in VIF.
i. If SVID_Fixed is set to YES, the order of SVIDs in the VDO matches the order of
SVID<X> in VIF.
ii. If SVID_Fixed is set to NO, each SVID in the VDO list can be in any position in the
VIF’s SVID<X> list.
j. The number of SVIDs discovered lies between Num_SVIDs_min and Num_SVIDs_max.
k. For each VDO, the Tester checks if B15…0 (SVID n+1) are set to zeros, this marks the last
VDO.
l. For each VDO, the Tester checks if B31…16 (SVID n) are set to zeros, then B15…0 shall
also be zeros and this marks the last VDO.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 149
m. If the Discover SVIDs ACK message has 6 VDOs, and B15…0 in VDO 6 is non-zero, then
repeat Step-4 until the Tester finds the last VDO.
6. For each SVID:
n. The Tester sends a Discover Modes Request to the UUT, using SOP’.
o. The Tester checks the response: [TEST.PD.VDM.CBL.1#4]
i. The check fails if the UUT responds anything but a Discover Modes Response
message.
ii. If the UUT responds with “Responder BUSY” message, the Tester resends
Discover Modes Request for 10 times every tVDMBusy min. Once the Tester has
repeated Discover Modes for 10 times, the check fails and the test ends here.
iii. If the UUT responds with a "Responder ACK" message, the check fails if VIF field
Modal_Operation_Supported = NO.
iv. The number of Modes discovered lies between SVID<X>_Num_Modes_Min and
SVID<X>_Num_Modes_Max.
v. If the UUT responds with a "Responder NAK" message, the check fails if VIF field
Modal_Operation_Supported = YES. The test ends here.
vi. Check that each Mode discovered matches one of the VIF list
SVID<X>_Mode<Y>. The procedure for matching them is as follows:
1. If SVID<X>_Modes_Fixed is set to YES, the match is done by simply
comparing the value in the VDO with the corresponding value in the
SVID<X>_Mode<Y>_Recog_Value. Both lists should be in the same
sequence.
2. If SVID<X>_Modes_Fixed is set to NO, the value in the VDO is bitwise
ANDed with each SVID<X>_mode<Y>_Recog_Mask and the result is
compared with the corresponding SVID<X>_Mode<Y>_Recog_Value in
turn until a match is found.
7. For every Mode in each SVID:
p. The Tester sends Enter Mode to the UUT, using SOP’.
q. The Tester checks the response: [TEST.PD.VDM.CBL.1#5]
i. If the UUT responds with “Responder BUSY”, the check fails.
ii. The check fails if the UUT responds with “Responder NAK” to the corresponding
SVID<X>_mode<Y>_enter = Yes. If the UUT responds with “Responder ACK” to
Enter Mode, the Tester then sends an Exit Mode Request to the UUT. The check
fails if the UUT does not respond with “Responder ACK” to Exit Mode.
8. The Tester sends Attention to the UUT. The check fails if the UUT does not ignore the message.
[TEST.PD.VDM.CBL.1#6]
The tests in this subsection are applicable to UUT with VIF field VIF_Product_Type set to Cable.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 150
TEST.PD.VDM.CBL3.1 Revision Number Test
Description: As a Source, the Tester sends Discover ID REQ message with the Message Header
containing a higher revision number than that supported and the UUT responds using the highest
supported revision number.
Test Conditions:
Test Procedures:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 151
5 Power Supply Specific Tests
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 152
5.1 Test Procedures for Source Capable UUT
5.1.1 PD2 and PD3 Modes
The tests in this subsection are run firstly in PD2 mode and secondly in PD3 mode.
The tests in this subsection are applicable to UUT with VIF field PD_Port_Type set to Provider Only,
Provider/Consumer and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Consumer Provider
Only, C/P Only, P/C,
DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Source COMMON.BU.PD.1.
2. The Tester repeats the following steps for each of the PDOs (in the Source Capabilities message),
starting with the first PDO:
a. If the next Request will be for a PPS transition involving a current decrease (but no PDO
change), the Tester reduces its current draw to the new level required, before sending
the Request. (This avoids the current limit in the UUT shutting off VBUS.) The Tester
draws the requested Operating Current / Power with a current transition slew rate of
100mA per µs. The Tester monitors VBUS voltage and the check fails if VBUS voltage is
not within the limits of vSrcNew. [TEST.PD.PS.SRC.1#9]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 153
iii. B25 (USB Communication Capable) = 0b
The initial Request is for PDO #1 (5V Fixed) at 0mA. The complete list of Requests is
defined in step 4f.
2. For PPS:
The current was already reduced in step 4a.
ii. If the transition involves a current increase (but no PDO change), the Tester
increases current to the new value after the last bit of the GoodCRC sent in
response to the PS_RDY message. The Tester draws the requested Operating
Current / Power with a current transition slew rate of 100mA per µs. The Tester
monitors VBUS voltage and the check fails if VBUS voltage is not within the
limits of vSrcNew. [TEST.PD.PS.SRC.1#2]
iii. If the transition involves a change of PDO, decrease the power drawn by the
Tester to less than pSnkStdby within tSnkStdby of the last bit of the GoodCRC
sent in response to the Accept message. The Tester performs the following
checks:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 154
1. The Tester checks that VBUS remains within vSrcNew of the starting
voltage within tSrcTransition min after the end of the GoodCRC sent in
response to the Accept message. [TEST.PD.PS.SRC.1#3]
2. The Tester checks that the VBUS transition meets vSrcSlewPos and
vSrcSlewNeg. [TEST.PD.PS.SRC.1#4]
3. During the voltage transition, the Tester checks that the VBUS voltage
remains within vSrcValid limits from the time of crossing into the
vSrcValid limits until tSrcSettle max. [TEST.PD.PS.SRC.1#5]
4. The Tester checks that the VBUS voltage remains within vSrcNew limits
between tSrcSettle max and 100ms after tSrcSettle max.
[TEST.PD.PS.SRC.1#6]
5. The Tester checks that the UUT does not send PS_RDY before VBUS is
within vSrcNew. [TEST.PD.PS.SRC.1#7]
7. The Tester checks that the VBUS voltage remains within vSrcNew limits
as the current load is applied and for 100ms after receiving PR_Swap,
with the provision that during the load transition VBUS voltage may
deviate within vSrcValid for a maximum of tSrcTransient.
[TEST.PD.PS.SRC.1#8]
f. The Tester repeats Step-2a to Step-2e, replacing the appropriate fields with the next
value from the following list. The Tester sends 9 separate Request messages for each
PDO (7 separate Request messages for PPS):
i. For Fixed, Battery and Variable PDOs, replace B19…10 (Operating Current /
Power):
1. 0mA / 0mW
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 155
3. 50% of Maximum Current / Power in the Source PDO
9. 0mA / 0mW
Test Conditions:
Consumer Provider
Only, C/P Only, P/C,
DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Source COMMON.BU.PD.1.
2. The Tester repeats the following steps using the PDO as provided in the PDO Sequence Table:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 156
i. B27 (GiveBack Flag) = 0b
Decrease the power drawn by the Tester to less than pSnkStdby within tSnkStdby min of
the last bit of the GoodCRC sent in response to the Accept message. The Tester
performs the following checks:
1. The Tester checks the VBUS is within vSrcNew of the starting voltage
within tSrcTransition min after the end of the GoodCRC sent in response
to the Accept message. [TEST.PD.PS.SRC.2#3]
2. The Tester checks that the VBUS transition meets vSrcSlewPos and
vSrcSlewNeg. [TEST.PD.PS.SRC.2#4]
3. During the voltage transition, the Tester checks that the VBUS voltage
remains within vSrcValid limits from the time of crossing into the
vSrcValid limits until tSrcSettle max. [TEST.PD.PS.SRC.2#5]
4. The Tester checks that the VBUS voltage is within vSrcNew limits
between tSrcSettle max and 100ms after tSrcSettle max.
[TEST.PD.PS.SRC.2#6]
5. The Tester checks that the UUT does not send PS_RDY before the VBUS
is within vSrcNew. [TEST.PD.PS.SRC.2#7]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 157
TEST.PD.PS.SRC.3 Initial Source PDO Transition Post PR Swap
Description: The Tester verifies that after a PR_Swap, the new Sink UUT responds correctly to a new
Source Capabilities messages
Test Conditions:
Consumer Provider
Only, C/P Only, P/C,
DRP
Rev2Src ✓
Rev3Src ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Source COMMON.PROC.BU.1.
2. The Tester sends a PR_Swap message.
3. The Tester checks the response. [TEST.PD.PS.SRC.3#1]
a. If the UUT responds with a Wait message and the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has resent PR_Swap for 10
times, the check fails, and the test ends here.
b. The check fails and the test ends here if the UUT responds with a Reject
message or Not_Supported (PD3 only), and the VIF field PD_Port_Type is not set
to “Provider Only”.
c. The check fails if the UUT responds with an Accept message and the VIF field
PD_Port_Type is not set to either “Provider/Consumer” or “DRP”.
4. After this point the Tester shall Reject any PR_Swap request.
5. The Tester draws no more than iSwapStandby within tSrcTransition min after it has sent
the last GoodCRC.
6. The Tester checks that the UUT sends a PS_RDY message after the UUT driving VBUS
voltage to vSafe0V. [TEST.PD.PS.SRC.3#2]
7. The Tester checks that the UUT sends PS_RDY within tSrcTransition max plus
tSrcSwapStdby max after the last bit of GoodCRC was sent in response to the received
Accept. [TEST.PD.PS.SRC.3#3]
8. The Tester presents vSafe5V on VBUS and then it sends a PS_RDY message, both within
tNewSRC max of the last GoodCRC sent by the UUT.
9. The Tester transmits a Source Capabilities message with the Capabilities as defined in
COMMON.PROC.PD.2 Paragraph 2c. (as these will have been the Source Capabilities
returned if the UUT has requested them during the PR_Swap. The Tester checks that the
UUT sends a Request message. [TEST.PD.PS.SRC.3#4]
10. The UUT is now a Sink and the Tester is a Source.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 158
11. The Tester sends an Accept message.
a. If a new PDO has been requested:
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkStdby max. [TEST.PD.PS.SNK.1#5]
ii. Wait tSrcTransition from the GoodCRC message, and then change VBUS voltage
requested to the new value and/or be prepared to supply more or less current
within tSrcTransition max plus tSrcReady max as appropriate.
iii. Check that the average power drawn by the UUT, measured in the 1ms before
sending PS_RDY, does not exceed pSnkStdby max. [TEST.PD.PS.SNK.1#6]
iv. The Tester sends a PS_RDY message to the UUT
b. If no new PDO requested,
i. After 315ms time period, (tSrcTransition max + tSrcReady max) check that the
current drawn from VBUS does not exceed the previously contracted current
(100mA). [TEST.PD.PS.SNK.1#7]
ii. The Tester sends a PS_RDY message to the UUT.
The Tester checks that the current drawn by the UUT does not exceed the level
specified in the current PDO over the next 5 seconds.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 159
ii. Wait tSrcTransition from the GoodCRC message, and
then change VBUS voltage requested to the new value
and/or be prepared to supply more or less current
within tSrcTransition max plus tSrcReady max as
appropriate.
18. The Tester checks that the current drawn by the UUT does not exceed the level specified in the
current PDO over the next 5 seconds. [TEST.PD.PS.SRC.3#13]
19. The Tester sends a new Source Capabilities message with a single PDO
a. The PDO:
i. B31…30 (Fixed Supply) set to 00b
ii. B29 (Dual-Role Power) set to 1b
iii. B28 (USB Suspend Supported) set to 0b
iv. B26 (USB Communications Capable) set to 0b
v. B25 (Dual-Role Data) set to 1b
vi. B24…22 (Reserved) set to 00b
vii. B21…20 (Peak Current) set to 00b
viii. B19…10 (Voltage) set to 5V
ix. B9…0 (Maximum Current) set to 0mA
20. The Tester checks that it receives a Request message [TEST.PD.PS.SRC.3#14]
21. The Tester sends an Accept message.
a. If a new PDO has been requested:
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkStdby max. [TEST.PD.PS.SRC.3#15]
ii. Wait a nominal tSrcTransition from the GoodCRC message, and then change
VBUS voltage requested to the new value and/or be prepared to supply more or
less current within tSrcTransition max plus tSrcReady max as appropriate.
iii. As soon as the voltage on VBUS has stopped changing, check that power drawn
by the UUT does not exceed pSnkStdby max. [TEST.PD.PS.SRC.3#16]
iv. The Tester sends a PS_RDY message to the UUT
b. If no new PDO requested,
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkSusp max. [TEST.PD.PS.SRC.3#17]
ii. The Tester sends a PS_RDY message to the UUT.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 160
22. The Tester checks that the current drawn by the UUT does not exceed the level specified in the
current PDO over the next 5 seconds. [TEST.PD.PS.SRC.3#18]
The tests in this subsection are applicable only to UUT with VIF field PD_Port_Type set to Consumer
Only, Consumer/Provider and DRP.
Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:
Test Conditions:
Consumer Provider
Only, C/P, Only, P/C
DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a Get_Sink_Cap message to the UUT.
3. The check fails if the UUT does not send Sink Capabilities message. [TEST.PD.PS.SNK.1#1]
4. The Tester sends a new Source Capabilities message with PDOs, mirroring the VIF definition of
the UUT Sink requirements (for Rev 3 include any PPS PDOs)
a. The first PDO:
i. B31…30 (Fixed Supply) set to 00b
ii. B29 (Dual-Role Power) set to 0b
iii. B28 (USB Suspend Supported) set to 0b
iv. B26 (USB Communications Capable) set to 0b
v. B25 (Dual-Role Data) set to 0b
vi. B24…22 (Reserved) set to 00b
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 161
vii. B21…20 (Peak Current) set to 00b
viii. B19…10 (Voltage) set to 5V
ix. B9…0 (Maximum Current) set to the full requested current as provided in the 1 st
PDO of the Sink Capabilities from the UUT
b. The remaining PDOs mirror the VIF definition of the UUT Sink requirements (for Rev 3
include any PPS PDOs) If the Sink Capabilities consists of only one PDO, the Tester
provides only 1 PDO in the Source Capabilities.
5. The check fails if the UUT does not responds with a Request message. [TEST.PD.PS.SNK.1#2]
6. The Tester sends an Accept message.
a. If a new PDO has been requested:
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkStdby max. [TEST.PD.PS.SNK.1#3]
ii. Wait a nominal tSrcTransition from the GoodCRC message, and then change
VBUS voltage requested to the new value and/or be prepared to supply more or
less current within tSrcTransition max plus tSrcReady max as appropriate.
iii. As soon as the voltage on VBUS has stopped changing, check that power drawn
by the UUT does not exceed pSnkStdby max. [TEST.PD.PS.SNK.1#4]
iv. The Tester sends a PS_RDY message to the UUT
b. If no new PDO requested,
i. After 315ms time period, (tSrcTransition max + tSrcReady max) check that the
current drawn from VBUS does not exceed the previously contracted current
(100mA). [TEST.PD.PS.SNK.1#5]
ii. The Tester sends a PS_RDY message to the UUT.
7. The Tester performs the following check [TEST.PD.PS.SNK.1#6]
The Tester checks that the current drawn by the UUT does not exceed the level specified
in the current PDO over the next 5 seconds.
N/A
8. The Tester sends another new Source Capabilities message with single PDO
a. The PDO:
i. B31…30 (Fixed Supply) set to 00b
ii. B29 (Dual-Role Power) set to 0b
iii. B28 (USB Suspend Supported) set to 0b
iv. B26 (USB Communications Capable) set to 0b
v. B25 (Dual-Role Data) set to 0b
vi. B24…22 (Reserved) set to 00b
vii. B21…20 (Peak Current) set to 00b
viii. B19…10 (Voltage) set to 5V
ix. B9…0 (Maximum Current) set to 0mA
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 162
9. The check fails and the test ends here if the UUT does not respond with a Request message
[TEST.PD.PS.SNK.1#7]
10. The Tester sends an Accept message.
a. If a new PDO has been requested:
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkStdby max. [TEST.PD.PS.SNK.1#8]
ii. Wait a nominal tSrcTransition from the GoodCRC message, and then change
VBUS voltage requested to the new value and/or be prepared to supply more or
less current within tSrcTransition max plus tSrcReady max as appropriate.
iii. As soon as the voltage on VBUS has stopped changing, check that power drawn
by the UUT does not exceed pSnkStdby max. [TEST.PD.PS.SNK.1#9]
iv. The Tester sends a PS_RDY message to the UUT
b. If no new PDO requested,
i. After a total of tSrcTransition min, check that power drawn by the UUT does not
exceed pSnkSusp max. [TEST.PD.PS.SNK.1#10]
ii. The Tester sends a PS_RDY message to the UUT.
11. The Tester checks that the current drawn by the UUT does not exceed the level specified in the
current PDO over the next 5 seconds. [TEST.PD.PS.SNK.1#11]
Test Conditions:
Consumer Provider
Only, C/P, Only, P/C
DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a PR_Swap message.
3. The Tester checks the response: [TEST.PD.PS.SNK.2#1]
a. The check fails if the UUT responds with a Reject message or Not_Supported (PD3 only),
and the VIF field Accepts_PR_Swap_As_Snk is “Yes”.
b. The test ends here if the UUT responds with a Reject message or Not_Supported (PD3
only).
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 163
c. If the UUT responds with a Wait message, the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has repeated for 10 times, the check
fails and the test ends here.
d. If the UUT responds with an Accept message, the Tester checks that the VIF field
PD_Port_Type is set to either “Consumer/Provider” or “DRP”.
e. If the UUT responds with an Accept message, the Tester checks that the VIF field
Accepts_PR_Swap_As_Snk is “Yes”.
4. At tSrcTransition max (this delay is from the last bit of GoodCRC sent in response to the Accept),
the Tester drives the VBUS voltage to vSafe0V within tSrcSwapStdby max.
5. The Tester sends a PS_RDY at the deadline limit of tPSSourceOff min, the delay is from the time
the last bit of the EOP of the GoodCRC corresponding to the Accept message.
6. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[TEST.PD.PS.SNK.2#2]
7. The Tester checks that the PS_RDY from the UUT is within tNewSrc max, this delay is from the
GoodCRC sent by the UUT in response to the PS_RDY sent by the Tester. [TEST.PD.PS.SNK.2#3]
8. Once the Tester receives Source Capabilities message, the Tester establishes a PD contract using
common procedure COMMON.PROC.PD.11.
9. After this point the Tester shall Reject any PR_Swap request received.
10. The Tester repeats the following steps using the PDO as provided in the PDO Sequence Table:
vi. B9…0 (Maximum Operating Current / Power) = Maximum Current / Power in the
Source PDO.
b. The check fails if the UUT does not respond with an Accept message.
[TEST.PD.PS.SNK.2#4]
c. The check fails if PS_RDY message is not received within tPSTransition max from the last
bit of the EOP of Accept message. [TEST.PD.PS.SNK.2#5]
d. The Tester performs the following checks:
Decrease the power drawn by the Tester to less than pSnkStdby within
tSnkStdby min of the last bit of the GoodCRC sent in response to the Accept
message. The Tester performs the following checks:
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 164
1. The Tester checks the VBUS is within vSrcNew of the starting voltage
within tSrcTransition min after the end of the GoodCRC sent in response
to the Accept message. [TEST.PD.PS.SNK.2#6]
2. The Tester checks that the VBUS transition meets vSrcSlewPos and
vSrcSlewNeg. [TEST.PD.PS.SNK.2#7]
3. During the voltage transition, the Tester checks that the VBUS voltage
remains within vSrcValid limits upon crossing into the vSrcValid limits
until tSrcSettle max. [TEST.PD.PS.SNK.2#8]
4. The Tester checks that the VBUS voltage is within vSrcNew limits
between tSrcSettle max and 100ms after tSrcSettle max.
[TEST.PD.PS.SNK.2#9]
5. The Tester checks that the UUT does not send PS_RDY before the VBUS
is within vSrcNew. [TEST.PD.PS.SNK.2#10]
Description: The Tester verifies that the new Source UUT responds correctly to various Request
messages.
Test Conditions:
Consumer Provider
Only, C/P, Only, P/C
DRP
Rev2Snk ✓
Rev3Snk ✓
Test Procedures:
1. The Tester runs bring-up procedure with the UUT as a Sink COMMON.PROC.BU.2
2. The Tester sends a PR_Swap message.
3. The Tester checks the response: [TEST.PD.PS.SNK.3#1]
a. The check fails if the UUT responds with a Reject message or Not_Supported (PD3 only),
and the VIF field Accepts_PR_Swap_As_Snk is “Yes”.
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 165
b. The test ends here if the UUT responds with a Reject message or Not_Supported (PD3
only).
c. If the UUT responds with a Wait message, the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. Once the Tester has repeated for 10 times, the check
fails, and the test ends here.
d. If the UUT responds with an Accept message, the Tester checks that the VIF field
PD_Port_Type is set to either “Consumer/Provider” or “DRP”.
e. If the UUT responds with an Accept message, the Tester checks that the VIF field
Accepts_PR_Swap_As_Snk is “Yes”.
4. At tSinkTransition max (this delay is from the last bit of GoodCRC sent in response to the
Accept), the Tester drives the VBUS voltage to vSafe0V within tSrcSwapStdby max.
5. The Tester sends a PS_RDY at the deadline limit of tPSSourceOff min, the delay is from the time
the last bit of the EOP of the GoodCRC corresponding to the Accept message.
6. The Tester checks that the UUT sends PS_RDY only after the UUT has applied vSafe5V.
[TEST.PD.PS.SNK.3#2]
7. The Tester checks that the PS_RDY from the UUT is within tNewSrc max, this delay is from the
GoodCRC sent by the UUT in response to the PS_RDY sent by the Tester. [TEST.PD.PS.SNK.3#3]
8. Once the Tester receives Source Capabilities message, the Tester establishes a PD contract using
common procedure COMMON.PROC.PD.11.
9. After this point the Tester shall Reject any PR_Swap request received.
10. The Tester repeats the following steps for each of the PDOs (in the Source Capabilities message),
starting with the first PDO:
a. If the next Request will be for a PPS transition involving a current decrease (but no PDO
change), the Tester reduces its current draw to the new level required, before sending
the Request. (This avoids the current limit in the UUT shutting off VBUS.) The Tester
draws the requested Operating Current / Power with a current transition slew rate of
100mA per µs. The Tester monitors VBUS voltage and the check fails if VBUS voltage is
not within the limits of vSrcNew. [TEST.PD.PS.SNK.3#4]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 166
1. B19…9 (Output Voltage) = Maximum Voltage offered in Source APDO
The initial Request is for PDO #1 (5V Fixed) at 0mA. Further requests are defined in step
10f.
2. For PPS:
The current was already reduced in step 10a.
ii. If the transition involves a current increase (but no PDO change), the Tester
increase current to the new value after the last bit of the GoodCRC sent in
response to the PS_RDY message. The Tester draws the requested Operating
Current / Power with a current transition slew rate of 100mA per µs. The Tester
monitors VBUS voltage and the check fails if VBUS voltage is not within the
limits of vSrcNew. [TEST.PD.PS.SNK.3#5]
iii. If the transition involves a change of PDO, decrease the power drawn by the
Tester to less than pSnkStdby within tSnkStdby min of the last bit of the
GoodCRC sent in response to the Accept message. The Tester performs the
following checks:
1. The Tester checks that VBUS remains within vSrcNew of the starting
voltage within tSrcTransition min after the end of the GoodCRC sent in
response to the Accept message. [TEST.PD.PS.SNK.3#6]
2. The Tester checks that the VBUS transition meets vSrcSlewPos and
vSrcSlewNeg. [TEST.PD.PS.SNK.3#7]
3. During the voltage transition, the Tester checks that the VBUS voltage
remains within vSrcValid limits from the time of crossing into the
vSrcValid limits until tSrcSettle max. [TEST.PD.PS.SNK.3#8]
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 167
4. The Tester checks that the VBUS voltage remains within vSrcNew limits
between tSrcSettle max and 100ms after tSrcSettle max.
[TEST.PD.PS.SNK.3#9]
5. The Tester checks that the UUT does not send PS_RDY before the VBUS
is within vSrcNew. [TEST.PD.PS.SNK.3#10]
b. For PPS PDO: 80% of the current requested (except that for the
last step 0mA will be drawn)
7. The Tester checks that the VBUS voltage remains within vSrcNew limits
as the current load is applied and for 100ms after receiving PS_RDY,
with the provision that during the load transition VBUS voltage may
deviate within vSrcValid for a maximum of tSrcTransient.
[TEST.PD.PS.SNK.3#11]
f. The Tester repeats Step-2a and Step-2d, replacing B19…10 (Operating Current / Power
in the Request message) with the following values. The Tester sends 9 separate Request
messages for each PDO (6 separate Request messages for PPS):
8. 0mA / 0mW
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 168
2. Maximum Voltage offered in Source APDO @ 1A. (Tester draws 80%
load)
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 169
Appendix A: Requirements for Compliance Test Results
The Compliance Test results Shall be output in XML format, compliant with the official USB-IF
documentation and schema
Documentation:
Schema: https://compliance.usb.org/xsd/USB/DataCollection.xsd
<?xml version="1.0"?>
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 170
<testReport>
<product>
<deviceID>0</deviceID>
<nameVendor>Product Vendor</nameVendor>
<nameProduct>Product Name</nameProduct>
<nameModel>0</nameModel>
<productInfo>
<vif>
<![CDATA[
<?xml version="1.0" encoding="utf-8"?>
<VIF xmlns="http://usb.org/VendorInfoFile.xsd">
<VIF_Specification>3.01</VIF_Specification>
<VIF_App>
<Vendor>USB-IF</Vendor>
<Name>Vendor Info File Editor</Name>
<Version>3.0.0.1</Version>
</VIF_App>
<Vendor_Name>Product Vendor</Vendor_Name>
<Model_Part_Number>Product Name</Model_Part_Number>
<Product_Revision>0</Product_Revision>
<TID>0</TID>
<VIF_Product_Type value="1">Cable</VIF_Product_Type>
<Certification_Type value="2">Silicon</Certification_Type>
<Product/>
<Component>
<USB4_Supported value="false"/>
<USB_PD_Support value="true"/>
<PD_Specification_Revision value="1">Revision
2.0</PD_Specification_Revision>
<SOP_Capable value="false"/>
<SOP_P_Capable value="true"/>
<SOP_PP_Capable value="false"/>
<SOP_P_Debug_Capable value="false"/>
<SOP_PP_Debug_Capable value="false"/>
<XID value="0"/>
<Data_Capable_As_USB_Host value="false"/>
<Data_Capable_As_USB_Device value="false"/>
<Product_Type value="3">passive Cable</Product_Type>
<Modal_Operation_Supported value="false"/>
<USB_VID value="0">0000</USB_VID>
<PID value="0">0000</PID>
<bcdDevice value="0">0000</bcdDevice>
<Cable_HW_Vers value="0">0</Cable_HW_Vers>
<Cable_FW_Vers value="0">0</Cable_FW_Vers>
<Type_C_To_Type_A_B_C value="2">Type-C®</Type_C_To_Type_A_B_C>
<Type_C_To_Plug_Receptacle
value="0">Plug</Type_C_To_Plug_Receptacle>
<Cable_Latency value="1"><10ns</Cable_Latency>
<Cable_Termination_Type value="0">Both ends passive, VCONN not
required</Cable_Termination_Type>
<VBUS_Through_Cable value="true"/>
<Cable_VBUS_Current value="2">5A</Cable_VBUS_Current>
<Cable_SOP_PP_Controller value="false"/>
<Cable_Superspeed_Support value="2">USB 3.1 Gen
2</Cable_Superspeed_Support>
</Component>
</VIF>
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 171
]]>
</vif>
</productInfo>
</product>
<components>
<component>
<technology/>
<subject/>
<value>1</value>
<testTool>
<deviceID/>
<nameVendor>Test Vendor</nameVendor>
<nameProduct>Test Product</nameProduct>
<nameModel>XYZ</nameModel>
<versionHW>1.23</versionHW>
<versionSW>1.23 b456</versionSW>
<versionFW>1.23</versionFW>
<serialNumber>12345</serialNumber>
<dateCalibration/>
<configuration/>
<description/>
<comments/>
<testRuns>
<testRun timestamp="2020-08-30T12:34:56">
<spec>
<title>USB Power Delivery Compliance Test Specification</title>
<version>1.0</version>
<revision>1.2</revision>
</spec>
<score value="fail"/>
<test tcID="TEST.PD.PHY.ALL.5">
<title>Unrecognized Message</title>
<score value="pass"/>
<conditions>
<condition conditionID="Rev2VcMinEnd1">
<score value="pass"/>
<checks>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="pass"/>
<comment/>
</check>
<check checkID="TEST.PD.PHY.ALL.5#2">
<score value="n/a"/>
<comment/>
</check>
</checks>
</condition>
<condition conditionID="Rev2VcMaxEnd1">
<score value="pass"/>
<checks>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="pass"/>
<comment/>
</check>
<check checkID="TEST.PD.PHY.ALL.5#2">
<score value="n/a"/>
<comment/>
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 172
</check>
</checks>
</condition>
<condition conditionID="Rev3VcMinEnd1">
<score value="pass"/>
<checks>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="pass"/>
<comment/>
</check>
<check checkID="TEST.PD.PHY.ALL.5#2">
<score value="n/a"/>
<comment/>
</check>
</checks>
</condition>
<condition conditionID="Rev3VcMaxEnd1">
<score value="pass"/>
<checks>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="pass"/>
<comment/>
</check>
<check checkID="TEST.PD.PHY.ALL.5#2">
<score value="n/a"/>
<comment/>
</check>
</checks>
</condition>
</conditions>
</test>
<test tcID="COMMON.CHECK.PD.3">
<title>Check Request Message</title>
<score value="fail"/>
<conditions>
<condition conditionID="">
<score value="fail"/>
<checks>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="fail"/>
<comment>Failed in 1 of 3 instances. Failures occurred
during: TEST.PD.PHY.ALL.5</comment>
</check>
<check checkID="TEST.PD.PHY.ALL.5#1">
<score value="pass"/>
<comment/>
</check>
</checks>
</condition>
</conditions>
</test>
</testRun>
</testRuns>
</testTool>
</component>
</components>
</testReport>
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 173
USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 174