0% found this document useful (0 votes)
8 views174 pages

USB PD3 CTS Rev1 v1.2 RC20

This is USB-PD specification

Uploaded by

likithadfree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views174 pages

USB PD3 CTS Rev1 v1.2 RC20

This is USB-PD specification

Uploaded by

likithadfree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 174

USB Power Delivery Compliance Test

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.

INTELLECTUAL PROPERTY DISCLAIMER


THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER,
INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY
PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY,
INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR
IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE PROVISION OF THIS
SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY
ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS.
Please send comments via electronic mail to techsup@usb.org
For industry information, refer to the USB Implementers Forum web page at http://www.usb.org
USB Type-C® and USB4™ are trademarks of the Universal Serial Bus Implementers Forum (USB-
IF). Thunderbolt™ is a trademark of Intel Corporation.

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

Revision Release Date Description

1.0 September 15, 2019 Initial release

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:

- USB Type-C Functional Test Specification


- USB Type-C and PD Source Power Test Specification
- USB Command Verifier Compliance Test Specification
- USB 2.0 Electrical Test Specification

This document is organized as followed:

- 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

1.2 Terms and Abbreviations


Tester is the instrument used for running the test procedures and checks.

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.

1.3.2 PD2 mode


The test is running in PD2 mode if the Tester as a Sink sends the first Request message with Message
Header Bits 7…6 (Specification Revision) set to 01b.

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.

1.3.3 PD3 mode


The test is running in PD3 mode if the Tester as a Sink sends the first Request message with Message
Header Bits 7…6 (Specification Revision) set to 10b.

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.

1.3.4 Revision Alignment


‘Revision alignment’ means after revision interoperability check has been done, as described in 6.2.1.5
of USB PD specification

1.4 Test Requirements


1.4.1 VCONN Levels for Testing Cable Markers or VPDs
Cable Markers and VPDs shall be tested at the highest and lowest VCONN voltages that the Type-C
Specification allows. In certain tests they are also tested at the mid-level voltage. These voltages are
specified in Table 1. When referring to these voltages, this Test Specification uses the names given in
Table 1, rather than repeating the actual voltage values.

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.

Table 1 - VCONN Test Voltages

Cable Markers VPDs


Maximum 5.75V 5.5V
Mid-level 4.25V 4.25V
Minimum 2.75V 3.0V

1.4.2 Test Condition Codes


The majority of the tests in this Test Specification are repeated more than once under different Test
Conditions. A list of the applicable Test Conditions appears at the start of each test. This section defines
the codes for these conditions to be used in that list and also in the XML results.

e.g: <condition conditionID=" Rev3ChkdSrc">

1.4.2.1 Common Test Condition

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="">.

1.4.2.2 Test Conditions for Ports

Test Conditions for Ports are a combination of some or all of the following:

 The PD Revision for which the Port is being tested


 Whether the Tester is set to support Unchunked Extended Messages
 Whether the Port is being tested as an initial Source or as an initial Sink
 Whether the test cable has been flipped at the UUT end

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.

Table 2 - Test Condition Codes for Ports

Test Condition PD Revision Tester Supports Source/Sink


Code Unchunked

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

1.4.2.3 Test Conditions for Cable Markers or VPDs

Test Conditions for Cables or VPDs are a combination of some or all of the following:

 The PD Revision for which the UUT is being tested


 The VCONN Level from Table 1 which is in use
 Which end of the cable is being tested (not for VPDs)

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.

Table 3 - Test Conditions Codes for Cables or VPDs

Cable Marker VPD


Test Condition PD Revision Vconn Level End1 End2
Code
Rev2VcMinEnd1 2 Minimum ✓ ✓
Rev2VcMaxEnd1 2 Maximum ✓ ✓
Rev2VcMinEnd2 2 Minimum ✓
Rev2VcMaxEnd2 2 Maximum ✓
Rev3VcMinEnd1 3 Minimum ✓ ✓
Rev3VcMidEnd1 3 Mid-level ✓ ✓
Rev3VcMaxEnd1 3 Maximum ✓ ✓
Rev3VcMinEnd2 3 Minimum ✓
Rev3VcMidEnd2 3 Mid-level ✓
Rev3VcMaxEnd2 3 Maximum ✓

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.

1.4.4 Error Recovery


There are a number of places in this document where a check is required as to whether Error Recovery
takes place within a valid timeframe. For the sake of clarity, Error Recovery is deemed to have taken
place when the CC line voltage falls outside the ‘connect’ range, as a result of either Rp or Rd being
released by the UUT.

1.4.5 VBUS Measurement – Point of Reference


For a captive cable, VBUS shall be measured at the Tester connector, otherwise it shall be measured at
the UUT connector.

2 Common Procedures and Checks


This chapter describes the common test procedures and checks that would be repeated in the tests
described in the subsequent chapters.

2.1 Common Checks


2.1.1 PD2 and PD3 Modes
The common procedures in this subsection are applicable when the test is running in PD2 and PD3
modes.

COMMON.CHECK.PD.1 Check Preamble


Description: The Tester performs the physical layer checks on the Preamble sent by the UUT.

Check Applicability: All PD messages

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.

Check Applicability: All PD messages except GoodCRC

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

3. Bits 14…12: Number of Data Objects


a. When the Extended field is set to zero, the check fails if Number of Data Objects field
does not match the number of 32-bit Data Objects that follow the Message Header
b. When the Extended bit (in the Message Header) is set to 1b and Chunked bit (in the
Extended Message Header) is set to 1b, the check fails if the size in bytes of the payload
following the Message Header is not 4 times the Number of Data Objects
c. When the Extended bit (in the Message Header) is set to 1b and Chunked bit (in the
Extended Message Header) is set to 0b, the check fails if Number of Data Objects field is
not set to 000b
d. Data messages:
i. Request message: Number of Data Objects = 1
ii. Battery_Status message: Number of Data Objects = 1
iii. Alert message: Number of Data Objects = 1
iv. Get_Country_Info message: Number of Data Objects = 1
v. Enter_USB message: Number of Data Objects = 1
4. Bits 11…9: MessageID. The check fails if the value is not 000b under the following conditions:
a. The first message after a Hard Reset was sent or received
b. The message is a Soft_Reset

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

COMMON.CHECK.PD.3 Check GoodCRC


Description: The Tester performs the protocol checks on the GoodCRC message received by the Tester.

Check Applicability: All GoodCRC messages

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

COMMON.CHECK.PD.4 Check Atomic Message Sequence Response


Description: The Tester performs additional protocol checks on response messages as part of the Atomic
Message Sequence (AMS).

Check Applicability: All PD response messages when an AMS has started

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

COMMON.CHECK.PD.5 Check Unexpected Messages and Signals


Description: The Tester performs additional protocol checks on unexpected messages sent by the UUT.

Check Applicability: All PD messages

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)

COMMON.CHECK.PD.6 Check Control Message


Description: The Tester performs additional protocol checks on all Control messages sent by the UUT.

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

COMMON.CHECK.PD.7 Check Source Capabilities Message


Description: The Tester performs additional protocol checks on all Source Capabilities messages sent by
the UUT.

Check Applicability: Source Capabilities message

