OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [usb/] [audio.h] - Blame information for rev 81

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * <linux/usb/audio.h> -- USB Audio definitions.
3
 *
4
 * Copyright (C) 2006 Thumtronics Pty Ltd.
5
 * Developed for Thumtronics by Grey Innovation
6
 * Ben Williamson <ben.williamson@greyinnovation.com>
7
 *
8
 * This software is distributed under the terms of the GNU General Public
9
 * License ("GPL") version 2, as published by the Free Software Foundation.
10
 *
11
 * This file holds USB constants and structures defined
12
 * by the USB Device Class Definition for Audio Devices.
13
 * Comments below reference relevant sections of that document:
14
 *
15
 * http://www.usb.org/developers/devclass_docs/audio10.pdf
16
 */
17
 
18
#ifndef __LINUX_USB_AUDIO_H
19
#define __LINUX_USB_AUDIO_H
20
 
21
#include <linux/types.h>
22
 
23
/* A.2 Audio Interface Subclass Codes */
24
#define USB_SUBCLASS_AUDIOCONTROL       0x01
25
#define USB_SUBCLASS_AUDIOSTREAMING     0x02
26
#define USB_SUBCLASS_MIDISTREAMING      0x03
27
 
28
/* 4.3.2  Class-Specific AC Interface Descriptor */
29
struct usb_ac_header_descriptor {
30
        __u8  bLength;                  // 8+n
31
        __u8  bDescriptorType;          // USB_DT_CS_INTERFACE
32
        __u8  bDescriptorSubtype;       // USB_MS_HEADER
33
        __le16 bcdADC;                  // 0x0100
34
        __le16 wTotalLength;            // includes Unit and Terminal desc.
35
        __u8  bInCollection;            // n
36
        __u8  baInterfaceNr[];          // [n]
37
} __attribute__ ((packed));
38
 
39
#define USB_DT_AC_HEADER_SIZE(n)        (8+(n))
40
 
41
/* As above, but more useful for defining your own descriptors: */
42
#define DECLARE_USB_AC_HEADER_DESCRIPTOR(n)                     \
43
struct usb_ac_header_descriptor_##n {                           \
44
        __u8  bLength;                                          \
45
        __u8  bDescriptorType;                                  \
46
        __u8  bDescriptorSubtype;                               \
47
        __le16 bcdADC;                                          \
48
        __le16 wTotalLength;                                    \
49
        __u8  bInCollection;                                    \
50
        __u8  baInterfaceNr[n];                                 \
51
} __attribute__ ((packed))
52
 
53
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.