1 #define USB_DT_CS_DEVICE 0x21
2 #define USB_DT_CS_CONFIG 0x22
3 #define USB_DT_CS_STRING 0x23
4 #define USB_DT_CS_INTERFACE 0x24
5 #define USB_DT_CS_ENDPOINT 0x25
6
7 #define CS_AUDIO_UNDEFINED 0x20
8 #define CS_AUDIO_DEVICE 0x21
9 #define CS_AUDIO_CONFIGURATION 0x22
10 #define CS_AUDIO_STRING 0x23
11 #define CS_AUDIO_INTERFACE 0x24
12 #define CS_AUDIO_ENDPOINT 0x25
13
14 #define HEADER 0x01
15 #define INPUT_TERMINAL 0x02
16 #define OUTPUT_TERMINAL 0x03
17 #define MIXER_UNIT 0x04
18 #define SELECTOR_UNIT 0x05
19 #define FEATURE_UNIT 0x06
20 #define PROCESSING_UNIT 0x07
21 #define EXTENSION_UNIT 0x08
22
23 #define AS_GENERAL 0x01
24 #define FORMAT_TYPE 0x02
25 #define FORMAT_SPECIFIC 0x03
26
27 #define EP_GENERAL 0x01
28
29 #define MAX_CHAN 9
30 #define MAX_FREQ 16
31 #define MAX_IFACE 8
32 #define MAX_FORMAT 8
33 #define MAX_ALT 32 /* Sorry, we need quite a few for the Philips webcams */
34
35 struct usb_audio_terminal
36 {
37 u8 flags;
38 u8 assoc;
39 u16 type; /* Mic etc */
40 u8 channels;
41 u8 source;
42 u16 chancfg;
43 };
44
45 struct usb_audio_format
46 {
47 u8 type;
48 u8 channels;
49 u8 num_freq;
50 u8 sfz;
51 u8 bits;
52 u16 freq[MAX_FREQ];
53 };
54
55 struct usb_audio_interface
56 {
57 u8 terminal;
58 u8 delay;
59 u16 num_formats;
60 u16 format_type;
61 u8 flags;
62 u8 idleconf; /* Idle config */
63 #define AU_IFACE_FOUND 1
64 struct usb_audio_format format[MAX_FORMAT];
65 };
66
67 struct usb_audio_device
68 {
69 struct list_head list;
70 u8 mixer;
71 u8 selector;
72 void *irq_handle;
73 u8 num_channels;
74 u8 num_dsp_iface;
75 u8 channel_map[MAX_CHAN];
76 struct usb_audio_terminal terminal[MAX_CHAN];
77 struct usb_audio_interface interface[MAX_IFACE][MAX_ALT];
78 };
79
80
81
82 /* Audio Class specific Request Codes */
83
84 #define SET_CUR 0x01
85 #define GET_CUR 0x81
86 #define SET_MIN 0x02
87 #define GET_MIN 0x82
88 #define SET_MAX 0x03
89 #define GET_MAX 0x83
90 #define SET_RES 0x04
91 #define GET_RES 0x84
92 #define SET_MEM 0x05
93 #define GET_MEM 0x85
94 #define GET_STAT 0xff
95
96 /* Terminal Control Selectors */
97
98 #define COPY_PROTECT_CONTROL 0x01
99
100 /* Feature Unit Control Selectors */
101
102 #define MUTE_CONTROL 0x01
103 #define VOLUME_CONTROL 0x02
104 #define BASS_CONTROL 0x03
105 #define MID_CONTROL 0x04
106 #define TREBLE_CONTROL 0x05
107 #define GRAPHIC_EQUALIZER_CONTROL 0x06
108 #define AUTOMATIC_GAIN_CONTROL 0x07
109 #define DELAY_CONTROL 0x08
110 #define BASS_BOOST_CONTROL 0x09
111 #define LOUDNESS_CONTROL 0x0a
112
113 /* Endpoint Control Selectors */
114
115 #define SAMPLING_FREQ_CONTROL 0x01
116 #define PITCH_CONTROL 0x02
117
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.