summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/efi/IndustryStandard/Usb.h
diff options
context:
space:
mode:
authorSimon Rettberg2026-01-28 12:53:53 +0100
committerSimon Rettberg2026-01-28 12:53:53 +0100
commit8e82785c584dc13e20f9229decb95bd17bbe9cd1 (patch)
treea8b359e59196be5b2e3862bed189107f4bc9975f /src/include/ipxe/efi/IndustryStandard/Usb.h
parentMerge branch 'master' into openslx (diff)
parent[prefix] Make unlzma.S compatible with 386 class CPUs (diff)
downloadipxe-openslx.tar.gz
ipxe-openslx.tar.xz
ipxe-openslx.zip
Merge branch 'master' into openslxopenslx
Diffstat (limited to 'src/include/ipxe/efi/IndustryStandard/Usb.h')
-rw-r--r--src/include/ipxe/efi/IndustryStandard/Usb.h35
1 files changed, 28 insertions, 7 deletions
diff --git a/src/include/ipxe/efi/IndustryStandard/Usb.h b/src/include/ipxe/efi/IndustryStandard/Usb.h
index 8c7fe834f..a2b6c1ab9 100644
--- a/src/include/ipxe/efi/IndustryStandard/Usb.h
+++ b/src/include/ipxe/efi/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
**/
@@ -10,6 +12,7 @@
#define __USB_H__
FILE_LICENCE ( BSD2_PATENT );
+FILE_SECBOOT ( PERMITTED );
//
// Subset of Class and Subclass definitions from USB Specs
@@ -134,6 +137,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
///
@@ -209,13 +227,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