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>
This commit is contained in:
Oleg Ilyasov 2024-10-15 23:04:18 -04:00 committed by mergify[bot]
parent d44b82270b
commit 1b19ccfdfa
1 changed files with 27 additions and 7 deletions

View File

@ -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
**/
@ -131,6 +133,21 @@ typedef struct {
UINT8 MaxPower;
} 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