summaryrefslogtreecommitdiffstats
path: root/include/linux/usb/audio-v2.h
diff options
context:
space:
mode:
authorJassi Brar <jaswinder.singh@linaro.org>2012-02-02 22:00:48 +0530
committerFelipe Balbi <balbi@ti.com>2012-02-15 10:10:11 +0200
commit0d4e1b2a7eb7f4db8b3dc1c7ef4b507040f87ded (patch)
tree40fe6106e0bb74d3e04ae38b616ce1ad1c96ff32 /include/linux/usb/audio-v2.h
parent18b5b3b55f44c28a0380f3559d1db3c467f94b4a (diff)
usb: uac2: Add ACHeader and FormatType descriptor
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>
Diffstat (limited to 'include/linux/usb/audio-v2.h')
-rw-r--r--include/linux/usb/audio-v2.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/usb/audio-v2.h b/include/linux/usb/audio-v2.h
index 964cb603f7c..ed13053153f 100644
--- a/include/linux/usb/audio-v2.h
+++ b/include/linux/usb/audio-v2.h
@@ -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 {