summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Ilyasov <olegi@ami.com>2024-10-15 23:04:18 -0400
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-10-16 17:42:26 +0000
commit1b19ccfdfa0a6eeecfcb8fcccf5437150ca41c3e (patch)
treec4abd7346d35af1b19e07e725b0a266b8295ad0a
parentd44b82270b6b1589cc2850fde24a3686cb5ef779 (diff)
downloadedk2-1b19ccfdfa0a6eeecfcb8fcccf5437150ca41c3e.tar.gz
edk2-1b19ccfdfa0a6eeecfcb8fcccf5437150ca41c3e.tar.bz2
edk2-1b19ccfdfa0a6eeecfcb8fcccf5437150ca41c3e.zip
Add USB Association Descriptor definitions
- USB 3.0 spec, Section 9.6.4 - Add class specific descriptor types Signed-off-by: Oleg Ilyasov <olegi@ami.com>
-rw-r--r--MdePkg/Include/IndustryStandard/Usb.h34
1 files changed, 27 insertions, 7 deletions
diff --git a/MdePkg/Include/IndustryStandard/Usb.h b/MdePkg/Include/IndustryStandard/Usb.h
index 7df6466a7d..8013d209c8 100644
--- a/MdePkg/Include/IndustryStandard/Usb.h
+++ b/MdePkg/Include/IndustryStandard/Usb.h
@@ -2,6 +2,8 @@
Support for USB 2.0 standard.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2024, American Megatrends International LLC. All rights reserved.<BR>
+
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -132,6 +134,21 @@ typedef struct {
} USB_CONFIG_DESCRIPTOR;
///
+/// Standard Interface Association Descriptor
+/// USB 3.0 spec, Section 9.6.4
+///
+typedef struct {
+ UINT8 Length;
+ UINT8 DescriptorType;
+ UINT8 FirstInterface;
+ UINT8 InterfaceCount;
+ UINT8 FunctionClass;
+ UINT8 FunctionSubclass;
+ UINT8 FunctionProtocol;
+ UINT8 FunctionDescriptionStringIndex;
+} USB_INTERFACE_ASSOCIATION_DESCRIPTOR;
+
+///
/// Standard Interface Descriptor
/// USB 2.0 spec, Section 9.6.5
///
@@ -207,13 +224,16 @@ typedef enum {
//
// USB Descriptor types
//
- USB_DESC_TYPE_DEVICE = 0x01,
- USB_DESC_TYPE_CONFIG = 0x02,
- USB_DESC_TYPE_STRING = 0x03,
- USB_DESC_TYPE_INTERFACE = 0x04,
- USB_DESC_TYPE_ENDPOINT = 0x05,
- USB_DESC_TYPE_HID = 0x21,
- USB_DESC_TYPE_REPORT = 0x22,
+ USB_DESC_TYPE_DEVICE = 0x01,
+ USB_DESC_TYPE_CONFIG = 0x02,
+ USB_DESC_TYPE_STRING = 0x03,
+ USB_DESC_TYPE_INTERFACE = 0x04,
+ USB_DESC_TYPE_ENDPOINT = 0x05,
+ USB_DESC_TYPE_INTERFACE_ASSOCIATION = 0x0b,
+ USB_DESC_TYPE_HID = 0x21,
+ USB_DESC_TYPE_REPORT = 0x22,
+ USB_DESC_TYPE_CS_INTERFACE = 0x24,
+ USB_DESC_TYPE_CS_ENDPOINT = 0x25,
//
// Features to be cleared by CLEAR_FEATURE requests