ALSA: asihpi: update to HPI version 4.14
[deliverable/linux.git] / sound / usb / quirks-table.h
index c657752a420c024aba8c61fa8ced9b8971434fcf..73d2ba47cc3192586e1051c54c2a3d5eff6acdd7 100644 (file)
@@ -2667,57 +2667,6 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .type = QUIRK_MIDI_NOVATION
        }
 },
-{
-       /*
-        * Focusrite Scarlett 18i6
-        *
-        * Avoid mixer creation, which otherwise fails because some of
-        * the interface descriptor subtypes for interface 0 are
-        * unknown.  That should be fixed or worked-around but this at
-        * least allows the device to be used successfully with a DAW
-        * and an external mixer.  See comments below about other
-        * ignored interfaces.
-        */
-       USB_DEVICE(0x1235, 0x8004),
-       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
-               .vendor_name = "Focusrite",
-               .product_name = "Scarlett 18i6",
-               .ifnum = QUIRK_ANY_INTERFACE,
-               .type = QUIRK_COMPOSITE,
-               .data = & (const struct snd_usb_audio_quirk[]) {
-                       {
-                               /* InterfaceSubClass 1 (Control Device) */
-                               .ifnum = 0,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = 1,
-                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
-                       },
-                       {
-                               .ifnum = 2,
-                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
-                       },
-                       {
-                               /* InterfaceSubClass 1 (Control Device) */
-                               .ifnum = 3,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = 4,
-                               .type = QUIRK_MIDI_STANDARD_INTERFACE
-                       },
-                       {
-                               /* InterfaceSubClass 1 (Device Firmware Update) */
-                               .ifnum = 5,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = -1
-                       }
-               }
-       }
-},
 
 /* Access Music devices */
 {
@@ -2944,7 +2893,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .data = (const struct snd_usb_audio_quirk[]){
                        {
                                .ifnum = 0,
-                               .type = QUIRK_IGNORE_INTERFACE,
+                               .type = QUIRK_AUDIO_STANDARD_MIXER,
                        },
                        {
                                .ifnum = 1,
@@ -2955,16 +2904,40 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                                        .iface = 1,
                                        .altsetting = 1,
                                        .altset_idx = 1,
-                                       .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
+                                       .attributes = 0x4,
                                        .endpoint = 0x02,
-                                       .ep_attr = 0x01,
-                                       .rates = SNDRV_PCM_RATE_44100 |
-                                                SNDRV_PCM_RATE_48000,
-                                       .rate_min = 44100,
+                                       .ep_attr = USB_ENDPOINT_XFER_ISOC |
+                                               USB_ENDPOINT_SYNC_SYNC,
+                                       .maxpacksize = 0x130,
+                                       .rates = SNDRV_PCM_RATE_48000,
+                                       .rate_min = 48000,
                                        .rate_max = 48000,
-                                       .nr_rates = 2,
+                                       .nr_rates = 1,
                                        .rate_table = (unsigned int[]) {
-                                               44100, 48000
+                                               48000
+                                       }
+                               }
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                               .data = &(const struct audioformat) {
+                                       .formats = SNDRV_PCM_FMTBIT_S24_3BE,
+                                       .channels = 2,
+                                       .iface = 1,
+                                       .altsetting = 1,
+                                       .altset_idx = 1,
+                                       .attributes = 0x4,
+                                       .endpoint = 0x81,
+                                       .ep_attr = USB_ENDPOINT_XFER_ISOC |
+                                               USB_ENDPOINT_SYNC_ASYNC,
+                                       .maxpacksize = 0x130,
+                                       .rates = SNDRV_PCM_RATE_48000,
+                                       .rate_min = 48000,
+                                       .rate_max = 48000,
+                                       .nr_rates = 1,
+                                       .rate_table = (unsigned int[]) {
+                                               48000
                                        }
                                }
                        },
@@ -2972,7 +2945,6 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                                .ifnum = -1
                        }
                }
-
        }
 },
 
@@ -3201,6 +3173,46 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 
+{
+       /*
+        * ZOOM R16/24 in audio interface mode.
+        * Mixer descriptors are garbage, further quirks will be needed
+        * to make any of it functional, thus disabled for now.
+        * Playback stream appears to start and run fine but no sound
+        * is produced, so also disabled for now.
+        */
+       USB_DEVICE(0x1686, 0x00dd),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               /* Mixer */
+                               .ifnum = 0,
+                               .type = QUIRK_IGNORE_INTERFACE,
+                       },
+                       {
+                               /* Playback  */
+                               .ifnum = 1,
+                               .type = QUIRK_IGNORE_INTERFACE,
+                       },
+                       {
+                               /* Capture */
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE,
+                       },
+                       {
+                               /* Midi */
+                               .ifnum = 3,
+                               .type = QUIRK_MIDI_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = -1
+                       },
+               }
+       }
+},
+
 {
        /*
         * Some USB MIDI devices don't have an audio control interface,
This page took 0.025463 seconds and 5 git commands to generate.