aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb/audio-v3.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb/audio-v3.h')
-rw-r--r--include/linux/usb/audio-v3.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/linux/usb/audio-v3.h b/include/linux/usb/audio-v3.h
index a8959aaba0ae..a710e28b5215 100644
--- a/include/linux/usb/audio-v3.h
+++ b/include/linux/usb/audio-v3.h
@@ -221,6 +221,12 @@ struct uac3_iso_endpoint_descriptor {
221 __le16 wLockDelay; 221 __le16 wLockDelay;
222} __attribute__((packed)); 222} __attribute__((packed));
223 223
224/* 5.2.1.6.1 INSERTION CONTROL PARAMETER BLOCK */
225struct uac3_insertion_ctl_blk {
226 __u8 bSize;
227 __u8 bmConInserted;
228} __attribute__ ((packed));
229
224/* 6.1 INTERRUPT DATA MESSAGE */ 230/* 6.1 INTERRUPT DATA MESSAGE */
225struct uac3_interrupt_data_msg { 231struct uac3_interrupt_data_msg {
226 __u8 bInfo; 232 __u8 bInfo;
@@ -392,4 +398,38 @@ struct uac3_interrupt_data_msg {
392#define UAC3_AC_ACTIVE_INTERFACE_CONTROL 0x01 398#define UAC3_AC_ACTIVE_INTERFACE_CONTROL 0x01
393#define UAC3_AC_POWER_DOMAIN_CONTROL 0x02 399#define UAC3_AC_POWER_DOMAIN_CONTROL 0x02
394 400
401/* A.23.5 TERMINAL CONTROL SELECTORS */
402#define UAC3_TE_UNDEFINED 0x00
403#define UAC3_TE_INSERTION 0x01
404#define UAC3_TE_OVERLOAD 0x02
405#define UAC3_TE_UNDERFLOW 0x03
406#define UAC3_TE_OVERFLOW 0x04
407#define UAC3_TE_LATENCY 0x05
408
409/* BADD predefined Unit/Terminal values */
410#define UAC3_BADD_IT_ID1 1 /* Input Terminal ID1: bTerminalID = 1 */
411#define UAC3_BADD_FU_ID2 2 /* Feature Unit ID2: bUnitID = 2 */
412#define UAC3_BADD_OT_ID3 3 /* Output Terminal ID3: bTerminalID = 3 */
413#define UAC3_BADD_IT_ID4 4 /* Input Terminal ID4: bTerminalID = 4 */
414#define UAC3_BADD_FU_ID5 5 /* Feature Unit ID5: bUnitID = 5 */
415#define UAC3_BADD_OT_ID6 6 /* Output Terminal ID6: bTerminalID = 6 */
416#define UAC3_BADD_FU_ID7 7 /* Feature Unit ID7: bUnitID = 7 */
417#define UAC3_BADD_MU_ID8 8 /* Mixer Unit ID8: bUnitID = 8 */
418#define UAC3_BADD_CS_ID9 9 /* Clock Source Entity ID9: bClockID = 9 */
419#define UAC3_BADD_PD_ID10 10 /* Power Domain ID10: bPowerDomainID = 10 */
420#define UAC3_BADD_PD_ID11 11 /* Power Domain ID11: bPowerDomainID = 11 */
421
422/* BADD wMaxPacketSize of AS endpoints */
423#define UAC3_BADD_EP_MAXPSIZE_SYNC_MONO_16 0x0060
424#define UAC3_BADD_EP_MAXPSIZE_ASYNC_MONO_16 0x0062
425#define UAC3_BADD_EP_MAXPSIZE_SYNC_MONO_24 0x0090
426#define UAC3_BADD_EP_MAXPSIZE_ASYNC_MONO_24 0x0093
427#define UAC3_BADD_EP_MAXPSIZE_SYNC_STEREO_16 0x00C0
428#define UAC3_BADD_EP_MAXPSIZE_ASYNC_STEREO_16 0x00C4
429#define UAC3_BADD_EP_MAXPSIZE_SYNC_STEREO_24 0x0120
430#define UAC3_BADD_EP_MAXPSIZE_ASYNC_STEREO_24 0x0126
431
432/* BADD sample rate is always fixed to 48kHz */
433#define UAC3_BADD_SAMPLING_RATE 48000
434
395#endif /* __LINUX_USB_AUDIO_V3_H */ 435#endif /* __LINUX_USB_AUDIO_V3_H */