Perform the following checks on all Source Capabilities messages : [COMMON.CHECK.PD.7#1]

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

COMMON.CHECK.PD.8 Check Request Message


Description: The Tester performs additional protocol checks to all Request messages sent by the UUT.

Check Applicability: Request message

The Tester performs the following additional checks on all Request messages:
[COMMON.CHECK.PD.8#1]

1. Field check for all types of Request Data Object


a. B31 (Reserved) set to 0b
b. B30…28 (Object Position) is not 000b, and the value is not greater than the number of
PDOs in the last Source Capabilities message
c. B25 (USB Communications Capable), matches VIF field USB_Comms_Capable
d. B24 (No USB Suspend), matches VIF field No_USB_Suspend_May_Be_Set
e. Bit 23 (Unchunked Extended Messages Supported) matches VIF field
Unchunked_Extended_Messages_Supported if the test is running in PD3 mode
f. Bits 22…20 (Reserved) set to 000b if the test is running in PD3 mode
g. Bits 23…20 (Reserved) set to 0000b if the test is running in PD2 mode
2. Fixed and Variable Request Data Object
a. B19…10 (Operating Current) does not exceed the current offered by the referenced PDO
b. If B27 (GiveBack flag) = 0b
i. If B9…0 (Maximum Operating Current) is less than or equal to the current
offered by the referenced PDO, then B26 (Capability Mismatch) is set to zero
ii. B19…10 (Operating Current) does not exceed B9…0 (Maximum Operating
Current)
c. If B27 (GiveBack flag) = 1b
i. B9…0 (Minimum Operating Current) does not exceed B19…10 (Operating
Current)
3. Battery Request Data Object
a. B19…10 (Operating Power) does not exceed the power offered by the referenced PDO
b. If B27 (GiveBack flag) = 0b
i. If B9…0 (Maximum Operating Power) is less than or equal to the power offered
by the referenced PDO, then B26 (Capability Mismatch) is set to zero
ii. B19…10 (Operating Power) does not exceed B9…0 (Maximum Operating Power)
c. If B27 (GiveBack flag) = 1b
i. B9…0 (Minimum Operating Power) does not exceed B19…10 (Operating Power)
4. Programmable Power Supply Request
a. B6…0 (Operating Current) is less than or equal to the Maximum Current offered by the
referenced PDO
b. B19…9 (Output Voltage field):

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

COMMON.CHECK.PD.9 Check Structured VDM Message


Description: The Tester performs the protocol checks on the Structured VDM Message sent by the UUT.

Check Applicability: All Structured VDM messages

The Tester performs the following checks on the Structured VDM Message Header (the first Data
Object): [COMMON.CHECK.PD.9#1]

1. Bits 31…16 (SVID)


a. This field shall be set to 0xFF00 (PD SID) if Command (Bits 4…0) is a Discover Identity or
Discover SVIDs
b. This field shall not be set to 0xFF00 if Command (Bits 4…0) is 16-31 (SVID specific)
2. Bit 14…13 (Structured VDM Version) are set to 00b (when the test is running in PD2 mode)
3. Bit 14…13 (Structured VDM Version) are set to 01b (when the test is running in PD3 mode)
4. Bits 12…11 (reserved):
a. Set to 00b if Command = 0…15
5. Bits 10…8 (Object Position):
a. Set to 001b…111b if Command = Exit Mode
b. Set to 001b…110b if Command = (Enter Mode or Attention)
c. Set to 000b if Command = (Discover Identity, Discover SVIDs or Discover Modes)
6. Bit 5 (reserved) is set to 0b
7. Bits 4…0 (Command) shall be 1-6 or 16-31

COMMON.CHECK.PD.10 Check Extended Message Header


Description: The Tester performs the protocol checks on the Message Header and Extended Message
Header sent by the UUT.

Check Applicability: All PD messages except GoodCRC

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)

COMMON.CHECK.PD.11 Check Source Capabilities Extended Message


Description: The Tester performs additional protocol checks on all Source Capabilities Extended
messages sent by the UUT.

Check Applicability: Source Capabilities Extended message

Perform the following checks on all Source Capabilities Extended:

1. For the SCEDB [COMMON.CHECK.PD.11#1]


a. Voltage Regulation field: Bits 0..1 (Load Step) = 00b or 01b
b. Voltage Regulation field: Bits 3..7 (Reserved) are 0
c. Compliance field: Bits 3..7 (Reserved) are 0
d. Touch Current field: Bits 3..7 (Reserved) are 0
e. Touch Temp field is 0, 1 or 2
f. Source Inputs field: If Bit 0 is 0, Bit 1 is 0
g. Source Inputs field: Bits 3..7 (Reserved) are 0
h. Batteries/Battery Slots field:
i. Upper nibble (Number of Hot Swappable Battery Slots) <= 4 and matches VIF
field Num_Swappable_Battery_Slots
ii. Lower nibble (Number of Fixed Batteries) <= 4 and matches VIF field
Num_Fixed_Batteries
i. Source PDP field
i. Bits 0…6 (Source’s rated PDP) is the floor of the VIF field PD_Power_as_Source
ii. Bit 7 (Reserved) is 0

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.

Check Applicability: Sink Capabilities message

Perform the following checks on all Sink Capabilities messages: [COMMON.CHECK.PD.12#1]

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

COMMON.CHECK.PD.13 Check Correct Use of Rp


Description: The Tester checks whether the procedures for Collision Avoidance are correctly followed.

Check Applicability: In PD3 mode only, and explicit contract exists.

Perform the following checks on the Atomic Message Sequences: [COMMON.CHECK.PD.13#1]

1. The Source UUT starts an AMS:


When the Source UUT sends the first message to start an AMS, check that SinkTxNG has
been asserted for at least tSinkTx min before the start of the first bit of the preamble.
2. An AMS initiated by the Source UUT has ended:
When the last message of an AMS initiated by the Source UUT has been sent, check that
SinkTxNG is not asserted for more than tSrcHoldsBus. This delay is measured between
the last bit of the EOP of last GoodCRC in the last AMS and the first bit of the preamble
of the next AMS. (Refer to Source Port Policy Engine State Diagram in USB PD
Specification)
3. The Sink UUT starts an AMS:
When a Sink starts an AMS, one of the following must be true:
a. SinkTxOk is asserted.
b. SinkTxNG has been asserted for less than tSinkDelay.
The Soft_Reset AMS is excluded from this requirement.

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.

COMMON.PROC.BU.1 Bring-up Source UUT

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]

4. The Tester responds with a Request message for 5V at 100mA.

a. B30…B28 (Object Position) = 001b

b. B27 (GiveBack Flag) = 0b

c. B26 (Capability Mismatch) = 0b

d. B25 (USB Communication Capable) = 0b

e. B24 (No USB Suspend) = 1b

f. B23 (PD3, Unchunked Extended Messages Supported) = 0b

g. B19…10 (Operating Current) = 100mA

h. B9…0 (Maximum Operating Current) = 100mA

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]

7. An explicit contract is now established.


8. The Tester waits 500ms to respond to messages from the UUT.

COMMON.PROC.BU.2 Bring-up Sink UUT


1. The test starts in a disconnected state.

2. The tester applies Rp.

3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.

4. The Tester waits for 50 ms.

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 22
5. The Tester transmits Source Capabilities message with single PDO:

a. B31…30 (Fixed Supply) set to 00b


b. B29 (Dual-Role Power) set to 0b
c. B28 (USB Suspend Supported) set to 0b
d. B27 (Unconstrained Power) set to 1b
e. B26 (USB Communications Capable) set to 0b
f. B25 (Dual-Role Data) set to 0b
g. B24 (PD3, Unchunked Extended Messages Supported) set to 0b
h. B21…20 (Peak Current) set to 00b
i. B19…10 (Voltage) set to 5V
j. B9…0 (Maximum Current) set to 100mA

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.

COMMON.PROC.BU.3 Bring-up Cable Plug UUT


1. The test starts in a disconnected state.

2. The Tester applies Rp and Rd to one cable end.

3. If the UUT attachment is detected (detected Ra), the Tester applies VCONN and vSafe5V on
VBUS.

4. The Tester waits for tVCONNStable max.

Note: The Tester uses SOP’ messages in Cable Plug tests except where otherwise specified.

COMMON.PROC.BU.4 Bring-up Source UUT for PPS Test


1. Make sure to have run COMMON.PROC.BU.6 preparation before this procedure. The test starts
in a disconnected state.

2. The Tester applies Rd.

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.

a. B26 (Capability Mismatch) = 0b

b. B25 (USB Communication Capable) = 0b

c. B24 (No USB Suspend) = 1b

d. B23 (PD3, Unchunked Extended Messages Supported) = 0b

e. B19…9 (Output Voltage) = 4V

f. B6…0 (Operating Current) = 1A

6. The check fails if an Accept message is not received. [COMMON.PROC.BU.4#2]

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]

8. An explicit contract is now established.


9. The Tester waits 500ms to respond to messages from the UUT.

COMMON.PROC.BU.5 Bring-up Sink UUT for PPS Test


1. The test starts in a disconnected state.

2. The tester applies Rp.

3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.

4. The Tester transmits Source Capabilities message with two PDOs:

a. Fixed Supply 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. B27 (Unconstrained Power) set to 1b
v. B26 (USB Communications Capable) set to 0b
vi. B25 (Dual-Role Data) set to 0b
vii. B24 (PD3, Unchunked Extended Messages Supported) set to 0b
viii. B21…20 (Peak Current) set to 00b
ix. B19…10 (Voltage) set to 5V
x. B9…0 (Maximum Current) set to 3A
b. APDO PPS
i. B31…30 (Augmented PDO) set to 11b
ii. B29…28 00b – Programmable Power Supply
iii. B27 (PPS Power Limited) set to 0b

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.

COMMON.PROC.BU.6 Preparation for Bring-up Source UUT


To be run before COMMON.PROC.BU.1, COMMON.PROC.BU.4, COMMON.PROC.BU.7 or
COMMON.PROC.BU.9

Assumes that the Test Cable is initially connected to the Port under Test.

1. Connect the UUT to its power source.

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.

7. When this has been done, the preparation procedure is complete.

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.

2. The tester applies Rp.

3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.

4. The Tester waits for 50 ms.

5. The Tester transmits Source Capabilities message with single 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) set to 0b
f. B25 (Dual-Role Data) set to 0b
g. B24 (PD3, Unchunked Extended Messages Supported) set to 0b
h. B21…20 (Peak Current) set to 00b
i. B19…10 (Voltage) set to 5V
j. B9…0 (Maximum Current) set to 100mA

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]

8. The Tester responds with an Accept message to the Request message.

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].

20. The Tester responds with a Request message for 5V at 100mA.

a. B30 (Object Position) = 001b

b. B27 (GiveBack Flag) = 0b

c. B26 (Capability Mismatch) = 0b

d. B25 (USB Communication Capable) = 0b

e. B24 (No USB Suspend) = 1b

f. B23 (PD3, Unchunked Extended Messages Supported) = 0b

g. B19…10 (Operating Current) = 100mA

h. B9…0 (Maximum Operating Current) = 100mA

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]

23. An explicit contract is now established.


24. The Tester waits 500ms to respond to messages from the UUT.

COMMON.PROC.BU.8 Bring-up Provider-Consumer as Sink UUT


1. 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.8#1]

4. The Tester responds with a Request message for 5V at 100mA.

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 27
a. B30…B28 (Object Position) = 001b

b. B27 (GiveBack Flag) = 0b

c. B26 (Capability Mismatch) = 0b

d. B25 (USB Communication Capable) = 0b

e. B24 (No USB Suspend) = 1b

f. B23 (PD3, Unchunked Extended Messages Supported) = 0b

g. B19…10 (Operating Current) = 100mA

h. B9…0 (Maximum Operating Current) = 100mA

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]

7. An explicit contract is now established.

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.

9. The Tester sends a PR_Swap message.


10. The Tester checks the response. [COMMON.PROC.BU.8#4]
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), the check fails and
the test ends here.
c. If the UUT responds with an Accept messge, proceed to Step 11.
11. The Tester draws no more than iSwapStandby within tSrcTransition min after the last GoodCRC.
12. The Tester checks that the UUT asserts Rd and sends a PS_RDY message after the UUT driving
VBUS voltage to vSafe0V. [COMMON.PROC.BU.8#5]
13. The Tester checks that the UUT sends PS_RDY within tPSSourceOff min after the last bit of
GoodCRC was sent in response to the received Accept. [COMMON.PROC.BU.8#6]
14. 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.
15. The Tester transmits Source Capabilities message with single PDO (5V @ 100mA, B29 Dual-Role
Power set to 1b). The Tester checks that the UUT sends a Request message.
[COMMON.PROC.BU.8#7]
16. The Tester uses the common procedure COMMON.PROC.PD.10 to establish a PD contract. The
Tester waits 500ms to respond to messages from the UUT.

COMMON.PROC.BU.9 Bring-up Consumer-Provider as Source UUT PPS


1. Make sure to have run COMMON.PROC.BU.6 preparation before this procedure. The test starts
in a disconnected state.

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.

4. The Tester waits for 50 ms.

5. The Tester transmits Source Capabilities message with single 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) set to 0b
f. B25 (Dual-Role Data) set to 0b
g. B24 (PD3, Unchunked Extended Messages Supported) set to 0b
h. B21…20 (Peak Current) set to 00b
i. B19…10 (Voltage) set to 5V
j. B9…0 (Maximum Current) set to 100mA

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]

8. The Tester responds with an Accept message to the Request message.

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.

a. B26 (Capability Mismatch) = 0b

b. B25 (USB Communication Capable) = 0b

c. B24 (No USB Suspend) = 1b

d. B23 (PD3, Unchunked Extended Messages Supported) = 0b

e. B19…9 (Output Voltage) = 4V

f. B6…0 (Operating Current) = 1A

22. The check fails if an Accept message is not received. [COMMON.PROC.BU.9#7]

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]

24. An explicit contract is now established.

25. The Tester waits 500ms to respond to messages from the UUT.

COMMON.PROC.BU.10 Bring-up VPD


1. Before starting the test, connect the VPD UUT directly to the tester (a VPD is a Captive Cable
device).

2. The test starts in a disconnected state.

3. The Tester applies Rp on CC1 and CC2 lines to its receptacle.

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.

2.3 Common Procedures


2.3.1 PD2 and PD3 Modes
The common procedures in this subsection are applicable when the test is running in PD2 and PD3
modes.

COMMON.PROC.PD.1 Tester Sends GoodCRC


Procedure Applicability: Unless otherwise specified, the Tester replies with a GoodCRC whenever
receiving any PD message from the UUT.

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.

COMMON.PROC.PD.2 UUT Sent Get_Source_Cap


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Get_Source_Cap message from the UUT.

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

c. The check fails if the VIF field PD_Port_Type = Provider Only

2. There are three scenarios:

a. The Tester is a Source

i. The Tester responds with Source Capabilities message that contains single PDO

1. B31…30 (Fixed Supply) set to 00b

2. B29 (Dual-Role Power) set to 0b if Tester is a Source only; set to 1b if


Tester is a Dual-Role Power

3. B28 (USB Suspend Supported) set to 0b

4. B27 (Unconstrained Power) set to 1b

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 31
5. B26 (USB Communications Capable) set to 0b

6. B25 (Dual-Role Data) set to 0b

7. B24…22 (Reserved) set to 00b

8. B21…20 (Peak Current) set to 00b

9. B19…10 (Voltage) set to 5V

10. B9…0 (Maximum Current) set to 100mA

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.

b. The Tester is a Sink only

i. The Tester responds with a Reject message.

c. The Tester is a Sink with Dual-Role Power

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

d. If Snk_PDO_Supply_TypeN = PPS, and in Rev 3

i. B31…28 (PPS) set to 1100b


ii. B24…17 (Maximum Voltage) set to VIF field
Snk_PDO_MaxVoltageN
iii. B15…18 (Minimum Voltage) set to VIF field
Snk_PDO_MinVoltageN
iv. B6…0 (Maximum Current) set to VIF field
Snk_PDO_Op_CurrentN

COMMON.PROC.PD.3 UUT Sent Get_Sink_Cap


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Get_Sink_Cap message from the UUT.

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

c. The check fails if the VIF field PD_Port_Type = Consumer only

2. There are three scenarios:

a. The Tester is a Source only

i. The Tester responds with a Reject message

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

c. The Tester is a Sink

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

COMMON.PROC.PD.4 UUT Sent Ping


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Ping message from the UUT.

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

2. The following are the scenarios (for rejecting a PR_Swap).

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]

