diff options
author | Eldad Zack <eldad@fogrefinery.com> | 2012-11-28 17:55:38 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-11-29 02:44:17 -0500 |
commit | 76f74bca73ec8210c6b04559445982907ad1b0a6 (patch) | |
tree | df0752f032124997ec5fb361c03d949df0bbfd0d /sound/usb | |
parent | d847ce0e9a9031a3a62bbbe3ad8f37769a1a6f59 (diff) |
ALSA: usb-audio: M-Audio Fast Track C400 quirks table
Adds a quirks table for the M-Audio Fast Track C400.
Thanks to Clemens Ladisch <clemens@ladisch.de> for pointing out that
the table must be sorted.
Based on the following patch from the alsa-devel list:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-May/051676.html
See also:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-April/051219.html
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/quirks-table.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 898e16c70b0c..49f9af995d7a 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h | |||
@@ -2197,6 +2197,77 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
2197 | } | 2197 | } |
2198 | }, | 2198 | }, |
2199 | { | 2199 | { |
2200 | USB_DEVICE_VENDOR_SPEC(0x0763, 0x2030), | ||
2201 | .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { | ||
2202 | /* .vendor_name = "M-Audio", */ | ||
2203 | /* .product_name = "Fast Track C400", */ | ||
2204 | .ifnum = QUIRK_ANY_INTERFACE, | ||
2205 | .type = QUIRK_COMPOSITE, | ||
2206 | .data = &(const struct snd_usb_audio_quirk[]) { | ||
2207 | { | ||
2208 | .ifnum = 1, | ||
2209 | .type = QUIRK_AUDIO_STANDARD_MIXER, | ||
2210 | }, | ||
2211 | /* Playback */ | ||
2212 | { | ||
2213 | .ifnum = 2, | ||
2214 | .type = QUIRK_AUDIO_FIXED_ENDPOINT, | ||
2215 | .data = &(const struct audioformat) { | ||
2216 | .formats = SNDRV_PCM_FMTBIT_S24_3LE, | ||
2217 | .channels = 6, | ||
2218 | .iface = 2, | ||
2219 | .altsetting = 1, | ||
2220 | .altset_idx = 1, | ||
2221 | .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, | ||
2222 | .endpoint = 0x01, | ||
2223 | .ep_attr = 0x09, | ||
2224 | .rates = SNDRV_PCM_RATE_44100 | | ||
2225 | SNDRV_PCM_RATE_48000 | | ||
2226 | SNDRV_PCM_RATE_88200 | | ||
2227 | SNDRV_PCM_RATE_96000, | ||
2228 | .rate_min = 44100, | ||
2229 | .rate_max = 96000, | ||
2230 | .nr_rates = 4, | ||
2231 | .rate_table = (unsigned int[]) { | ||
2232 | 44100, 48000, 88200, 96000 | ||
2233 | }, | ||
2234 | .clock = 0x81, | ||
2235 | } | ||
2236 | }, | ||
2237 | /* Capture */ | ||
2238 | { | ||
2239 | .ifnum = 3, | ||
2240 | .type = QUIRK_AUDIO_FIXED_ENDPOINT, | ||
2241 | .data = &(const struct audioformat) { | ||
2242 | .formats = SNDRV_PCM_FMTBIT_S24_3LE, | ||
2243 | .channels = 4, | ||
2244 | .iface = 3, | ||
2245 | .altsetting = 1, | ||
2246 | .altset_idx = 1, | ||
2247 | .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE, | ||
2248 | .endpoint = 0x81, | ||
2249 | .ep_attr = 0x05, | ||
2250 | .rates = SNDRV_PCM_RATE_44100 | | ||
2251 | SNDRV_PCM_RATE_48000 | | ||
2252 | SNDRV_PCM_RATE_88200 | | ||
2253 | SNDRV_PCM_RATE_96000, | ||
2254 | .rate_min = 44100, | ||
2255 | .rate_max = 96000, | ||
2256 | .nr_rates = 4, | ||
2257 | .rate_table = (unsigned int[]) { | ||
2258 | 44100, 48000, 88200, 96000 | ||
2259 | }, | ||
2260 | .clock = 0x81, | ||
2261 | } | ||
2262 | }, | ||
2263 | /* MIDI */ | ||
2264 | { | ||
2265 | .ifnum = -1 /* Interface = 4 */ | ||
2266 | } | ||
2267 | } | ||
2268 | } | ||
2269 | }, | ||
2270 | { | ||
2200 | USB_DEVICE_VENDOR_SPEC(0x0763, 0x2080), | 2271 | USB_DEVICE_VENDOR_SPEC(0x0763, 0x2080), |
2201 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | 2272 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { |
2202 | /* .vendor_name = "M-Audio", */ | 2273 | /* .vendor_name = "M-Audio", */ |