没有合适的资源?快使用搜索试试~ 我知道了~
首页xHCI架构:USB控制器的未来,提升性能与扩展性
本文档介绍的是eXtensible Host Controller Interface (xHCI) for Universal Serial Bus (USB),一个旨在取代传统USB控制器架构(如UHCI、OHCI和EHCI)的新型接口标准。xHCI的主要目标是提供更高的性能、卓越的能耗效率以及对新USB规范的支持,特别是USB 3及后续版本。
xHCI设计的核心理念在于灵活性和扩展性,它允许USB主机控制器更好地适应不断发展的技术需求。相比于旧的USB控制器,xHCI具有以下几个关键特性:
1. **性能提升**:通过优化硬件和软件设计,xHCI能够处理更多的USB设备连接,提供更快的数据传输速度,支持USB 3.0和更高版本的带宽,从而显著提高数据传输速率和响应时间。
2. **能耗效率**:xHCI在设计上注重低功耗,通过更高效的电源管理和硬件架构,减少在待机或非活跃状态下的能源消耗,这对于移动设备和绿色计算至关重要。
3. **向下兼容与未来扩展**:尽管xHCI专注于USB 3标准,但它也确保了向后兼容性,支持现有的USB设备。同时,它预留了接口和功能空间,为未来的USB规范升级提供了可能,保持了技术的前瞻性。
4. **预留未来定义**:文档强调某些功能和指令标记为“保留”或“未定义”,这是为了适应技术发展和可能的更新。设计者需要意识到这些部分可能会在未来发生变化,因此在设计时应避免依赖于当前的定义。
5. **法律责任声明**:Intel对本文档中的内容持有严格版权,且不授予任何知识产权许可,包括但不限于专利、商标或版权。Intel保留在任何时候修改规格和产品描述的权利,设计者在使用时应遵守Intel的最新许可协议和要求。
6. **免责声明**:Intel对销售和使用其产品的所有责任和保证(包括适销性、特定用途的适用性、商业适用性或对任何专利、版权或其他知识产权的侵犯)均予以排除。用户在设计时需自行承担风险,并确保遵守所有相关法律法规。
xHCI作为USB控制器架构的一个重要进步,不仅提升了USB系统的整体性能,还为未来的技术演进奠定了坚实基础。对于开发人员和系统设计师来说,理解并遵循xHCI规范对于实现高效、兼容且可扩展的USB解决方案至关重要。
eXtensible Host Controller Interface Revision 1.0
16 Intel Confidential
7.6.7.3.1 Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
7.6.7.3.2 Debug Capability Status Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
7.6.7.4 Port Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
7.6.8 Debug Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
7.6.8.1 Debug Capability ID Register (DCID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
7.6.8.2 Debug Capability Doorbell Register (DCDB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
7.6.8.3 Debug Capability Event Ring Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
7.6.8.3.1 Debug Capability Event Ring Segment Table Size Reg (DCERSTSZ) . . . . . . . . . 407
7.6.8.3.2 Debug Capability Event Ring Segment Table Base Address Register (DCERSTBA) .
407
7.6.8.3.3 Debug Capability Event Ring Dequeue Pointer Register (DCERDP) . . . . . . . . . . . 408
7.6.8.4 Debug Capability Control Register (DCCTRL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
7.6.8.5 Debug Capability Status Register (DCST). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7.6.8.6 Debug Capability Port Status and Control Register (DCPORTSC) . . . . . . . . . . . . . . . . 410
7.6.8.7 Debug Capability Context Pointer Register (DCCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
7.6.8.8 Debug Capability Device Descriptor Info Register 1 (DCDDI1). . . . . . . . . . . . . . . . . . . 412
7.6.8.9 Debug Capability Device Descriptor Info Register 2 (DCDDI2). . . . . . . . . . . . . . . . . . . 413
7.6.9 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
7.6.9.1 Debug Capability Info Context (DbCIC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
7.6.9.2 Debug Capability Endpoint Context. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
7.6.10 USB Descriptors for Debug Class Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
7.6.10.1 Device Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
7.6.10.2 Configuration Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
7.6.10.3 Interface Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
7.6.10.4 Endpoint Descriptor 1 (Bulk OUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
7.6.10.5 SuperSpeed Endpoint Companion Descriptor 1 (Bulk OUT). . . . . . . . . . . . . . . . . . . . . 421
7.6.10.6 Endpoint Descriptor 2 (Bulk IN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
7.6.10.7 SuperSpeed Endpoint Companion Descriptor 2 (Bulk IN). . . . . . . . . . . . . . . . . . . . . . . 423
7.6.10.8 Binary Object Store (BOS) Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
7.6.10.9 String Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
7.7
XHCI I/O VIRTUALIZATION (XHCI-IOV) CAPABILITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
7.7.1 Capability Header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
7.7.2 VF Interrupter Range Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
7.7.3 VF Device Slot Assignment Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
7.8
XHCI LOCAL MEMORY CAPABILITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
8 VIRTUALIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
8.1 O
PERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
8.1.1 Resource Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
8.1.1.1 MMIO Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
8.1.1.2 Device Slots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
8.1.1.3 Interrupters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
8.1.2 Device Enumeration and Handoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
8.1.2.1 Root Hub Attach Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
8.1.2.2 External Hub Attach Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
8.2 SR-IOV E
XTENDED CAPABILITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
8.2.1 SR-IOV Extended Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
8.2.2 xHCI-IOV Extended Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
8.3 D
OORBELL REGISTERS AND VIRTUALIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
8.3.1 Direct-Assigned Device Slot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
8.3.2 Emulated Device Slot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
8.4 I
NTERRUPTER MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
8.5 R
EGISTER SPACE EMULATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
APPENDIX A -XHCI PCI POWER MANAGEMENT INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Intel Confidential 17
eXtensible Host Controller Interface Revision 1.0
A.1 PCI POWER MANAGEMENT REGISTER INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
A.1.1 Power State Transitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
A.1.2 Power State Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
A.2 PCI PME# S
IGNAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
APPENDIX B -HIGH BANDWIDTH ISOCHRONOUS RULES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
B.1 H
IGH-SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
APPENDIX C -STREAM USAGE MODELS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
APPENDIX D -PORT TO CONNECTOR MAPPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
D.1 E
XAMPLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
D.1.1 ACPI Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
APPENDIX E -STATE MACHINE NOTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
APPENDIX F -SS BUS ACCESS CONSTRAINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
F.2 I
NTERRUPT TRANSFER BUS ACCESS CONSTRAINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
F.3 I
SOCHRONOUS TRANSFER BUS ACCESS CONSTRAINTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
APPENDIX G -0.96 EXCEPTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
G.1 S
KIP LINK TRB IOC FLAG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
G.2 F
ORCE STOPPED EVENT OPTIONAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
G.3 S
ECONDARY BANDWIDTH DOMAIN REPORTING OPTIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
G.4 USB2 L1 C
APABILITY OPTIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
eXtensible Host Controller Interface Revision 1.0
18 Intel Confidential
Intel Confidential 19
eXtensible Host Controller Interface Revision 1.0
Table of Figures
1 Preface ................................................................................................................................................27
2 Introduction ........................................................................................................................................43
3 Architectural Overview......................................................................................................................47
Figure 1: Universal Serial Bus, Revision 3.0 System Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 2: USB 3.0 EXtensible Host Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 3: General Architecture of the eXtensible Host Controller Interface. . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 4: Transfer Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 5: Simple Transfer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 6: Scatter/Gather Transfer Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 7: Control Transfer Descriptor Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 8: Isochronous Transfer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4 Operational Model..............................................................................................................................69
Figure 9: Device Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 10: Slot State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 11: Example Configure Endpoint Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Figure 12: Endpoint Context Addressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Figure 13: Endpoint State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Figure 14: Index Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Figure 15: Segmented Ring Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Figure 16: Enqueue Pointer Advancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Figure 17: Initial State of Transfer Ring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Figure 18: Final State of Transfer Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Figure 19: Segmented Event Ring Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Figure 20: Event Ring State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Figure 21: TRB Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Figure 22: SETUP Data, the Parameter Component of Setup Stage TRB . . . . . . . . . . . . . . . . . . . . . . . 157
Figure 23: Link TRB Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Figure 24: TRB Packet Boundary Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Figure 25: TD Fragment Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Figure 26: Non-aligned TD Fragment Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Figure 27: xHC Stream Protocol State Machine (xSPSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Figure 28: Stream Context Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Figure 29: Microframe Index (MFINDEX) Register Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Figure 30: Interrupt Throttle Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Figure 31: Heavy load, interrupts moderated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Figure 32: Light load, interrupts not moderated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Figure 33: USB2 Root Hub Port State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Figure 34: USB2 Root Hub Port Enabled Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Figure 35: USB3 Root Hub Port State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Figure 36: USB3 Root Hub Port Polling Substate Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Figure 37: USB3 Root Hub Port DbC Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Figure 38: USB3 Root Hub Port Enabled Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Figure 39: USB3 Root Hub Port U1’ Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Figure 40: USB3 Root Hub Port U2’ Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Figure 41: USB3 Root Hub Port U3’ Substate Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Figure 42: Example Port Change Bit Port Status Change Event Generation . . . . . . . . . . . . . . . . . . . . . 234
Figure 43: Port Routing Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Figure 44: BIOS Ownership State Machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Figure 45: OS Ownership State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Figure 46: Integrated Hub Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
5 Register Interface.............................................................................................................................259
Figure 47: PCI Type 00h Configuration Space Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Figure 48: PCI Power Management Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
eXtensible Host Controller Interface Revision 1.0
20 Intel Confidential
Figure 49: PCI MSI Configuration Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Figure 50: MSI-X Configuration Capability Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Figure 51: PCI Express Capability Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Figure 52: Structural Parameters 1 Register (HCSPARAMS1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Figure 53: Structural Parameters 2 Register (HCSPARAMS2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Figure 54: Structural Parameters 3 Register (HCSPARAMS3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Figure 55: Capability Parameters Register (HCCPARAMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Figure 56: Doorbell Offset Register (DBOFF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Figure 57: Runtime Register Space Offset Register (RTSOFF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Figure 58: USB Command Register (USBCMD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Figure 59: USB Status Register (USBSTS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Figure 60: Device Notification Control Register (DNCTRL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Figure 61: Command Ring Control Register (CRCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Figure 62: Device Context Base Address Array Pointer Register (DCBAAP) . . . . . . . . . . . . . . . . . . . . . 288
Figure 63: Configure Register (CONFIG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Figure 64: Port Status and Control Register (PORTSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Figure 65: USB3 Port Power Management Status and Control Register (PORTPMSC) . . . . . . . . . . . . 297
Figure 66: USB2 Port Power Management Status and Control Register (PORTPMSC) . . . . . . . . . . . . 299
Figure 67: USB3 Port Power Management Status and Control Register (PORTPMSC) . . . . . . . . . . . . 301
Figure 68: Microframe Index Register (MFINDEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Figure 69: Interrupter Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Figure 70: Doorbell Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6 Data Structures ................................................................................................................................313
Figure 71: Device Context Data Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Figure 72: Slot Context Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Figure 73: Endpoint Context Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Figure 74: Stream Context Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Figure 75: Input Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Figure 76: Input Control Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Figure 77: Port Bandwidth Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Figure 78: Normal TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Figure 79: Setup Stage TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Figure 80: Data Stage TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Figure 81: Status Stage TRB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Figure 82: Isoch TRB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Figure 83: No Op TRB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Figure 84: Transfer Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Figure 85: Command Completion Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Figure 86: Port Status Change Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Figure 87: Bandwidth Request Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Figure 88: Doorbell Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Figure 89: Host Controller Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 352
Figure 90: Device Notification Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Figure 91: MFINDEX Wrap Event TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Figure 92: No Op Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Figure 93: Enable Slot Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Figure 94: Disable Slot Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Figure 95: Address Device Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Figure 96: Configure Endpoint Command TRB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Figure 97: Evaluate Context Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Figure 98: Reset Endpoint Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Figure 99: Stop Endpoint Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Figure 100: Set TR Dequeue Pointer Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Figure 101: Reset Device Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Figure 102: Force Event Command TRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
剩余467页未读,继续阅读
2018-10-26 上传
2018-12-22 上传
2023-05-10 上传
2023-06-13 上传
2021-07-10 上传
2020-05-12 上传
2024-10-28 上传
2024-10-28 上传
qindog
- 粉丝: 4
- 资源: 47
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功