aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks-table.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /sound/usb/quirks-table.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'sound/usb/quirks-table.h')
-rw-r--r--sound/usb/quirks-table.h300
1 files changed, 286 insertions, 14 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 2e8003f98fca..0b2ae8e1c02d 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -79,6 +79,13 @@
79 .idProduct = 0x3f0a, 79 .idProduct = 0x3f0a,
80 .bInterfaceClass = USB_CLASS_AUDIO, 80 .bInterfaceClass = USB_CLASS_AUDIO,
81}, 81},
82{
83 /* E-Mu 0204 USB */
84 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
85 .idVendor = 0x041e,
86 .idProduct = 0x3f19,
87 .bInterfaceClass = USB_CLASS_AUDIO,
88},
82 89
83/* 90/*
84 * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface 91 * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface
@@ -240,9 +247,21 @@ YAMAHA_DEVICE(0x104f, NULL),
240YAMAHA_DEVICE(0x1050, NULL), 247YAMAHA_DEVICE(0x1050, NULL),
241YAMAHA_DEVICE(0x1051, NULL), 248YAMAHA_DEVICE(0x1051, NULL),
242YAMAHA_DEVICE(0x1052, NULL), 249YAMAHA_DEVICE(0x1052, NULL),
250YAMAHA_INTERFACE(0x1053, 0, NULL),
251YAMAHA_INTERFACE(0x1054, 0, NULL),
252YAMAHA_DEVICE(0x1055, NULL),
253YAMAHA_DEVICE(0x1056, NULL),
254YAMAHA_DEVICE(0x1057, NULL),
255YAMAHA_DEVICE(0x1058, NULL),
256YAMAHA_DEVICE(0x1059, NULL),
257YAMAHA_DEVICE(0x105a, NULL),
258YAMAHA_DEVICE(0x105b, NULL),
259YAMAHA_DEVICE(0x105c, NULL),
260YAMAHA_DEVICE(0x105d, NULL),
243YAMAHA_DEVICE(0x2000, "DGP-7"), 261YAMAHA_DEVICE(0x2000, "DGP-7"),
244YAMAHA_DEVICE(0x2001, "DGP-5"), 262YAMAHA_DEVICE(0x2001, "DGP-5"),
245YAMAHA_DEVICE(0x2002, NULL), 263YAMAHA_DEVICE(0x2002, NULL),
264YAMAHA_DEVICE(0x2003, NULL),
246YAMAHA_DEVICE(0x5000, "CS1D"), 265YAMAHA_DEVICE(0x5000, "CS1D"),
247YAMAHA_DEVICE(0x5001, "DSP1D"), 266YAMAHA_DEVICE(0x5001, "DSP1D"),
248YAMAHA_DEVICE(0x5002, "DME32"), 267YAMAHA_DEVICE(0x5002, "DME32"),
@@ -693,11 +712,11 @@ YAMAHA_DEVICE(0x7010, "UB99"),
693 .data = (const struct snd_usb_audio_quirk[]) { 712 .data = (const struct snd_usb_audio_quirk[]) {
694 { 713 {
695 .ifnum = 0, 714 .ifnum = 0,
696 .type = QUIRK_IGNORE_INTERFACE 715 .type = QUIRK_AUDIO_STANDARD_INTERFACE
697 }, 716 },
698 { 717 {
699 .ifnum = 1, 718 .ifnum = 1,
700 .type = QUIRK_IGNORE_INTERFACE 719 .type = QUIRK_AUDIO_STANDARD_INTERFACE
701 }, 720 },
702 { 721 {
703 .ifnum = 2, 722 .ifnum = 2,
@@ -1136,11 +1155,34 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1136 } 1155 }
1137}, 1156},
1138{ 1157{
1158 /* has ID 0x0066 when not in "Advanced Driver" mode */
1159 USB_DEVICE(0x0582, 0x0064),
1160 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1161 /* .vendor_name = "EDIROL", */
1162 /* .product_name = "PCR-1", */
1163 .ifnum = QUIRK_ANY_INTERFACE,
1164 .type = QUIRK_COMPOSITE,
1165 .data = (const struct snd_usb_audio_quirk[]) {
1166 {
1167 .ifnum = 1,
1168 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1169 },
1170 {
1171 .ifnum = 2,
1172 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1173 },
1174 {
1175 .ifnum = -1
1176 }
1177 }
1178 }
1179},
1180{
1139 /* has ID 0x0067 when not in "Advanced Driver" mode */ 1181 /* has ID 0x0067 when not in "Advanced Driver" mode */
1140 USB_DEVICE(0x0582, 0x0065), 1182 USB_DEVICE(0x0582, 0x0065),
1141 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { 1183 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1142 .vendor_name = "EDIROL", 1184 /* .vendor_name = "EDIROL", */
1143 .product_name = "PCR-1", 1185 /* .product_name = "PCR-1", */
1144 .ifnum = 0, 1186 .ifnum = 0,
1145 .type = QUIRK_MIDI_FIXED_ENDPOINT, 1187 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1146 .data = & (const struct snd_usb_midi_endpoint_info) { 1188 .data = & (const struct snd_usb_midi_endpoint_info) {
@@ -1525,6 +1567,116 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1525 } 1567 }
1526 } 1568 }
1527}, 1569},
1570{
1571 USB_DEVICE_VENDOR_SPEC(0x0582, 0x0104),
1572 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1573 /* .vendor_name = "Roland", */
1574 /* .product_name = "UM-1G", */
1575 .ifnum = 0,
1576 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1577 .data = & (const struct snd_usb_midi_endpoint_info) {
1578 .out_cables = 0x0001,
1579 .in_cables = 0x0001
1580 }
1581 }
1582},
1583{
1584 /* Boss JS-8 Jam Station */
1585 USB_DEVICE(0x0582, 0x0109),
1586 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1587 /* .vendor_name = "BOSS", */
1588 /* .product_name = "JS-8", */
1589 .ifnum = QUIRK_ANY_INTERFACE,
1590 .type = QUIRK_COMPOSITE,
1591 .data = (const struct snd_usb_audio_quirk[]) {
1592 {
1593 .ifnum = 0,
1594 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1595 },
1596 {
1597 .ifnum = 1,
1598 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1599 },
1600 {
1601 .ifnum = 2,
1602 .type = QUIRK_MIDI_STANDARD_INTERFACE
1603 },
1604 {
1605 .ifnum = -1
1606 }
1607 }
1608 }
1609},
1610{
1611 /* has ID 0x0110 when not in Advanced Driver mode */
1612 USB_DEVICE_VENDOR_SPEC(0x0582, 0x010f),
1613 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1614 /* .vendor_name = "Roland", */
1615 /* .product_name = "A-PRO", */
1616 .ifnum = 1,
1617 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1618 .data = & (const struct snd_usb_midi_endpoint_info) {
1619 .out_cables = 0x0003,
1620 .in_cables = 0x0007
1621 }
1622 }
1623},
1624{
1625 USB_DEVICE(0x0582, 0x0113),
1626 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1627 /* .vendor_name = "BOSS", */
1628 /* .product_name = "ME-25", */
1629 .ifnum = QUIRK_ANY_INTERFACE,
1630 .type = QUIRK_COMPOSITE,
1631 .data = (const struct snd_usb_audio_quirk[]) {
1632 {
1633 .ifnum = 0,
1634 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1635 },
1636 {
1637 .ifnum = 1,
1638 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1639 },
1640 {
1641 .ifnum = 2,
1642 .type = QUIRK_MIDI_FIXED_ENDPOINT,
1643 .data = & (const struct snd_usb_midi_endpoint_info) {
1644 .out_cables = 0x0001,
1645 .in_cables = 0x0001
1646 }
1647 },
1648 {
1649 .ifnum = -1
1650 }
1651 }
1652 }
1653},
1654{
1655 USB_DEVICE(0x0582, 0x0127),
1656 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1657 /* .vendor_name = "Roland", */
1658 /* .product_name = "GR-55", */
1659 .ifnum = QUIRK_ANY_INTERFACE,
1660 .type = QUIRK_COMPOSITE,
1661 .data = (const struct snd_usb_audio_quirk[]) {
1662 {
1663 .ifnum = 0,
1664 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1665 },
1666 {
1667 .ifnum = 1,
1668 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1669 },
1670 {
1671 .ifnum = 2,
1672 .type = QUIRK_MIDI_STANDARD_INTERFACE
1673 },
1674 {
1675 .ifnum = -1
1676 }
1677 }
1678 }
1679},
1528 1680
1529/* Guillemot devices */ 1681/* Guillemot devices */
1530{ 1682{
@@ -1827,24 +1979,64 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1827 } 1979 }
1828}, 1980},
1829{ 1981{
1830 USB_DEVICE(0x0763, 0x2080), 1982 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2080),
1831 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { 1983 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1832 /* .vendor_name = "M-Audio", */ 1984 /* .vendor_name = "M-Audio", */
1833 /* .product_name = "Fast Track Ultra 8", */ 1985 /* .product_name = "Fast Track Ultra", */
1834 .ifnum = QUIRK_ANY_INTERFACE, 1986 .ifnum = QUIRK_ANY_INTERFACE,
1835 .type = QUIRK_COMPOSITE, 1987 .type = QUIRK_COMPOSITE,
1836 .data = & (const struct snd_usb_audio_quirk[]) { 1988 .data = & (const struct snd_usb_audio_quirk[]) {
1837 { 1989 {
1838 .ifnum = 0, 1990 .ifnum = 0,
1839 .type = QUIRK_IGNORE_INTERFACE 1991 .type = QUIRK_AUDIO_STANDARD_MIXER,
1840 }, 1992 },
1841 { 1993 {
1842 .ifnum = 1, 1994 .ifnum = 1,
1843 .type = QUIRK_AUDIO_STANDARD_INTERFACE 1995 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
1996 .data = & (const struct audioformat) {
1997 .formats = SNDRV_PCM_FMTBIT_S24_3LE,
1998 .channels = 8,
1999 .iface = 1,
2000 .altsetting = 1,
2001 .altset_idx = 1,
2002 .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
2003 .endpoint = 0x01,
2004 .ep_attr = 0x09,
2005 .rates = SNDRV_PCM_RATE_44100 |
2006 SNDRV_PCM_RATE_48000 |
2007 SNDRV_PCM_RATE_88200 |
2008 SNDRV_PCM_RATE_96000,
2009 .rate_min = 44100,
2010 .rate_max = 96000,
2011 .nr_rates = 4,
2012 .rate_table = (unsigned int[]) {
2013 44100, 48000, 88200, 96000
2014 }
2015 }
1844 }, 2016 },
1845 { 2017 {
1846 .ifnum = 2, 2018 .ifnum = 2,
1847 .type = QUIRK_AUDIO_STANDARD_INTERFACE 2019 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
2020 .data = & (const struct audioformat) {
2021 .formats = SNDRV_PCM_FMTBIT_S24_3LE,
2022 .channels = 8,
2023 .iface = 2,
2024 .altsetting = 1,
2025 .altset_idx = 1,
2026 .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
2027 .endpoint = 0x81,
2028 .ep_attr = 0x05,
2029 .rates = SNDRV_PCM_RATE_44100 |
2030 SNDRV_PCM_RATE_48000 |
2031 SNDRV_PCM_RATE_88200 |
2032 SNDRV_PCM_RATE_96000,
2033 .rate_min = 44100,
2034 .rate_max = 96000,
2035 .nr_rates = 4,
2036 .rate_table = (unsigned int[]) {
2037 44100, 48000, 88200, 96000
2038 }
2039 }
1848 }, 2040 },
1849 /* interface 3 (MIDI) is standard compliant */ 2041 /* interface 3 (MIDI) is standard compliant */
1850 { 2042 {
@@ -1854,7 +2046,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1854 } 2046 }
1855}, 2047},
1856{ 2048{
1857 USB_DEVICE(0x0763, 0x2081), 2049 USB_DEVICE_VENDOR_SPEC(0x0763, 0x2081),
1858 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { 2050 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1859 /* .vendor_name = "M-Audio", */ 2051 /* .vendor_name = "M-Audio", */
1860 /* .product_name = "Fast Track Ultra 8R", */ 2052 /* .product_name = "Fast Track Ultra 8R", */
@@ -1863,15 +2055,55 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1863 .data = & (const struct snd_usb_audio_quirk[]) { 2055 .data = & (const struct snd_usb_audio_quirk[]) {
1864 { 2056 {
1865 .ifnum = 0, 2057 .ifnum = 0,
1866 .type = QUIRK_IGNORE_INTERFACE 2058 .type = QUIRK_AUDIO_STANDARD_MIXER,
1867 }, 2059 },
1868 { 2060 {
1869 .ifnum = 1, 2061 .ifnum = 1,
1870 .type = QUIRK_AUDIO_STANDARD_INTERFACE 2062 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
2063 .data = & (const struct audioformat) {
2064 .formats = SNDRV_PCM_FMTBIT_S24_3LE,
2065 .channels = 8,
2066 .iface = 1,
2067 .altsetting = 1,
2068 .altset_idx = 1,
2069 .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
2070 .endpoint = 0x01,
2071 .ep_attr = 0x09,
2072 .rates = SNDRV_PCM_RATE_44100 |
2073 SNDRV_PCM_RATE_48000 |
2074 SNDRV_PCM_RATE_88200 |
2075 SNDRV_PCM_RATE_96000,
2076 .rate_min = 44100,
2077 .rate_max = 96000,
2078 .nr_rates = 4,
2079 .rate_table = (unsigned int[]) {
2080 44100, 48000, 88200, 96000
2081 }
2082 }
1871 }, 2083 },
1872 { 2084 {
1873 .ifnum = 2, 2085 .ifnum = 2,
1874 .type = QUIRK_AUDIO_STANDARD_INTERFACE 2086 .type = QUIRK_AUDIO_FIXED_ENDPOINT,
2087 .data = & (const struct audioformat) {
2088 .formats = SNDRV_PCM_FMTBIT_S24_3LE,
2089 .channels = 8,
2090 .iface = 2,
2091 .altsetting = 1,
2092 .altset_idx = 1,
2093 .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
2094 .endpoint = 0x81,
2095 .ep_attr = 0x05,
2096 .rates = SNDRV_PCM_RATE_44100 |
2097 SNDRV_PCM_RATE_48000 |
2098 SNDRV_PCM_RATE_88200 |
2099 SNDRV_PCM_RATE_96000,
2100 .rate_min = 44100,
2101 .rate_max = 96000,
2102 .nr_rates = 4,
2103 .rate_table = (unsigned int[]) {
2104 44100, 48000, 88200, 96000
2105 }
2106 }
1875 }, 2107 },
1876 /* interface 3 (MIDI) is standard compliant */ 2108 /* interface 3 (MIDI) is standard compliant */
1877 { 2109 {
@@ -1919,7 +2151,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1919 .data = & (const struct snd_usb_audio_quirk[]) { 2151 .data = & (const struct snd_usb_audio_quirk[]) {
1920 { 2152 {
1921 .ifnum = 0, 2153 .ifnum = 0,
1922 .type = QUIRK_MIDI_FASTLANE 2154 .type = QUIRK_MIDI_RAW_BYTES
1923 }, 2155 },
1924 { 2156 {
1925 .ifnum = 1, 2157 .ifnum = 1,
@@ -1973,6 +2205,17 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1973 } 2205 }
1974}, 2206},
1975 2207
2208/* KORG devices */
2209{
2210 USB_DEVICE_VENDOR_SPEC(0x0944, 0x0200),
2211 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
2212 .vendor_name = "KORG, Inc.",
2213 /* .product_name = "PANDORA PX5D", */
2214 .ifnum = 3,
2215 .type = QUIRK_MIDI_STANDARD_INTERFACE,
2216 }
2217},
2218
1976/* AKAI devices */ 2219/* AKAI devices */
1977{ 2220{
1978 USB_DEVICE(0x09e8, 0x0062), 2221 USB_DEVICE(0x09e8, 0x0062),
@@ -2068,6 +2311,15 @@ YAMAHA_DEVICE(0x7010, "UB99"),
2068 } 2311 }
2069}, 2312},
2070{ 2313{
2314 USB_DEVICE(0x1235, 0x000e),
2315 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
2316 /* .vendor_name = "Novation", */
2317 /* .product_name = "Launchpad", */
2318 .ifnum = 0,
2319 .type = QUIRK_MIDI_RAW_BYTES
2320 }
2321},
2322{
2071 USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661), 2323 USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
2072 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { 2324 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
2073 .vendor_name = "Novation", 2325 .vendor_name = "Novation",
@@ -2115,6 +2367,26 @@ YAMAHA_DEVICE(0x7010, "UB99"),
2115 } 2367 }
2116}, 2368},
2117 2369
2370/* Native Instruments MK2 series */
2371{
2372 /* Komplete Audio 6 */
2373 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
2374 .idVendor = 0x17cc,
2375 .idProduct = 0x1000,
2376},
2377{
2378 /* Traktor Audio 6 */
2379 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
2380 .idVendor = 0x17cc,
2381 .idProduct = 0x1010,
2382},
2383{
2384 /* Traktor Audio 10 */
2385 .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
2386 .idVendor = 0x17cc,
2387 .idProduct = 0x1020,
2388},
2389
2118/* Miditech devices */ 2390/* Miditech devices */
2119{ 2391{
2120 USB_DEVICE(0x4752, 0x0011), 2392 USB_DEVICE(0x4752, 0x0011),