1 #define CS_AUDIO_UNDEFINED 0x20
2 #define CS_AUDIO_DEVICE 0x21
3 #define CS_AUDIO_CONFIGURATION 0x22
4 #define CS_AUDIO_STRING 0x23
5 #define CS_AUDIO_INTERFACE 0x24
6 #define CS_AUDIO_ENDPOINT 0x25
9 #define INPUT_TERMINAL 0x02
10 #define OUTPUT_TERMINAL 0x03
11 #define MIXER_UNIT 0x04
12 #define SELECTOR_UNIT 0x05
13 #define FEATURE_UNIT 0x06
14 #define PROCESSING_UNIT 0x07
15 #define EXTENSION_UNIT 0x08
17 #define AS_GENERAL 0x01
18 #define FORMAT_TYPE 0x02
19 #define FORMAT_SPECIFIC 0x03
21 #define EP_GENERAL 0x01
27 #define MAX_ALT 32 /* Sorry, we need quite a few for the Philips webcams */
29 struct usb_audio_terminal
33 u16 type; /* Mic etc */
39 struct usb_audio_format
49 struct usb_audio_interface
56 u8 idleconf; /* Idle config */
57 #define AU_IFACE_FOUND 1
58 struct usb_audio_format format[MAX_FORMAT];
61 struct usb_audio_device
63 struct list_head list;
69 u8 channel_map[MAX_CHAN];
70 struct usb_audio_terminal terminal[MAX_CHAN];
71 struct usb_audio_interface interface[MAX_IFACE][MAX_ALT];
76 /* Audio Class specific Request Codes */
90 /* Terminal Control Selectors */
92 #define COPY_PROTECT_CONTROL 0x01
94 /* Feature Unit Control Selectors */
96 #define MUTE_CONTROL 0x01
97 #define VOLUME_CONTROL 0x02
98 #define BASS_CONTROL 0x03
99 #define MID_CONTROL 0x04
100 #define TREBLE_CONTROL 0x05
101 #define GRAPHIC_EQUALIZER_CONTROL 0x06
102 #define AUTOMATIC_GAIN_CONTROL 0x07
103 #define DELAY_CONTROL 0x08
104 #define BASS_BOOST_CONTROL 0x09
105 #define LOUDNESS_CONTROL 0x0a
107 /* Endpoint Control Selectors */
109 #define SAMPLING_FREQ_CONTROL 0x01
110 #define PITCH_CONTROL 0x02