COMMON.PROC.PD.6 UUT Sent VCONN_Swap


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
VCONN_Swap message from the UUT.

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

2. There are two scenarios:

a. The Tester is the initial Vconn Source, and the Tester runs the following procedures

i. If the VIF field VCONN_Swap_To_On_Supported = Yes and the UUT sends a


VCONN_Swap message, the Tester responds with an Accept message.
Otherwise (the VIF field VCONN_Swap_To_On_Supported = No and the UUT
sends a VCONN_Swap message), the check fails and the test stops here.
[COMMON.PROC.PDU.6#2]
ii. The check fails if the UUT does not respond with PS_RDY message within
tVCONNSourceOn max from the last bit of the EOP of GoodCRC message
corresponding to the Accept Message sent. [COMMON.PROC.PD.6#3]
iii. The Tester stops sourcing VCONN

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.

COMMON.PROC.PD.7 UUT Sent Discover Identity Request


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Discover Identity Request message from the UUT.

1. The Tester receives Discover Identity Request message from the UUT. This message is valid
except the following conditions: [COMMON.PROC.PD.7#1]

a. If the test is running in PD2 mode

i. If the UUT is a UFP, the Tester checks that

1. The message uses SOP’ packet AND

2. The message is sent after a PR_Swap AMS in which the UUT becomes
the new Source and before an explicit contract exists

ii. The check fails if the UUT is a Cable Plug

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. Bits 7…6 (Command Type) is set to 00b

b. Bits 4…0b (Command) is set to 1 (Discover Identity)

3. The Tester response depends on the SOP* Communication:

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]

COMMON.PROC.PD.8 UUT Sent Discover SVIDs Request


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Discover SVIDs Request message from the UUT.

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

c. The check fails if the VIF field Attempts_Discov_SOP = NO

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]

a. Bits 7…6 (Command Type) is set to 00b

b. Bits 4…0 (Command) is set to 2 (Discover SVIDs)

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]

COMMON.PROC.PD.9 UUT Sent Attention


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Attention Request message from the UUT.

1. The Tester receives Attention Request message from the UUT. This message is valid except the
following conditions: [COMMON.PROC.PD.9#1]

a. In PD2, the check fails if the UUT is a DFP or a Cable Plug

b. In PD3, the check fails if the UUT is a Cable Plug

c. The check fails if VIF field Modal_Operation_Supported_SOP = NO

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]

a. Bits 7…6 (Command Type) is set to 00b

b. Bits 4…0b (Command) is set to 6 (Attention)

3. The Tester ignores the Attention Request message and does not send a response.

COMMON.PROC.PD.10 UUT Sent Request


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Request message from the UUT.

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

c. The check fails if the UUT is a Source

2. The Tester responds with an Accept message to the Request message.

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.

COMMON.PROC.PD.11 UUT Sent Source Capabilities


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
Source Capabilities message from the UUT.

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.

b. The check fails if PD_Port_Type is set to Consumer Only

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

b. B27 (GiveBack Flag) = 0b

c. B26 (Capability Mismatch) = 1b

d. B25 (USB Communication Capable) = 0b

e. B24 (No USB Suspend) = 1b

f. B19…10 (Operating Current) = 100mA

g. B9…0 (Maximum Operating Current) = 100mA

3. The check fails if an Accept message is not received. [COMMON.PROC.PD.11#2]

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]

COMMON.PROC.PD.12 UUT Sent DR_Swap


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever receiving
DR_Swap message from the UUT.

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

2.3.2 PD3 Mode


The common procedures in this subsection are applicable only when the test is running in PD3.

COMMON.PROC.PD3.1 Sink Start an AMS


Procedure Applicability: Unless otherwise specified, the Tester runs this procedure whenever it needs to
start an AMS.

1. The Tester as a Sink monitors the Rp value to start an AMS:


If the UUT presents SinkTxOK, the Sink proceeds to send message (and start an AMS) as
described in the test.

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.

Receiver Test Signaling Table

TX_NORMAL TX_GROUP_1 TX_GROUP_2 TX_GROUP_3


High Level (nom) 1100 mV 1200 mV 790 mV 1290 mV
Low Level (nom) 25mV 0 mV -250mV 250mV
Bit Rate 300 kb/s 270 kb/s 330 kb/s 330 kb/s
Rise/Fall Time 735 ns 735 ns 735 ns 735 ns

Figure 1: using mid-level to find the reference unit interval

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 41
Figure 2: Example of producing eye diagram

Figure 3: Noise injection generator and calibration fixture setup

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.

The tests in this subsection are applicable to all UUTs.

Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:

 The Tester always replies with an Accept message to a DR_Swap message


 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PHY.ALL.1 Transmit Bit Rate and the Drift


Description: The Tester checks that the UUT transmitted data meets the bit rate requirements and it
correctly implements BIST Carrier Mode 2.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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

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.

TEST.PD.PHY.ALL.2 Transmitter Eye Diagram


Description: The Tester checks that the UUT transmitted data meets the eye diagram mask
requirements.

Test Specific Tester Behavior:

If bring-up will result in the UUT being a Sink:

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.

If bring-up will result in the UUT being a Source:

- 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 Conditions: (check email)

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
CabFlippedSrc ✓
CabFlippedSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMidEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMidEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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

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.PD.PHY.ALL.3 Collision Avoidance


Description: The Tester checks that the UUT properly implements collision avoidance requirements.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3eVcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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 Test Data”.
3. The Tester waits 15ms.
4. The Tester sends a BIST request to the UUT, specifying “BIST Test Data”.
5. Exactly 17us after the end of the previous packet, the Tester transmits a bit stream sequence
(alternating 0s and 1s simulating a preamble) for a duration of 200 us. Editorial note: it takes 2
UI (3.7us tUnitInterval max) to generate 3 transitions (nTransitionCount). So that is 25us
(tInterFrameGap) minus 7.4us.
6. 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#1]
7. The Tester sends a BIST request to the UUT, specifying “BIST Test Data”.

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.PD.PHY.ALL.4 Bus Idle Detection


Description: The Tester checks that the expected levels of noise on the CC line do not prevent the UUT
from detecting a bus idle condition.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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 Test Data”.
3. The Tester waits 15ms.
4. The Tester sends a BIST request to the UUT, specifying “BIST Test Data”.
5. Immediately after the end of the previous packet, the Tester either transmits simulated noise
waveforms using an Arbitrary Waveform Generator (AWG) or transmits the two-tone noise
waveforms for 438us.

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.

The two-tone sinusoidal noise waveform is generated as followed:

1. The noise calibration setup is as shown in Figure 3:


a. The equivalent impedance of the Tester BMC transmitter and the noise generator is 50
Ohm +/- 10% and 400pF +/-15%
b. The calibration fixture consists of a bandwidth limiting filter as shown in Figure 3. The
probe capacitance loading effect shall be considered.
2. The noise generator provides a superimposed two-tone sinusoidal waveform. One at 750 ± 50
kHz and another at 5 ± 0.5 MHz.
3. The noise magnitude is calibrated using a scope connected to the calibration fixture (refer to
Figure 4):
a. First, inject 750 kHz sinusoidal waveform and adjust the magnitude until the scope
(attached to the calibration fixture) measures 90mV peak-to-peak.
b. Next, superimpose 5 MHz sinusoidal waveform on the 750 kHz waveform, adjust the
magnitude of the 5 MHz sinusoidal waveform until the scope measures 300mV peak-to-
peak.

The Arbitrary Waveform Generator (AWG) waveform is generated as followed:

1. The noise calibration setup is as shown in Figure 3:


a. The equivalent impedance of the Tester BMC transmitter and the noise generator is 50
Ohm +/- 10% and 400pF +/-15%
b. The calibration fixture consists of a bandwidth limiting filter as shown in Figure 3. The
probe capacitance loading effect shall be considered.
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.PD.PHY.ALL.5 Receiver Interference Rejection


