More UAC 2.0 descriptors.

This commit is contained in:
imi415 2022-02-10 10:44:53 +08:00
parent d2b2b9c823
commit 3652d5da9c
Signed by: imi415
GPG Key ID: 17F01E106F9F5E0A
1 changed files with 65 additions and 9 deletions

View File

@ -21,8 +21,8 @@ UCHAR device_framework_fs[] = {
/* Configuration descriptor size=9 */
0x09, // bLength
0x02, // bDescriptorType
0x6F, 0x00, // wTotalLength !! 9 + 8 + 9 + 9 + 8 + 8 + 8 + 9 + 14 + 17 + 12 + ...
0x01, // bNumInterfaces
0xA4, 0x00, // wTotalLength !! 9 + 8 + 9 + 85 + 9 + 16 + 6 + 8 + 7 + 7 ...
0x02, // bNumInterfaces
0x01, // bConfigurationValue
0x00, // iConfiguration
0x80, // bmAttributes !! Bus powered
@ -92,11 +92,11 @@ UCHAR device_framework_fs[] = {
0x09, // bLength
0x24, // bDescriptorType !! CS_INTERFACE
0x0B, // bDescriptorSubType !! CLOCK_SELECTOR
0x18, // bClockID !!
0x02, // bNrInPins !! 2 input pins
0x10, // baCSourceID(1) !! From Clock Source CID=0x10
0x11, // baCSourceID(2) !! From Clock Source CID=0x11
0x03, // bmControls !!
0x18, // bClockID !!
0x02, // bNrInPins !! 2 input pins
0x10, // baCSourceID(1) !! From Clock Source CID=0x10
0x11, // baCSourceID(2) !! From Clock Source CID=0x11
0x03, // bmControls !! Windows UAC 2.0 driver does not support SET_CUR.
0x00, // iClockSelector
/* Audio Control Feature Unit descriptor UID=0 size=14 */
@ -114,7 +114,7 @@ UCHAR device_framework_fs[] = {
0x24, // bDescriptorType
0x02, // bDescriptorSubType
0x20, // bTerminalID !! TID=0x20
0x01, 0x01, // wTerminalType !! Should be an OUT EP
0x01, 0x01, // wTerminalType !! USB Streaming - 0x0101
0x00, // bAssocTerminal !!
0x12, // bCSourceID !! From Clock Selector CID=0x12
0x02, // bNrChannels
@ -128,12 +128,68 @@ UCHAR device_framework_fs[] = {
0x24, // bDescriptorType
0x03, // bDescriptorSubType
0x21, // bTerminalID !! TID=0x21
0x01, 0x03, // wTerminalType !! Should be a speaker
0x02, 0x03, // wTerminalType !! Headphones - 0x0302
0x00, // bAssocTerminal
0x30, // bSourceID !! From Feature Unit UID=0x30
0x18, // bCSourceID !! Associate with Clock selector at id=0x18
0x00, 0x00, // bmControls !! TBD
0x00, // iTerminal
/* Audio Streaming Interface descriptor size=9 */
0x09, // bLength
0x04, // bDescriptorType
0x01, // bInterfaceNumber
0x00, // bAlternateSetting
0x02, // bNumEndpoints
0x01, // bInterfaceClass
0x02, // bInterfaceSubClass
0x20, // bInterfaceProtocol
0x00, // iInterface
/* Audio Streaming Class Specific Interface descriptor size=16 */
0x10, // bLength
0x24, // bDescriptorType
0x01, // bDescriptorSubType
0x20, // bTerminalLink !! Link to Input Terminal TID=0x20
0x00, // bmControls
0x01, // bFormatType
0x01, 0x00, 0x00, 0x00, // bmFormats
0x02, // bNrChannels
0x00, 0x00, 0x00, 0x00, // bmChannelConfig
0x00, // iChannelNames
/* Audio Streaming Format Type descriptor size=6 */
0x06, // bLength
0x24, // bDescriptorType
0x02, // bDescriptorSubType
0x01, // bFormatType
0x02, // bSubslotSize
0x10, // bBitResolution !! - 16bits
/* Audio Streaming Class Specific Data Endpoint descriptor size=8 */
0x08, // bLength
0x25, // bDescriptorType
0x01, // bDescriptorSubType
0x00, // bmAttributes
0x00, // bmControls
0x00, // bLockDelayUnits
0x00, 0x00, // wLockDelay
/* Endpoint descriptor size=7 */
0x07, // bLength
0x05, // bDescriptorType
0x01, // bEndpointAddress
0x05, // bmAttributes
0x00, 0x01, // wMaxPacketSize
0x04, // bInterval
/* Endpoint descriptor size=7 */
0x07, // bLength
0x05, // bDescriptorType
0x81, // bEndpointAddress
0x11, // bmAttributes
0x00, 0x01, // wMaxPacketSize
0x04, // bInterval
};
UCHAR device_framework_hs[] = {