usb: uac2: Add ACHeader and FormatType descriptor
authorJassi Brar <jaswinder.singh@linaro.org>
Thu, 2 Feb 2012 16:30:48 +0000 (22:00 +0530)
committerFelipe Balbi <balbi@ti.com>
Wed, 15 Feb 2012 08:10:11 +0000 (10:10 +0200)
Add missing, but needed, ACHeader and FormatType descriptor definitions.

Signed-off-by: Yadi Brar <yadi.brar01@gmail.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
include/linux/usb/audio-v2.h

index 964cb60..ed13053 100644 (file)
@@ -43,6 +43,27 @@ static inline bool uac2_control_is_writeable(u32 bmControls, u8 control)
        return (bmControls >> (control * 2)) & 0x2;
 }
 
+/* 4.7.2 Class-Specific AC Interface Descriptor */
+struct uac2_ac_header_descriptor {
+       __u8  bLength;                  /* 9 */
+       __u8  bDescriptorType;          /* USB_DT_CS_INTERFACE */
+       __u8  bDescriptorSubtype;       /* UAC_MS_HEADER */
+       __le16 bcdADC;                  /* 0x0200 */
+       __u8  bCategory;
+       __le16 wTotalLength;            /* includes Unit and Terminal desc. */
+       __u8  bmControls;
+} __packed;
+
+/* 2.3.1.6 Type I Format Type Descriptor (Frmts20 final.pdf)*/
+struct uac2_format_type_i_descriptor {
+       __u8  bLength;                  /* in bytes: 6 */
+       __u8  bDescriptorType;          /* USB_DT_CS_INTERFACE */
+       __u8  bDescriptorSubtype;       /* FORMAT_TYPE */
+       __u8  bFormatType;              /* FORMAT_TYPE_1 */
+       __u8  bSubslotSize;             /* {1,2,3,4} */
+       __u8  bBitResolution;
+} __packed;
+
 /* 4.7.2.1 Clock Source Descriptor */
 
 struct uac_clock_source_descriptor {