USB3 Debug Class Specification
Total Page:16
File Type:pdf, Size:1020Kb
USB 3.1 Debug Class 7/14/2015 USB 3.1 Device Class Specification for Debug Devices Revision 1.0 – July 14, 2015 - 1 - USB 3.1 Debug Class 7/14/2015 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 [email protected]. For industry information, refer to the USB Implementers Forum web page at http://www.usb.org. All product names are trademarks, registered trademarks, or service marks of their respective owners. Copyright © 2010-2015 Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, Renesas, STMicroelectronics, and Texas Instruments All rights reserved. - 2 - USB 3.1 Debug Class 7/14/2015 Contributors Intel (chair) Rolf Kühnis Intel Sri Ranganathan Intel Sankaran Menon Intel (chair) John Zurawski ST-Ericsson Andrew Ellis ST-Ericsson Tomi Junnila ST-Ericsson Rowan Naylor ST-Ericsson Graham Wells ST Microelectronics Jean-Francis Duret Texas Instruments Gary Cooper Texas Instruments Jason Peck Texas Instruments Gary Swoboda AMD Will Harris Lauterbach Stephan Lauterbach Lauterbach Ingo Rohloff Nokia Henning Carlsen Nokia Eugene Gryazin Nokia Leon Jørgensen Qualcomm Miguel Barasch Qualcomm Terry Remple Qualcomm Yoram Rimoni - 3 - USB 3.1 Debug Class 7/14/2015 TABLE OF CONTENTS 1 TERMS AND ABBREVIATIONS ........................................................................................................ 8 1.1 USB & DEBUG TERMS AND ABBREVIATIONS .................................................................................... 8 1.2 TERMINOLOGY ............................................................................................................................. 10 1.3 ABBREVIATIONS ........................................................................................................................... 11 2 RELATED DOCUMENTS ................................................................................................................. 12 3 SPECIFICATION OVERVIEW AND SCOPE ................................................................................... 13 3.1 INTRODUCTION............................................................................................................................. 13 3.2 PURPOSE .................................................................................................................................... 13 3.3 SCOPE ........................................................................................................................................ 14 3.4 OVERVIEW ................................................................................................................................... 15 3.4.1 Debug Capabilities ............................................................................................................. 15 3.4.2 DbC and DvC Overview ..................................................................................................... 16 3.4.3 Example Implementation .................................................................................................... 17 3.5 FUNCTIONAL CHARACTERISTICS ................................................................................................... 19 3.5.1 The Debug Capabilities ...................................................................................................... 20 3.5.2 Debug Scenario Examples ................................................................................................. 22 3.5.3 Debug Function Topology .................................................................................................. 24 3.5.4 Debug Control of the Debug Units ..................................................................................... 29 3.6 DEBUG OPERATIONAL MODEL ...................................................................................................... 31 3.6.1 Alternate Settings ............................................................................................................... 31 3.6.2 Changing Debug Capabilities via Alternate Settings.......................................................... 33 3.6.3 Changing Debug Capabilities using Different Configurations ............................................ 33 3.6.4 Interface Association Descriptor (IAD) ............................................................................... 35 3.6.5 Multiple Mutually-Exclusive Host Drivers ........................................................................... 37 3.6.6 Enumerating Interface Collections ..................................................................................... 41 3.6.7 Debug-Control Interface ..................................................................................................... 42 3.6.8 DxC.Trace Interface ........................................................................................................... 47 4 DESCRIPTORS ................................................................................................................................ 52 4.1 DESCRIPTOR LAYOUT OVERVIEW .................................................................................................. 52 4.1.1 Class-Specific Topology Descriptors.................................................................................. 53 4.2 XHCI-COMPLIANT DBC STANDARD DESCRIPTORS ......................................................................... 56 4.3 DEBUG STANDARD DESCRIPTORS ................................................................................................. 56 4.3.1 USB 2.0 Descriptors ........................................................................................................... 56 4.3.2 USB 3.1 Standard Descriptors ........................................................................................... 62 4.4 DEBUG CLASS-SPECIFIC DESCRIPTORS ........................................................................................ 62 4.4.1 Introduction ......................................................................................................................... 62 4.4.2 Debug-Control Interface Descriptors .................................................................................. 64 4.4.3 Debug-Attributes Descriptor ............................................................................................... 66 4.4.4 Input-Connection Descriptor ............................................................................................... 70 4.4.5 Output Connection Descriptor ............................................................................................ 71 4.4.6 Debug-Unit Descriptor ........................................................................................................ 72 4.5 STANDARDS-BODY SUPPORT ....................................................................................................... 80 5 CLASS-SPECIFIC REQUESTS ....................................................................................................... 84 5.1 INTRODUCTION............................................................................................................................. 84 5.2 DEBUG-CONTROL OVERVIEW ....................................................................................................... 86 5.3 REQUEST LAYOUT ........................................................................................................................ 87 5.3.1 Request Layout .................................................................................................................. 87 5.3.2 Request Examples ............................................................................................................. 89 5.4 DEBUG CONTROL REQUESTS ....................................................................................................... 92 - 4 - USB 3.1 Debug Class 7/14/2015 5.4.1 SET_CONFIG_DATA and GET_CONFIG_DATA Overview ............................................. 92 5.4.2 Debug Commands and Operating Modes .......................................................................... 92 5.4.3 SET_CONFIG_DATA_SINGLE .......................................................................................... 93 5.4.4 SET_CONFIG_DATA ......................................................................................................... 94 5.4.5 GET_CONFIG_DATA ........................................................................................................ 94 5.4.6 SET_CONFIG_ADDRESS ................................................................................................. 95 5.4.7 GET_CONFIG_ADDRESS ................................................................................................. 96 5.4.8 SET_ ALT_STACK ............................................................................................................. 96 5.4.9 GET_ALT_STACK ............................................................................................................. 97 5.4.10 SET_OPERATING_MODE ...............................................................................................