Description: The Tester checks that the UUT correctly receives signals under boundary conditions.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 51
Rev3Src ✓ ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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 BIST request to the UUT, specifying “BIST Test Data”.
3. The Tester waits 15ms.
4. Using TX_GROUP_1 parameters in the Receiver Test Signaling Table, the Tester sends “BIST Test
Data” message (without incrementing MessageID) for 13362 times. The noise generator
transmits two-tone noise or AWG waveforms when the Tester sends the BIST Tester Data
message, and the two-tone noise or AWG waveforms are not transmitted when the Tester stops
sending BIST Tester Data message. The check fails if UUT does not respond with a GoodCRC for
each of the “BIST Test Data” message. [TEST.PD.PHY.ALL.5#1]
5. The Tester runs the following procedures depending on the power role:

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.

The two-tone sinusoidal noise waveform is generated as followed:

1. The noise calibration setup is as shown in Figure 3:


a. The equivalent impedance of the Tester BMC transmitter and the noise generator is 50
Ohm +/- 10% and 400pF +/-15%
b. The calibration fixture consists of a bandwidth limiting filter as shown in Figure 3. The
probe capacitance loading effect shall be considered.
2. The noise generator provides a superimposed two-tone sinusoidal waveform. One at 750 ± 50
kHz and another at 5 ± 0.5 MHz.
3. The noise magnitude is calibrated using a scope connected to the calibration fixture (refer to
Figure 4):
a. First, inject 750 kHz sinusoidal waveform and adjust the magnitude until the scope
(attached to the calibration fixture) measures 90mV peak-to-peak. The offset is at 0V.
b. Next, superimpose 5 MHz sinusoidal waveform on the 750 kHz waveform, adjust the
magnitude of the 5 MHz sinusoidal waveform until the scope measures 165mV peak-to-
peak. The offset is at 0V.

The Arbitrary Waveform Generator (AWG) waveform is generated as followed:

1. The noise calibration setup is as shown in Figure 3:


a. The equivalent impedance of the Tester BMC transmitter and the noise generator is 50
Ohm +/- 10% and 400pF +/-15%
b. The calibration fixture consists of a bandwidth limiting filter as shown in Figure 3. The
probe capacitance loading effect shall be considered.

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.PD.PHY.ALL.6 Invalid SOP*


Description: The Tester checks that the UUT responds correctly to invalid SOP*.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓
Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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 Test Data”.
3. The Tester waits 15ms to respond to messages from the UUT.
4. Transmit a BIST message with BIST Test Data object using SOP packet
5. Transmit 10 BIST Test Data messages flipping Bit 0 of the first two symbols (number 1&2) of the
SOP. The check fails if the UUT responds with a GoodCRC. [TEST.PD.PHY.ALL.6#1]

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.PD.PHY.ALL.7 Valid SOP*


Description: The Tester checks that the UUT responds correctly to valid SOP*.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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 10 BIST Test Data messages using SOP packet.
a. The check fails if the Cable Plug UUT respond with a GoodCRC [TEST.PD.PHY.ALL.7#1]
3. The Tester sends 10 BIST Test Data messages using SOP’.
a. If VIF field SOP_P_Capable = YES and the UUT is a VCONN Source, check that the UUT
responds with a GoodCRC. [TEST.PD.PHY.ALL.7#2]
b. If the UUT is not a VCONN Source or VIF field SOP_P_Capable = No, the check fails if the
UUT responds with a GoodCRC. [TEST.PD.PHY.ALL.7#3]
c. The check fails if the Cable Plug UUT does not respond with a GoodCRC
[TEST.PD.PHY.ALL.7#4]

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.PD.PHY.ALL.8 Incorrect CRC


Description: The Tester checks that the UUT does not provides a GoodCRC to an intentionally corrupted
message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P Cable VPD


Only Only, P/C
Rev3Src ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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

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.PD.PHY.ALL.9 Receiver Input Impedance


Description: The Tester checks that the UUT receiver input impedance is not excessively low. It also
checks that UUT does not modify voltage levels in any received message waveform.
It is not practical to directly measure the input impedance of the receiver in the UUT (required to be >=
1 MΩ), as it is masked by the Rp / Rd resistors. Instead we will assume the presence of these resistors
and measure that the resulting resistance falls within a valid range.

Test Specific Tester Behavior: N/A

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:

1. There are 4 possible bring-up procedures:


a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
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 Test Data”.
3. Depending on the UUT
a. For Sink: Check that the voltage on the CC line falls within the expected range, knowing
the values of the Rp and Rd resistors [TEST.PD.PHY.ALL.9#1]
b. For Source: Check that the voltage on the CC line falls within one of the two expected
ranges, knowing the possible values of the Rp and Rd resistors [TEST.PD.PHY.ALL.9#2]
c. For Cable Plug: Check that the voltage on the CC line falls within the expected range,
knowing the value of these resistors [TEST.PD.PHY.ALL.9#3]
4. Reset UUT by simulating a tester end cable detach, in order to guarantee exiting the BIST Mode.
5. Depending on the UUT
a. The UUT has VIF field PD_Port_Type set to Consumer Only, Consumer/Provider or DRP.
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 Provider Only or Provider/Consumer. The
Tester behaves as a Sink only and it runs bring-up procedure with the UUT as a Source
COMMON.PROC.BU.1.
c. 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
6. The Tester sends a BIST request to the UUT, specifying “BIST Test Data”.

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.

3.2 Test Procedures for Source and Sink Capable UUTs


3.2.1 PD3 Mode
The tests in this subsection are run only in PD3 mode.

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:

 The Tester always replies with an Accept message to a DR_Swap message


 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PHY.PORT.1 Invalid Reset Signals


Description: The Tester checks that the UUT responds correctly to invalid reset signals. Also, the Tester
checks that the UUT ignores messages upon reception of a BIST Test Data BIST data Object.

Test Specific Tester Behavior: N/A

1. PD3 Source [Rev3Src]


2. PD3 Sink [Rev3Snk]

Consumer Provider DRP, C/P,


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓

Test Procedures:

1. 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

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.

4.1 Test Procedures for All UUTs


4.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 all UUTs.

Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:

 The Tester always replies with an Accept message to a DR_Swap message


 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.ALL.1 Corrupted GoodCRC


Description: The Tester checks that the UUT retransmits the PD message if it does not receive a correct
GoodCRC.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2Src ✓ ✓
Rev3Src ✓ ✓
Rev2Snk ✓ ✓
Rev3Snk ✓ ✓
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 possible bring-up 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.PD.PROT.ALL.2 Soft Reset and Hard Reset


Description: The Tester checks that the UUT uses Soft Reset and Hard Reset correctly.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2Src ✓ ✓
Rev3Src ✓ ✓
Rev2Snk ✓ ✓
Rev3Snk ✓ ✓
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 63
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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.2#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.2#2]
c. If the UUT is a Source, the Tester checks the response as follows:
[TEST.PD.PROT.ALL.2#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.

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.PD.PROT.ALL.3 Soft Reset Response


Description: The Tester checks that the UUT responds correctly to Soft Reset message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2Src ✓ ✓
Rev3Src ✓ ✓
Rev2Snk ✓ ✓
Rev3Snk ✓ ✓
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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

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.PD.PROT.ALL.4 Reset Signals and MessageID


Description: The Tester checks that the UUT responds correctly to Hard Reset and Cable Reset signals.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2Src ✓ ✓
Rev3Src ✓ ✓
Rev2Snk ✓ ✓
Rev3Snk ✓ ✓
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 possible bring-up 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.PD.PROT.ALL.5 Unrecognized Message


Description: The Tester checks that the UUT responds correctly to unrecognized message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2Src ✓ ✓
Rev3Src ✓ ✓
Rev2Snk ✓ ✓
Rev3Snk ✓ ✓
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 71
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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 the following message, depending on the UUT type/role:
a. If the UUT is a Cable Plug, the Tester sends an Extended Message:
i. Chunked bit = 1
ii. Data Size field set to 26
iii. Message Type field set to 1110b (Reserved, in PD2 mode) or 11111b (Reserved,
in PD3 mode).
iv. Bytes 0 to 25 of data block contain incrementing values starting at 0x00
b. If the UUT is a Source or Sink, the Tester sends a Control Message with Message Type
field set to 1110b (Reserved, in PD2 mode) or 11111b (Reserved, in PD3 mode).

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]

4.1.2 PD3 Mode


The tests in this subsection are run only in PD3 mode.

The tests in this subsection are applicable to all UUTs.

Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:

 The Tester always replies with an Accept message to a DR_Swap message


 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.ALL3.1 Get_Status Response


Description: The Tester verifies that the UUT responds correctly to Get_Status message.

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnChkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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

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.PD.PROT.ALL3.2 Get_Manufacturer_Info Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Manufacturer_Info
message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnChkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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

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.PD.PROT.ALL3.3 Invalid Manufacturer Info Target


Description: The Tester sends a Get_Manufacturer message with an invalid target and verifies correct
field values in the response message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnChkdSrc ✓ ✓

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 76
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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 2 and
Manufacturer Info Ref set to 0.
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.3#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.3#2]
4. The Tester verifies Manufacturer_Info message: the check fails if
a. Manufacturer String in Manufacturer Info Data Block is not null terminated ASCII text
string "Not Supported"

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.PD.PROT.ALL3.4 Invalid Manufacturer Info Ref


Description: The Tester sends a Get_Manufacturer message with an invalid reference and verifies
correct field values in the response message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnChkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).

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.PD.PROT.ALL3.5 Chunked Extended Message Response


Description: The Tester verifies that the UUT receives a chunked extended message correctly by sending
messages to request chunks.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 79
Test Procedures:

1. There are 7 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).
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 the first chunk of a chunked extended message to the UUT
a. Chunked bit = 1
b. Data Size field set to 260
c. Message Type set to 11111b
d. Bytes 0 to 259 of data block contain incrementing values (mod 256) starting at 0x00
3. The tester checks the response
a. If the UUT is a Cable Plug, the Tester check the response:
[TEST.PD.PROT.ALL3.5#1]
i. The check fails if the UUT does not respond with either Ignore or a request for a
Chunk of Data Block message.
ii. If the message is ignored, the test ends here.
The check fails if VIF field Chunking_Implemented = YES
iii. If a request for a Chunk of a Data Block is received
1. The check fails if the request for a Chunk of a Data Block is not received
within tChunkReceiverRequest max
2. The check fails if VIF field Chunking_Implemented = NO
b. If the UUT is a Source or Sink, the Tester check the response: [TEST.PD.PROT.ALL3.5#2]

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.PD.PROT.ALL3.6 ChunkSenderResponseTimer Timeout


Description: The Tester verifies that the UUT recovers correctly after the Tester stops sending chunked
messages in the middle.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓
Rev3VcMinEnd1 ✓ ✓

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 81
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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 the first chunk of a chunked extended message to the UUT
a. Chunked bit = 1
b. Data Size field set to 260
c. Message Type set to 11111b
d. Bytes 0 to 259 of data block contain incrementing values (mod 256) starting at 0x00
3. 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#1]
b. If the UUT is a Source or Sink, the Tester checks response: [TEST.PD.PROT.ALL3.6#2]
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, and it is not received
between tChunkingNotSupported min and tChunkingNotSupported max

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

TEST.PD.PROT.ALL3.7 Security Messages Supported


Description: The Tester verifies the support of security messages is as specified in the VIF.

Test Specific Tester Behavior: N/A

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 83
Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnChkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnChkdSnk ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 7 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).
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 Security_Request message, in which SRQDB is set to {0x01, 0x81, 0x00,
0x00}, to the UUT.
3. The Tester checks the response:

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.

4.2 Test Procedures for Source and Sink Capable UUTs


4.2.1 PD2 and PD3 Modes
None

4.2.2 PD3 Mode


The tests in this subsection are run only in PD3 mode.

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:

 The Tester always replies with an Accept message to a DR_Swap message


 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.PORT3.1 Get_Battery_Status Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Battery_Status message

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓

Test Procedures:

1. 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

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.PD.PROT.PORT3.2 Invalid Battery Status Reference


Description: The Tester sends a Get_Battery_Status message with an invalid battery reference to the
UUT and verifies correct field values in the response message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓

Test Procedures:

1. 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

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.PD.PROT.PORT3.3 Get_Battery_Cap Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Battery_Cap message

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnchkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnchkdSnk ✓ ✓

Test Procedures:

1. There are 5 possible bring-up 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.PD.PROT.PORT3.4 Invalid Battery Capabilities Reference


Description: The Tester sends a Get_Battery_Capabilities message with an invalid battery reference to
the UUT and verifies correct field values in the response message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnchkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnchkdSnk ✓ ✓

Test Procedures:

1. 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).
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.

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.PD.PROT.PORT3.5 Get_Country_Codes Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Country_Codes message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnchkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnchkdSnk ✓ ✓

Test Procedures:

1. 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).

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.PD.PROT.PORT3.6 Get_Country_Info Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Country_Info message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3ChkdSrc ✓ ✓
Rev3UnchkdSrc ✓ ✓
Rev3ChkdSnk ✓ ✓
Rev3UnchkdSnk ✓ ✓

Test Procedures:

1. 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.

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 Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider DRP, C/P,


Only Only P/C
Rev3Src ✓ ✓
Rev3Snk ✓ ✓

Test Procedures:

1. If Unchunked_Extended_Messages_Supported is set to no in the vendor file, this test passes and


stops here.

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]

4.3 Test Procedures for Source Capable UUT


4.3.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:

 The Tester is a Sink


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5

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.PD.PROT.SRC.1 Get_Source_Cap Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Source_Cap message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
DRP, P/C
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 a Get_Source_Cap message to the UUT.
3. The check fails if the Tester does not receive Source Capabilities message.
[TEST.PD.PROT.SRC.1#1]

4. Once the Tester receives Source Capabilities message, the Tester establishes a PD contract using
common procedure COMMON.PROC.PD.11.

-TEST.PD.PROT.SRC.2 Get_Source_Cap No Request


Description: The Tester sends a Get_Source_Cap message to the UUT. After receiving a
Source_Capabilities message, the Tester intentionally does not send the Request message to force a
SenderResponseTimer timeout on the Source UUT. The Tester verifies correct implementation of this
timer.

Test Specific Tester Behavior: N/A

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:

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 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 a Get_Source_Cap message to the UUT.
3. The check fails if the Tester does not receive Source Capabilities message.
[TEST.PD.PROT.SRC.2#1]
4. The Tester does not send a Request message after receiving Source Capabilities message.
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.SRC.2#2]

TEST.PD.PROT.SRC.3 SenderResponseTimer Deadline


Description: As a Sink, the Tester checks that the UUT accepts a Request message sent at the deadline
limit of tSenderResponse min in reply to a Source Capabilities message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

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.

5. The Tester checks the response [TEST.PD.PROT.SRC.3#2]

a. The check fails if the UUT does not send an Accept message

b. The check fails if the UUT sent a Hard Reset

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 Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

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.

5. The check fails if a Reject message is not received. [TEST.PD.PROT.SRC.4#2]

6. Restart the test from Step 1 by sending Request to the next PDO.

TEST.PD.PROT.SRC.5 Reject Request Invalid Object Position


Description: As a Sink, the Tester sends a Request with an invalid object position, and verifies the
request is rejected by the UUT.

Test Specific Tester Behavior: N/A

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.

2. The Tester applies Rd and it waits for VBUS present.

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:

a. If Num_Src_PDOs = 7, then set Object Position field to 0

b. Otherwise, set Object Position field to 1 + Num_Src_PDOs

5. The check fails if the UUT does not respond with a Reject message. [TEST.PD.PROT.SRC.5#2]

TEST.PD.PROT.SRC.6 Atomic Message Sequence – Request


Description: As a Sink, the Tester sends a Get_Sink_Cap message instead of a Request message and
verifies that the UUT correctly sends a Soft Reset to recover from this error.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev2Src ✓
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

2. The Tester applies Rd and it waits for VBUS present.

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]

4. The Tester sends a Get_Sink_Cap message instead of a Request message.

5. The check fails if a Soft_Reset message is not received within tProtErrSoftReset.


[TEST.PD.PROT.SRC.6#2]

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 Specific Tester Behavior:

 The Tester always replies with a Reject message to a DR_Swap message

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 instead sends Request message with B25 (USB Communication Capable) set to 1b.
3. The Tester sends a DR_Swap message.
4. The Tester checks the response. [TEST.PD.PROT.SRC.7#1]
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_UFP_Supported = Yes.
ii. In PD3, the UUT responds with either:
1. Not_Supported and (VIF field DR_Swap_To_UFP_Supported = Yes or VIF
field DR_Swap_To_DFP_Supported = Yes) or
2. Reject and the VIF fields DR_Swap_To_UFP_Supported = Yes

If the check fails, the test ends here.

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.PD.PROT.SRC.8 VCONN_Swap Response


Description: As a Sink, the Tester sends a VCONN_Swap message, and verifies that the UUT responds
correctly.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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.

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.PD.PROT.SRC.9 PR_Swap Response


Description: The Tester verifies that the initial Source UUT responds correctly to the PR_Swap message.

Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Sink


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 1b
COMMON.PROC.PD.3

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:

2. 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 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.
3. The Tester sends a PR_Swap message.
4. The Tester checks the response. [TEST.PD.PROT.SRC.9#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 = 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.
d. The check fails if the UUT responds with an Accept message and the VIF field
Accept_PR_Swap_As_Src = No
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 asserts Rd and sends a PS_RDY message after the UUT driving
VBUS voltage to vSafe0V. [TEST.PD.PROT.SRC.9#2]
7. The Tester checks that the UUT sends PS_RDY within tPSSourceOff min after the last bit of
GoodCRC was sent in response to the received Accept. [TEST.PD.PROT.SRC.9#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 Source Capabilities message with single PDO (5V @ 100mA, B29 Dual-Role
Power set to 1b). The Tester checks that the UUT sends a Request message.
[TEST.PD.PROT.SRC.9#4] The Tester uses the common procedure COMMON.PROC.PD.10 to
establish a PD contract.
10. The UUT is now a Sink and the Tester is a Source.
11. The Tester sends a PR_Swap message.
12. The Tester checks the response. [TEST.PD.PROT.SRC.9#5]
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.

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.PD.PROT.SRC.10 PR_Swap – PSSourceOnTimer Timeout


Description: As a new Source, the Tester intentionally does not send a PS_RDY message after a PR_Swap
in order to force a PSSourceOnTimer timeout on the UUT and verifies it is correctly implemented.

Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Sink


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 1b
COMMON.PROC.PD.3

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 UUT as a Source COMMON.PROC.BU.7.

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.PD.PROT.SRC.11 Unexpected Message Received in Ready State


Description: As a Sink, the Tester sends an unexpected message to the UUT after setting up a contract
with the UUT and verifies the UUT does Soft Reset.

Test Specific Tester Behavior: N/A

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:

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 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 Accept message to the UUT.
3. The check fails if a Soft Reset message is not received within tProtErrSoftReset max.
[TEST.PD.PROT.SRC.11#1] This delay is measured from the EOP of the GoodCRC corresponding
to the Accept message has been received to the time the EOP the Soft Reset message has been
received.

TEST.PD.PROT.SRC.12 Get_Sink_Cap Response


Description: The Tester verifies that the Source UUT responds correctly to Get_Sink_Cap message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 a Get_Sink_Cap message to the UUT.
3. The Tester checks the response. [TEST.PD.PROT.SRC.12#1]
a. The check fails if VIF field PD_Port_Type = Provider Only, and a Reject message or
Not_Suppored (PD3 only) is not received. The test stops here.
b. The check fails if VIF field PD_Port_Type = Provider/Consumer or DRP, and a Sink
Capabilities message is not received.

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 Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Sink


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 1b
COMMON.PROC.PD.3

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 a PR_Swap message.
3. The Tester checks the response. [TEST.PD.PROT.SRC.13#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.13#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. Upon receipt of the PS_RDY message, the Tester intentionally does not reply with GoodCRC to
force retries, and then Protocol Error state on the UUT.

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]

4.3.2 PD3 Mode


The tests in this subsection are run only in PD3 mode.

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:

 The Tester is a Sink only


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.SRC3.1 SourceCapabilityTimer Timeout


Description: The Tester waits for a Source Capabilities message from the Source UUT. The Tester
intentionally does not reply with a GoodCRC in order to force a SourceCapabilityTimer timeout, then
verifies it is correctly implemented.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

2. The Tester applies Rd and it waits for VBUS present.

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.

8. The Tester checks the values of tTESTSourceCapabilityTimer [TEST.PD.PROT.SRC3.1#2]

a. The check fails if the value of tTESTSourceCapabilityTimer is larger than 201.1 ms


(tTypeCSendSourceCap max + tReceive max)

b. The check fails if the value of tTESTSourceCapabilityTimer is smaller than 100.9 ms


(tTypeCSendSourceCap min + tReceive min)

TEST.PD.PROT.SRC3.2 SenderResponseTimer Timeout


Description: As a Sink, the Tester intentionally does not send the Request message to force a
SenderResponseTimer timeout on the Source UUT. The Tester verifies correct implementation of this
timer.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

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 Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓

Test Procedures:

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 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 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.SRC3.3#1]
4. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.

TEST.PD.PROT.SRC3.4 Alert Response Source Input Change


Description: As a Sink, the Tester sends Alert message indicating Source Input Change and verifies the
response messages. Note that there isn’t any specific failure condition for this test, however, failure as a
side effect of this will be captured as part of the COMMON checks and procedures.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓

Test Procedures:

1. There are 2 possible bring-up 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.PD.PROT.SRC3.5 Alert Response Battery Status Change


Description: As a Sink, the Tester sends Alert message indicating Battery Status Change and verifies the
response messages.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3ChkdSrc ✓
Rev3UnchkdSrc ✓

Test Procedures:

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 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
a. Type of Alert field = Battery Status Change Event (Bit 1)
b. Fixed Batteries = Battery 0 (B20)
3. Upon receiving the Get_Battery_Status message, the Tester checks Battery Status Ref = 0.
[TEST.PD.PROT.SRC3.5#1]
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_Battery_Status message is not received within 500 ms after the last Alert
message was sent

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.PD.PROT.SRC3.6 Soft_Reset Sent when SinkTxOK


Description: As a Sink, the Tester forces the UUT to send Soft_Reset and verifies Soft_Reset is sent when
the Rp value is SinkTxOK.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓

Test Procedures:

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 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 a Get_Source_Cap message to the UUT.
3. Upon receipt of the Source_Capabilities Message, the Tester doesn't reply with GoodCRC.
4. The check fails if a Soft_Reset message is not sent by the UUT within tReceive max + tSoftReset
max, the delay is measured from the time the last bit of the last retransmitted
Source_Capabilities Message EOP has been received to the time the last bit of the Soft_Reset
message EOP has been received. [TEST.PD.PROT.SRC3.6#1]

TEST.PD.PROT.SRC3.7 Get_PPS_Status Response


Description: The Tester verifies that the Source UUT responds correctly to Get_PPS_Status message.

Test Specific Tester Behavior: N/A

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

b. Output Current field shall be 0x00 to 0x03(inclusive) or 0xFF

c. For Real Time Flags field

d. Bit 0 shall be 0

e. PTF shall be 0x00 (Not Supported) or 0x01 (Normal)

f. OMF shall be 0 (Constant Voltage mode)

g. Bits 4..7 shall be 0

5. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.

TEST.PD.PROT.SRC3.8 SourcePPSCommTimer Deadline


Description: As a Sink, the Tester sends the second Request message after tPPSRequest max, verifies
SourcePPSCommTimer is not timeout at the UUT and the timer is correctly reinitialized.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓

Test Procedures:

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.

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.PD.PROT.SRC3.9 SourcePPSCommTimer Timeout


Description: As a Sink PPS, the Tester intentionally stops resending Request message, in order to force a
SourcePPSCommTimer timeout on the UUT and verifies it is correctly implemented.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓

Test Procedures:

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 repeats the following steps 3 times:
a. At tPPSRequest max after the previously sent Request Message, the Tester sends a
Request Message requesting Programmable Power Supply APDO 4V 1A. The check fails
if the Tester cannot send the Request message at tPPSRequest max because the UUT
has presented SinkTxNG. [TEST.PD.PROT.SRC3.9#1]
3. The Tester intentionally stops sending Request message.
4. The check fails if a Hard Reset is received before tPPSTimeout min, or not received within
tPPSTimeout max. [TEST.PD.PROT.SRC3.9#2] The delay is measured from the time the last bit of

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.PD.PROT.SRC3.10 SourcePPSCommTimer Stopped


Description: As a Sink, the Tester request a PPS APDO first and then request a fixed PDO, verifies
SourcePPSCommTimer is stopped at the UUT.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev3Src ✓

Test Procedures:

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 check fails if a Hard Reset is received within tPPSRequest max. [TEST.PD.PROT.SRC3.10#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 Fixed Supply PDO at 5V 0.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.10#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.10#3]
5. The check fails if a Hard Reset is received within tPPSTimeout max + 15ms.
[TEST.PD.PROT.SRC3.10#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.PD.PROT.SRC3.11 GoodCRC Specification Revision Compatibility


Description: As a Sink, the Tester verifies the UUT accepts GoodCRC with Specification Revision set to
00b, 01b, or 10b.

Test Specific Tester Behavior: N/A

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:

1. The test starts in a disconnected state.

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.PD.PROT.SRC3.12 FR_Swap Without Signaling


Description: The tester checks the UUT response to an invalid FR_Swap message

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, DRP,
P/C, C/P
Rev3Src ✓

Test Procedures:

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 FR_Swap message to the UUT.


3. The Tester checks the response: [TEST.PD.PROT.SRC3.12#1]
a. If FR_Swap_Reqd_Type_C_Current_As_Initial_Source field (in the VIF) is zero value, the
Tester checks that the UUT sends Not_Supported.

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.PD.PROT.SRC3.13 Cable Type Detection


Description: As a Sink, the Tester verifies that the UUT does cable detection if it offers currents in excess
of 3A, voltages in excess of 20V or both.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P Only, DRP,
P/C
Rev3Src ✓

Test Procedures:

1. The test starts in a disconnected state.

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]

4. The Tester removes all terminations and simulates a disconnection

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]

7. The Tester removes all terminations and simulates a disconnection

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]

a. The check fails if SOP' Discover Identity message is received.

b. The check fails if the UUT sends Source Capabilities offering currents in excess of 3A
and/or voltages in excess of 20V

4.4 Test Procedures for Sink Capable UUT


4.4.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 Consumer Only,
Consumer/Provider and DRP.

Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:

 The Tester is a Source only


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.SNK.1 Get_Sink_Cap Response


Description: The Tester verifies that the Sink UUT responds correctly to the Get_Sink_Cap message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, DRP, Only
P/C, 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 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.PD.PROT.SNK.2 Get_Source_Cap Response


Description: The Tester verifies that the Sink UUT responds correctly to the Get_Source_Cap message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
C/P, DRP
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
2. The Tester sends a Get_Source_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 Tester checks the response. [TEST.PD.PROT.SNK.2#1]
a. The check fails if VIF field PD_Port_Type = Consumer Only and the UUT does not send a
Reject message (in PD2 mode) or Not_Supported (in PD3 mode).
b. The check fails if VIF field PD_Port_Type != Consumer Only and the UUT does not send a
Source Capabilities message

TEST.PD.PROT.SNK.3 SinkWaitCapTimer Deadline


Description: The Tester verifies that the UUT provides a Request to a Source Capabilities message sent at
the deadline limit of tTypeCSinkWaitCap after a Hard Reset.

Test Specific Tester Behavior: N/A

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:

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 Hard Reset. It drives VBUS to vSafe0V and then restores VBUS to vSafe5V.

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):

a. B31…30 (Fixed Supply) set to 00b


b. B29 (Dual-Role Power) set to 0b, Tester is a Source only
c. B28 (USB Suspend Supported) set to 0b
d. B26 (USB Communications Capable) set to 0b
e. B25 (Dual-Role Data) set to 0b
f. B24…22 (Reserved) set to 00b
g. B21…20 (Peak Current) set to 00b
h. B19…10 (Voltage) set to 5V
i. B9…0 (Maximum Current) set to 100mA
4. The Tester continues to present SinkTxNG while waiting for a response if the test is running in
PD3 mode. The Tester checks that the UUT responds with a Request message.
[TEST.PD.PROT.SNK.3#1]

TEST.PD.PROT.SNK.4 SinkWaitCapTimer Timeout


Description: The Tester does not send Source Capabilities message after cycling VBUS to force a
SinkWaitCapTimer timeout on the UUT, then verifies it is correctly implemented.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
C/P, DRP
Rev2Snk ✓
Rev3Snk ✓

Test Procedures:

1. There are 2 possible bring-up 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.PD.PROT.SNK.5 SenderResponseTimer Deadline


Description: The Tester verifies that the UUT accepts an Accept message sent at the deadline limit of
tSenderResponse min.

Test Specific Tester Behavior: N/A

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

2. The Tester transmits Source Capabilities message with single PDO


a. B31…30 (Fixed Supply) set to 00b
b. B29 (Dual-Role Power) set to 0b, Tester is a Source only
c. B28 (USB Suspend Supported) set to 0b
d. B26 (USB Communications Capable) set to 0b
e. B25 (Dual-Role Data) set to 0b
f. B24…22 (Reserved) set to 00b
g. B21…20 (Peak Current) set to 00b
h. B19…10 (Voltage) set to 5V
i. B9…0 (Maximum Current) set to 100mA
3. The Tester continues to present SinkTxNG while waiting for a response if the test is running in
PD3 mode. The check fails if the UUT does not respond with a Request message.

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.PD.PROT.SNK.6 SenderResponseTimer Timeout


Description: The Tester does not respond to the Request message from the UUT, in order to force a
SenderResponseTimer timeout on the UUT and verifies it is correctly implemented.

Test Specific Tester Behavior: N/A

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

2. The Tester transmits Source Capabilities message with single


a. B31…30 (Fixed Supply) set to 00b
b. B29 (Dual-Role Power) set to 0b, Tester is a Source only
c. B28 (USB Suspend Supported) set to 0b
d. B26 (USB Communications Capable) set to 0b
e. B25 (Dual-Role Data) set to 0b
f. B24…22 (Reserved) set to 00b
g. B21…20 (Peak Current) set to 00b
h. B19…10 (Voltage) set to 5V
i. B9…0 (Maximum Current) set to 100mA
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.
4. The Tester does not send an Accept (as a response to the Request message) in order to force a
SenderResponseTimer timeout on the UUT.
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.SNK.6#1]

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 Specific Tester Behavior: N/A

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

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.PD.PROT.SNK.8 Atomic Message Sequence – Accept


Description: The Tester sends a GetSinkCap message in place of Accept message and verifies the UUT
will send a SoftReset and recover from the error.

Test Specific Tester Behavior: N/A

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:

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 Hard Reset. It drives VBUS to vSafe0V and then restores VBUS to vSafe5V.

3. The Tester transmits Source Capabilities message with single PDO immediately prior to
tTypeCSinkWaitCap min

a. B31…30 (Fixed Supply) set to 00b


b. B29 (Dual-Role Power) set to 0b, Tester is a Source only
c. B28 (USB Suspend Supported) set to 0b
d. B26 (USB Communications Capable) set to 0b
e. B25 (Dual-Role Data) set to 0b
f. B24…22 (Reserved) set to 00b
g. B21…20 (Peak Current) set to 00b
h. B19…10 (Voltage) set to 5V
i. B9…0 (Maximum Current) set to 100mA
4. The Tester continues to present SinkTxNG while waiting for a response if the test is running in
PD3 mode. The check fails if the UUT does not respond with a Request message.
[TEST.PD.PROT.SNK.8#1]
5. The Tester sends a Get_Sink_Cap message at the limit of tReceiverResponse max after the
reception of Request message. The delay is from the time the last bit of the EOP of the GoodCRC
corresponding to the Request message.

6. The check fails if a Soft_Reset message is not received within tProtErrSoftReset max.
[TEST.PD.PROT.SNK.8#2]

7. The Tester responds with an Accept message to the Soft_Reset message.

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.PD.PROT.SNK.9 Atomic Message Sequence – PS_RDY


Description: The Tester sends a GetSinkCap message in place of PS_RDY message and verifies the UUT
will send a Hard Reset.

Test Specific Tester Behavior: N/A

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:

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 Hard Reset.
3. 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.
4. 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.9#1]
5. The Tester responds with an Accept message to the Request message.
6. The Tester sends a Get_Sink_Cap message at tPSTransition min after the last bit of the EOP of
the Accept message sent.
7. The check fails if a Hard Reset is not received within 15ms after the last bit of the EOP of the
GoodCRC message received. [TEST.PD.PROT.SNK.9#2]

TEST.PD.PROT.SNK.10 DR_Swap Request


Description: As a Sink, the Tester sends a DR_Swap message, and verifies that the UUT responds
correctly.

Test Specific Tester Behavior:

 The Tester always replies with a Reject message to a DR_Swap message

Test Conditions:

Consumer Provider
Only, P/C, Only
DRP, C/P
Rev2Snk ✓
Rev3Snk ✓

Test Procedures:

1. There are 2 possible bring-up 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

If the check fails, the test ends here.

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.PD.PROT.SNK.11 VCONN_Swap Request


Description: As a Source, the Tester sends a VCONN_Swap message, and verifies that the UUT responds
correctly.

Test Specific Tester Behavior: N/A

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:

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 presents Ra to the non-CC line (of the UUT). The Tester checks that VCONN is not
present at the non-CC line. [TEST.PD.PROT.SNK.11#1]
3. The Tester requests a VCONN_Swap. The Tester continues to present SinkTxNG while waiting for
a response if the test is running in PD3 mode.
4. The Tester checks the response. [TEST.PD.PROT.SNK.11#2]
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 and the test ends here if the UUT responds with a Reject message or
Not_Supported (PD3 only), and the VIF field VCONN_Swap_To_On_Supported = Yes
c. The check fails if the UUT responds with an Accept message and the VIF field
VCONN_Swap_To_On_Supported = No
d. The test ends here if the UUT does not send an Accept message.
5. The Tester checks that the UUT sends a PS_RDY message. [TEST.PD.PROT.SNK.11#3]
6. The Tester checks that VCONN is present at the non-CC line. [TEST.PD.PROT.SNK.11#4]
7. The Tester requests a further VCONN_Swap.
8. The Tester checks the response. [TEST.PD.PROT.SNK.11#5]
a. If the UUT's response is a Wait, the Tester waits tVCONNSwapWait + 15ms seconds to
resend VCONN_Swap. The Tester sends VCONN_Swap up to 10 times, and the test ends
here if the UUT does not respond with an Accept or Reject message.
i. In PD3 mode and the UUT responds with a Reject message, the check fails.
ii. In PD2 mode and the UUT responds with a Reject message, the check fails if
VCONN_Swap_To_Off_Supported = YES.
9. The Tester sends a PS_RDY message.
10. The Tester checks that the UUT does not present VCONN at the non-CC line within
tVCONNSourceOff. [TEST.PD.PROT.SNK.11#6]

TEST.PD.PROT.SNK.12 PR_Swap – PSSourceOffTimer Timeout


Description: As a new Sink, the Tester intentionally does not send a PS_RDY message after a PR_Swap in
order to force a PSSourceOffTimer timeout on the UUT and verifies it is correctly implemented.

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 126
Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Source


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 0b
COMMON.PROC.PD.3

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
2. The Tester sends a PR_Swap message. 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.12#1]
a. If the UUT responds with a Wait message, the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. The check fails and the test ends here if the Tester
has resent PR_Swap for 10 times.
b. If the VIF field Accept_PR_Swap_As_Snk = No, the check fails if the UUT responds with
an Accept message.
c. If the VIF field Accept_PR_Swap_As_Snk = Yes, the check fails if the UUT responds with a
Reject message or Not Supported (PD3 only).
d. If the VIF field PD_Port_Type is set to “Consumer Only”, the Tester checks that the UUT
responds with a Reject message or Not Supported (PD3 only). The test ends here.
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 continues to assert Rp (i.e. the Tester does not assert Rd so that Tester can detect
the UUT entering Error Recovery). The Tester does not send a PS_RDY message, in order to force
a PSSourceOffTimer timeout on the UUT.
6. A USB Type-C Error Recovery is expected from the UUT. The Tester checks the response:
[TEST.PD.PROT.SNK.12#2]
a. The check fails if a USB Type-C Error Recovery is not detected after tPSSourceOff max
after the time the last bit of the EOP of the GoodCRC Message corresponding to the
received Accept message.

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.PD.PROT.SNK.13 PR_Swap – Request SenderResponseTimer Timeout


Description: As a new Sink, the Tester intentionally does not send a Request message after a PR_Swap in
order to force a SenderResponseTimer timeout on the UUT and verifies it is correctly implemented.

Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Source


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 0b
COMMON.PROC.PD.3

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
2. The Tester sends a PR_Swap message. 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.13#1]
a. If the UUT responds with a Wait message, the Tester resends PR_Swap every
tPRSwapWait + 15ms for 10 times. The check fails and the test ends here if the Tester
has resent PR_Swap for 10 times.
b. If the VIF field Accept_PR_Swap_As_Snk = No, the check fails if the UUT responds with
an Accept message.
c. If the VIF field Accept_PR_Swap_As_Snk = Yes, the check fails if the UUT responds with a
Reject message or Not Supported (PD3 only).
d. If the VIF field PD_Port_Type is set to “Consumer Only”, the Tester checks that the UUT
responds with a Reject message or Not Supported (PD3 only). The test ends here.
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.

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]

4.4.2 PD3 Mode


The tests in this subsection are run only in PD3 mode.

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:

 The Tester is a Source only


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PROT.SNK3.1 Get_Source_Cap_Extended
Description: The Tester verifies that the Sink UUT responds correctly to Get_Source_Cap_Extended
message.

Test Specific Tester Behavior: N/A

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:

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 Get_Source_Cap_Extended message to the UUT and continues to present
SinkTxNG while waiting for a response.
3. The check fails if the UUT does not send either Not_Supported or Source_Capabilities_Extended
message. [TEST.PD.PROT.SNK3.1#1]
4. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Source Capabilities message.

TEST.PD.PROT.SNK3.2 Alert Response Source Input Change


Description: As a Source, the Tester sends Alert message indicating OTP event and verifies that the
response messages are correct.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
DRP, C/P
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 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.PD.PROT.SNK3.3 Alert Response Battery Status Change


Description: As a Source, the Tester sends Alert message indicating Battery Status Change and verifies
that the response messages are correct.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
DRP, C/P
Rev3ChkdSnk ✓
Rev3UnchkdSnk ✓

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
2. The Tester sends an Alert message to the UUT
a. Type of Alert field = Battery Status Change Event (Bit 1)
b. Fixed Batteries = Battery 0 (B20)
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_Battery_Status message is received, the Tester checks that Battery Status Ref = 0.
[TEST.PD.PROT.SNK3.3#1]
c. No Get_Battery_Status message is not received within 500 ms after the last Alert
message was sent.
5. Rerun the test, with Unchunked Extended Messages Supported field set to 1b in the Tester sent
Request message.

TEST.PD.PROT.SNK3.4 Soft_Reset Sent Regardless of Rp Value


Description: The Tester verifies that the Sink UUT responds correctly to a missing GoodCRC.

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:

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 Get_Sink_Cap message to the UUT and continues to present SinkTxNG while
waiting for a response.
3. Upon receipt of the Sink_Capabilities Message, the Tester doesn't reply with GoodCRC.
4. The check fails if a Soft_Reset message is not sent by the UUT within tReceive max + tSoftReset
max. [TEST.PD.PROT.SNK3.4#1] The delay is measured from the time the last bit of the last
retransmitted Sink_Capabilities Message EOP has been received to the time the last bit of the
Soft_Reset message EOP has been received.

TEST.PD.PROT.SNK3.5 Sink PPS Normal Operation


Description: The Tester verifies that the Sink UUT verifies the UUT periodically re-request the PPS APDO.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
DRP, C/P
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
2. The Tester presents SinkTxOk.

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.PD.PROT.SNK3.6 Revision Number Test


Description: As a Source, the Tester sends Source Capabilities message with the Message Header
containing a higher revision number than that supported and the UUT responds using the highest
supported revision number.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P, Only, P/C
DRP
Rev3Snk ✓

Test Procedures:

1. The test starts in a disconnected state.

2. The tester applies Rp.

3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.

4. The Tester waits for 50 ms.

5. The Tester sets the Specification Revision (in the Message Header) to 11b and transmits Source
Capabilities message with single PDO:

a. B31…30 (Fixed Supply) set to 00b


b. B29 (Dual-Role Power) set to 0b
c. B28 (USB Suspend Supported) set to 0b
d. B27 (Unconstrained Power) set to 1b
e. B26 (USB Communications Capable) set to 0b
f. B25 (Dual-Role Data) set to 0b
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 100mA

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.PD.PROT.SNK3.7 GoodCRC Specification Revision Compatibility


Description: As a Source, the Tester verifies the UUT accepts GoodCRC with Specification Revision set to
00b, 01b, or 10b.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P, Only, P/C
DRP
Rev3Snk ✓

Test Procedures:

1. The test starts in a disconnected state.

2. The tester applies Rp.

3. If the UUT attachment is detected, the Tester applies VCONN (if Ra is detected) and vSafe5V on
VBUS.

4. The Tester waits for 50 ms.

5. The Tester transmits Source Capabilities message with single PDO:

a. B31…30 (Fixed Supply) set to 00b


b. B29 (Dual-Role Power) set to 0b
c. B28 (USB Suspend Supported) set to 0b
d. B27 (Unconstrained Power) set to 1b
e. B26 (USB Communications Capable) set to 0b
f. B25 (Dual-Role Data) set to 0b
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 100mA

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.

4.5 Structured VDM Test Procedures for Source Capable UUT


4.5.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:

 The Tester is a Sink


 The Tester always replies with a Reject message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.VDM.SRC.1 Discovery Process and Enter Mode


Description: The Tester verifies that the UUT responds appropriately to VDM messages.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 instead sends Request message with B25 (USB Communication Capable) set to 1b.
3. The Tester sends a Discover Identity Request to the UUT, using SOP. The Tester checks the
response:
a. In PD2 mode, the Tester checks the response as follow: [TEST.PD.VDM.SRC.1#1]

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.PD.VDM.SRC.2 Invalid Fields – Discover Identity


Description: The Tester verifies that the UUT responds correctly to a Discover Identity Request sent with
invalid fields.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only Only, C/P,
P/C, DRP
Rev2Src ✓
Rev3Src ✓

Test Procedures:

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 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 instead sends Request message with B25 (USB Communication Capable) set to 1b.
3. The Tester sends Discover Identity Request message with SVID = 0xEEEE. The Tester checks the
response. [TEST.PD.VDM.SRC.2#1]
a. If VIF fields Responds_To_Discov_SOP_UFP and Responds_To_Discov_SOP_DFP are set
to NO, then the UUT response shall be Ignore in PD2 and Not_Supported in PD3.
b. Otherwise, the check fails if the UUT does not reply with a “Responder NAK”. The check
fails if the SVID is not set to 0xEEEE in the “Responder NAK” message.

4.6 Structured VDM Test Procedures for Sink Capable UUT


4.6.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 Consumer Only,
Consumer/Provider and DRP.

Unless a Test Specific Tester Behavior is specified, this section uses the following behavior:

 The Tester is a Source only


 The Tester always replies with a Reject message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5

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.PD.VDM.SNK.1 Discovery Process and Enter Mode


Description: The Tester verifies that the UUT responds correctly to the Discovery Process and the Enter
Mode message.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
C/P, DRP
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
2. The Tester sends a Discover Identity Request to the UUT, using SOP. The Tester checks the
response. [TEST.PD.VDM.SNK.1#1]
a. If the UUT responds with a “Responder NAK, the Tester checks that VIF fields
Responds_To_Discov_SOP_UFP = NO and Responds_To_Discov_SOP_DFP = YES.
b. 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.
c. If the UUT interrupts the Discovery Process (by sending anything but a Discover ID
Response message), the Tester resends Discover ID 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.
d. 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.
e. The check fails if the UUT responds with a “Responder ACK” message and VIF field
Responds_To_Discov_SOP_UFP= No.
3. The test ends here if the UUT does not send “Responder ACK” message.
4. Perform the following check on “Responder ACK” message: [TEST.PD.VDM.SNK.1#2]
a. ID Header VDO:
i. The check fails if B31 does not match VIF field Data_Capable_as_USB_Host_SOP
ii. The check fails if B30 does not match VIF field
Data_Capable_as_USB_Device_SOP

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]

TEST.PD.VDM.SNK.2 Exit Mode without Entering


Description: The Tester verifies that the UUT responds with a correctly formed message to an Exit Mode
command from the Tester.

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:

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 SVIDs Request to the UUT, using SOP.
3. The Tester checks the response: [TEST.PD.VDM.SNK.2#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 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 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 Tester sends Exit Mode to the UUT using SOP, set to the first SVID and the first Mode.
5. The Tester checks that Exit Mode NAK as a response is sent before tVDMExitMode max.
[TEST.PD.VDM.SNK.2#2] This delay is from the last bit of the EOP of the GoodCRC.

TEST.PD.VDM.SNK.3 Interruption by PD Message


Description: The Tester verifies that the UUT correctly supports PD message interruption during VDM
exchanges.

Test Specific Tester Behavior: N/A

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:

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.
3. The Tester sends a Get_Sink_Cap 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 check fails if the UUT does not send a Sink Capabilities message. [TEST.PD.VDM.SNK.3#1]
5. The Tester sends a Discover SVIDs Request to the UUT, using SOP.
6. The Tester sends a Get_Sink_Cap using SOP packet immediately after tInterFrameGap has
expired, the delay is from the last bit of the EOP of the UUT sent GoodCRC.
7. The check fails if the UUT does not send a Sink Capabilities message. [TEST.PD.VDM.SNK.3#2]

TEST.PD.VDM.SNK.4 Interruption by VDM Message


Description: The Tester verifies that the UUT correctly aborts an ongoing VDM exchange if it is
interrupted by other VDM command.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
C/P, DRP
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

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.PD.VDM.SNK.5 DR Swap in Modal Operation


Description: The Tester verifies that the UUT issues a Hard Reset within tDRSwapHardReset if DR_Swap
is sent by during a modal operation.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, P/C, Only
C/P, DRP
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
2. The Tester sends a Discover SVIDs Request to the UUT, using SOP.
3. The Tester checks the response: [TEST.PD.VDM.SNK.5#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 resends Discover SVID Request tVDMBusy min

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.PD.VDM.SNK.6 Structured VDM Revision Number Test


Description: The Tester verifies that the UUT correctly handles Structured VDM Version higher than
supported.

Test Specific Tester Behavior: N/A

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.PD.VDM.SNK.7 Unrecognized VID in Unstructured VDM


Description: As a DFP, the Tester verifies that the UUT responds a Not_Supported message to an
unstructured VDM message with an unrecognized VID.

Test Specific Tester Behavior: N/A

Test Conditions:

Consumer Provider
Only, C/P , Only
P/C, DRP
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
2. The Tester sends an unstructured VMD message to the UUT, in which VID in the Unstructured
VDM Header is set to the Tester manufacture's VID.
3. If the UUT does not respond with either Not_Supported (in PD3 mode) or Ignore (in PD2 mode),
the check fails. [TEST.PD.VDM.SNK.7#1]

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

VIF_Product_Type = 0 (Port Product) AND PD_Port_Type = 5 (eMarker) AND Product_Type = 6 (Vconn


Powered Device).

TEST.PD.VDM.CBL.1 Discovery Process and Enter Mode


Description: The Tester verifies that the UUT responds correctly to the Discovery Process and the Enter
Mode message.

Test Conditions:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev2VcMinEnd1 ✓ ✓
Rev3VcMinEnd1 ✓ ✓
Rev2VcMaxEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev2VcMinEnd2 ✓
Rev3VcMinEnd2 ✓
Rev2VcMaxEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 2 possible bring-up procedures:


a. 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
b. 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 Discover ID Request to the UUT, using SOP’.
3. The Tester checks the response message: [TEST.PD.VDM.CBL.1#1]
a. The check fails if the UUT responds anything but a Discover ID Response message.
b. If the UUT responds with “Responder BUSY” message, the Tester resends Discover ID
Request for 10 times every tVDMBusy min. Once the Tester has repeated Discover ID for
10 times, the check fails.
c. If the UUT responds with a “Responder NAK”, the check fails.
d. Check the “Responder ACK” message:
i. In PD2 mode

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]

4.7.2 PD3 Mode


The tests in this subsection are run only in PD3 mode.

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:

Consumer Provider DRP, C/P, Cable VPD


Only Only P/C
Rev3VcMinEnd1 ✓ ✓
Rev3VcMaxEnd1 ✓ ✓
Rev3VcMinEnd2 ✓
Rev3VcMaxEnd2 ✓

Test Procedures:

1. There are 2 possible bring-up procedures:


a. 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
b. 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 sets the Specification Revision (in the Message Header) to 11b and transmits a
Discover ID Request to the UUT, using SOP’.
3. The Tester checks the response: [TEST.PD.VDM.CBL3.1#1]
a. The check fails if either “Responder ACK” or “Responder BUSY” message is not sent
before tVDMReceiverResponse. This delay is from the last bit of the EOP of the Discover
ID Request to the first bit of the response.
b. The Tester checks that the Specification Revision (in the Message Header) is set
consistent with VIF field PD_Specification_Revision.
c. If the UUT responds with a BUSY message, the Tester resends Discover ID Request for 10
times every tVDMBusy min. Once the Tester has repeated Discover ID for 10 times, the
check fails if the UUT does not respond with a “Responder ACK” message.

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 151
5 Power Supply Specific Tests

PDO Sequence Table


Number of PDOs 1 2 3 4 5 6 7
Transition #1 1 to 1 1 to 2 1 to 2 1 to 2 1 to 2 1 to 2 1 to 2
Transition #2 2 to 1 2 to 1 2 to 1 2 to 1 2 to 1 2 to 1
Transition #3 1 to 3 1 to 3 1 to 3 1 to 3 1 to 3
Transition #4 3 to 2 3 to 2 3 to 2 3 to 2 3 to 2
Transition #5 2 to 3 2 to 3 2 to 3 2 to 3 2 to 3
Transition #6 3 to 1 3 to 1 3 to 1 3 to 1 3 to 1
Transition #7 1 to 4 1 to 4 1 to 4 1 to 4
Transition #8 4 to 3 4 to 3 4 to 3 4 to 3
Transition #9 3 to 4 3 to 4 3 to 4 3 to 4
Transition #10 4 to 2 4 to 2 4 to 2 4 to 2
Transition #11 2 to 4 2 to 4 2 to 4 2 to 4
Transition #12 4 to 1 4 to 1 4 to 1 4 to 1
Transition #13 1 to 5 1 to 5 1 to 5
Transition #14 5 to 4 5 to 4 5 to 4
Transition #15 4 to 5 4 to 5 4 to 5
Transition #16 5 to 3 5 to 3 5 to 3
Transition #17 3 to 5 3 to 5 3 to 5
Transition #18 5 to 2 5 to 2 5 to 2
Transition #19 2 to 5 2 to 5 2 to 5
Transition #20 5 to 1 5 to 1 5 to 1
Transition #21 1 to 6 1 to 6
Transition #22 6 to 5 6 to 5
Transition #23 5 to 6 5 to 6
Transition #24 6 to 4 6 to 4
Transition #25 4 to 6 4 to 6
Transition #26 6 to 3 6 to 3
Transition #27 3 to 6 3 to 6
Transition #28 6 to 2 6 to 2
Transition #29 2 to 6 2 to 6
Transition #30 6 to 1 6 to 1
Transition #31 1 to 7
Transition #32 7 to 6
Transition #33 6 to 7
Transition #34 7 to 5
Transition #35 5 to 7
Transition #36 7 to 4
Transition #37 4 to 7
Transition #38 7 to 3
Transition #39 3 to 7
Transition #40 7 to 2
Transition #41 2 to 7
Transition #42 7 to 1

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:

 The Tester is a Sink


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PS.SRC.1 Multiple Request Load Test


Description: As a Sink only, the Tester verifies that the Source UUT responds correctly to various Request
messages.

Test Specific Tester Behavior: N/A

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]

b. The Tester sends a Request message.

i. B27 (GiveBack Flag) = 0b

ii. B26 (Capability Mismatch) = 0b

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 153
iii. B25 (USB Communication Capable) = 0b

iv. B24 (No USB Suspend) = 1b

v. For Fixed, Battery or Variable PDO:

1. B19…10 (Operating Current / Power) = 0mA / 0mW

2. B9…0 (Maximum Operating Current / Power) = Maximum Current /


Power in the Source PDO.

vi. For PPS:

1. B19…9 (Output Voltage) = Maximum Voltage offered in Source APDO

2. B6…0 (Operating Current) = Current defined in step 4f.

The initial Request is for PDO #1 (5V Fixed) at 0mA. The complete list of Requests is
defined in step 4f.

c. The check fails if an Accept message is not received. [TEST.PD.PS.SRC.1#10]


d. 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.SRC.1#11]
e. The Tester performs the following checks:

i. If the transition involves a current decrease (but no PDO change)


[TEST.PD.PS.SRC.1#1]

1. For Fixed, Battery or Variable PDOs:


The Tester decreases current to the new value within tSnkNewPower
min of the last bit of the GoodCRC sent in response to the Accept
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.

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]

6. After having sent GoodCRC in response to PS_RDY, the Tester increases


its current draw to:

a. For Fixed, Battery and Variable PDOs:

The current or power requested.

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 PR_Swap,
with the provision that during the load transition VBUS voltage may
deviate within vSrcValid for a maximum of tSrcTransient.

For a captive cable UUT vSrcNew_min limit shall be vSrcNew_min-


(0.75*I/X), where I is the actual current being drawn, and X=3 if the
sourced PDO contract is within the range (0, 3A], or X=5 if the sourced
PDO contract is within the range (3A, 5A)

[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

2. 25% of Maximum Current / Power in the Source PDO

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 155
3. 50% of Maximum Current / Power in the Source PDO

4. 75% of Maximum Current / Power in the Source PDO

5. 100% of Maximum Current / Power in the Source PDO

6. 75% of Maximum Current / Power in the Source PDO

7. 50% of Maximum Current / Power in the Source PDO

8. 25% of Maximum Current / Power in the Source PDO

9. 0mA / 0mW

ii. For PPS PDO, replace B6…0 (Operating Current):

1. Maximum Voltage offered in Source APDO @ 1A (Tester will draw 0mA)


2. Maximum Voltage offered in Source APDO @ 1A (Tester will draw 80%
of this.)
3. Maximum Voltage offered in Source APDO @ (1A + Maximum Current
offered in Source APDO)/2. (Tester will draw 80% of this.)
4. Maximum Voltage offered in Source APDO @ Maximum Current offered
in Source APDO. (Tester will draw 80% of this.)
5. Maximum Voltage offered in Source APDO @ (1A + Maximum Current
offered in Source APDO)/2. (Tester will draw 80% of this.)
6. Maximum Voltage offered in Source APDO @ 1A (Tester will draw 80%
of this)
7. Maximum Voltage offered in Source APDO @ 1A (Tester will draw 0mA)

TEST.PD.PS.SRC.2 PDO Transitions


Description: As a Sink only, the Tester enumerates all possible transitions among the PDOs of the UUT
and verifies the UUT performs PDO transitions correctly.

Test Specific Tester Behavior: N/A

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:

a. The Tester sends a Request message:

USB Power Delivery Compliance Test Specification, Version 1.0, Revision 1.0 Page 156
i. B27 (GiveBack Flag) = 0b

ii. B26 (Capability Mismatch) = 0b

iii. B25 (USB Communication Capable) = 0b

iv. B24 (No USB Suspend) = 1b

v. For Fixed, Battery or Variable PDO:

B19…10 (Operating Current / Power) = 100mA / 0.5W

B9…0 (Maximum Operating Current / Power) = 100mA / 0.5W

For PPS PDO:

B19…9 (Output Voltage) = Maximum Voltage offered in Source APDO

B7…0 (Operating Current) = 1A

b. The check fails if an Accept message is not received. [TEST.PD.PS.SRC.2#1]


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.SRC.2#2]
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:

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 Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Sink


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 1b
COMMON.PROC.PD.3

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.

12. The Tester performs the following check [TEST.PD.PS.SNK.1#8]


a. For Fixed, Battery or Variable PDO:

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.

b. For PPS PDO:


N/A
13. The UUT is now a Sink and the Tester is a Source.
14. The Tester presents SinkTxOK if the test is in PD3 mode. The Tester waits 500ms to
respond to messages from the UUT.
15. The Tester sends a new Source Capabilities message with a single PDO
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 the full requested current as provided
in the 1st PDO of the Sink Capabilities from the UUT
16. The check fails if the UUT does not responds with a Request message.
[TEST.PD.PS.SRC.3#9]
17. 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#10]

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.

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.SRC.3#11]

iii. 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 contracted current.
[TEST.PD.PS.SRC.3#12]
ii. The Tester sends a PS_RDY message to the UUT.

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]

5.2 Test Procedures for Sink Capable UUT


5.2.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 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:

 The Tester is a Source only


 The Tester always replies with an Accept message to a DR_Swap message
 The Tester always rejects PR_Swap COMMON.PROC.PD.5
 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.PD.PS.SNK.1 PDO Transitions As Sink


Description: The Tester verifies that the UUT responds correctly to a new Source Capabilities messages.

Test Specific Tester Behavior: N/A

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]

a. For Fixed, Battery or Variable PDO:

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.

b. For PPS PDO:

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.PD.PS.SNK.2 Initial Sink PDO Transitions Post PR Swap


Description: The Tester verifies that the new Source UUT performs PDO transitions correctly.

Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Source


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 0b
COMMON.PROC.PD.3

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:

a. The Tester sends a Request message:

i. B27 (GiveBack Flag) = 0b

ii. B26 (Capability Mismatch) = 0b

iii. B25 (USB Communication Capable) = 0b

iv. B24 (No USB Suspend) = 1b

v. B19…10 (Operating Current / Power) = 100mA / 0.5W

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]

TEST.PD.PS.SNK.3 Multiple Request Load Test Post PR Swap

Description: The Tester verifies that the new Source UUT responds correctly to various Request
messages.

Test Specific Tester Behavior:

 The Tester is a Dual-Role Power, initially a Source


 The Tester sends Sink Capabilities setting B27 (Unconstrained Power) to 0b
COMMON.PROC.PD.3

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]

b. The Tester sends a Request message:

i. B27 (GiveBack Flag) = 0b

ii. B26 (Capability Mismatch) = 0b

iii. B25 (USB Communication Capable) = 0b

iv. B24 (No USB Suspend) = 1b

v. For Fixed, Battery or Variable PDO:

1. B19…10 (Operating Current / Power) = 0mA / 0mW

2. B9…0 (Maximum Operating Current / Power) = Maximum Current /


Power in the Source PDO.

vi. For PPS:

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

2. B6…0 (Operating Current) = Current defined in step 4e.

The initial Request is for PDO #1 (5V Fixed) at 0mA. Further requests are defined in step
10f.

c. The check fails if an Accept message is not received. [TEST.PD.PS.SNK.3#12]


d. 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.3#13]
e. The Tester performs the following checks:

i. If the transition involves a current decrease (but no PDO change)


[TEST.PD.PS.SNK.3#4]

1. For Fixed, Battery or Variable PDOs:


The Tester decreases current to the new value within tSnkNewPower
min of the last bit of the GoodCRC sent in response to the Accept
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.

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]

6. After having sent GoodCRC in response to PS_RDY, the Tester increases


its current draw to:

a. For Fixed, Battery and Variable PDOs: the current or power


requested

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.

For a captive cable UUT vSrcNew_min limit shall be vSrcNew_min-


(0.75*I/X), where I is the actual current being drawn, and X=3 if the
sourced PDO contract is within the range (0, 3A], or X=5 if the sourced
PDO contract is within the range (3A, 5A)

[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):

i. For Fixed, Battery and Variable PDOs:

1. 25% of Maximum Current / Power in the Source PDO

2. 50% of Maximum Current / Power in the Source PDO

3. 75% of Maximum Current / Power in the Source PDO

4. 100% of Maximum Current / Power in the Source PDO

5. 75% of Maximum Current / Power in the Source PDO

6. 50% of Maximum Current / Power in the Source PDO

7. 25% of Maximum Current / Power in the Source PDO

8. 0mA / 0mW

ii. For PPS PDO:

1. Maximum Voltage offered in Source APDO @ 1A (Tester will draw 0mA)

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)

3. Maximum Voltage offered in Source APDO @ (1A + Maximum Current


offered in Source APDO)/2. (Tester draws 80% load)

4. Maximum Voltage offered in Source APDO @ Maximum Current offered


in Source APDO. (Tester draws 80% load)

5. Maximum Voltage offered in Source APDO @ (1A + Maximum Current


offered in Source APDO)/2. (Tester draws 80% load)

6. Maximum Voltage offered in Source APDO @ 1A (Tester draws 80%


load)

7. Maximum Voltage offered in Source APDO @ 1A (Tester draws 0mA)

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

 In the testRun element:


o The following values Shall be set within the spec element:
 title: “USB Power Delivery Compliance Test Specification”
 version: “1.0”
 revision: “1.2”
o Inside tests, a test element Shall be created for each Common Check, Common Procedure,
and Test
o If any tests fail, the score element Shall be set to “fail”. Otherwise, it Shall be set to “pass”.

 In each test element:


o The tcID attribute Shall match the test number (e.g. “TEST.PD.PROT.SRC.1”)
o Inside conditions, a condition element Shall be created for each Test Condition identifier
o If any conditions fail, the score element Shall be set to “fail”. Otherwise, it Shall be set to
“pass”.

 In each condition element:


o The conditionID attribute Shall match the test condition (e.g. “Rev2Src”)
o An element called checks Shall be created. Within checks, a check element Shall be created
for every check identifier
o If any checks fail, the score element Shall be set to “fail”. Otherwise, it Shall be set to “pass”.

 In each check element:


o A checkID attribute Shall match the check identifier (e.g. “TEST.PD.PROT.SRC.1#1”)
o If the check fails, the score element Shall be set to “fail”. Otherwise, it Shall be set to “pass”.
o A comment element Shall be used to provide detail on the nature of each failure. The
format in which this is done may be determined by the test vendor.
 In Common Checks and Procedures, the comment element Shall indicate both the
number of failures and total number of times the check was performed. The format
in which this is done may be determined by the test vendor.

Appendix B – XML Output Example

<?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">&lt;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

You might also like