QUIRK_RME_DIGIFACE(0x3f8c),
QUIRK_RME_DIGIFACE(0x3fa0),
+/* Arturia AudioFuse 16Rig Audio */
+/* AF16Rig MIDI has USB PID 0xaf21 and appears to work OK without quirks */
+{
+ USB_DEVICE(0x1c75, 0xaf20),
+ QUIRK_DRIVER_INFO {
+ .vendor_name = "Arturia",
+ .product_name = "AF16Rig",
+ QUIRK_DATA_COMPOSITE {
+ { QUIRK_DATA_STANDARD_MIXER(0) },
+ {
+ QUIRK_DATA_AUDIOFORMAT(1) { /* Playback */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 34,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 1,
+ .altsetting = 1,
+ .altset_idx = 1,
+ .endpoint = 0x01,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03b8,
+ .rates = SNDRV_PCM_RATE_44100|
+ SNDRV_PCM_RATE_48000,
+ .rate_min = 44100,
+ .rate_max = 48000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 44100, 48000 },
+ .clock = 41,
+ }
+ },
+ {
+ QUIRK_DATA_AUDIOFORMAT(1) { /* Playback */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 18,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 1,
+ .altsetting = 1,
+ .altset_idx = 1,
+ .endpoint = 0x01,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03a8,
+ .rates = SNDRV_PCM_RATE_88200|
+ SNDRV_PCM_RATE_96000,
+ .rate_min = 88200,
+ .rate_max = 96000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 88200, 96000 },
+ .clock = 41,
+ }
+ },
+ {
+ QUIRK_DATA_AUDIOFORMAT(1) { /* Playback */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 10,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 1,
+ .altsetting = 3,
+ .altset_idx = 3,
+ .endpoint = 0x01,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03e8,
+ .rates = SNDRV_PCM_RATE_176400|
+ SNDRV_PCM_RATE_192000,
+ .rate_min = 176400,
+ .rate_max = 192000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 176400, 192000 },
+ .clock = 41,
+ }
+ },
+ {
+ QUIRK_DATA_AUDIOFORMAT(2) { /* Capture */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 34,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 2,
+ .altsetting = 1,
+ .altset_idx = 1,
+ .endpoint = 0x81,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03b8,
+ .rates = SNDRV_PCM_RATE_44100|
+ SNDRV_PCM_RATE_48000,
+ .rate_min = 44100,
+ .rate_max = 48000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 44100, 48000 },
+ .clock = 41,
+ }
+ },
+ {
+ QUIRK_DATA_AUDIOFORMAT(2) { /* Capture */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 18,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 2,
+ .altsetting = 2,
+ .altset_idx = 2,
+ .endpoint = 0x81,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03a8,
+ .rates = SNDRV_PCM_RATE_88200|
+ SNDRV_PCM_RATE_96000,
+ .rate_min = 88200,
+ .rate_max = 96000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 88200, 96000 },
+ .clock = 41,
+ }
+ },
+ {
+ QUIRK_DATA_AUDIOFORMAT(2) { /* Capture */
+ .formats = SNDRV_PCM_FMTBIT_S32_LE,
+ .channels = 10,
+ .fmt_type = UAC_FORMAT_TYPE_I_PCM,
+ .fmt_bits = 24,
+ .fmt_sz = 4,
+ .iface = 2,
+ .altsetting = 3,
+ .altset_idx = 3,
+ .endpoint = 0x81,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC|
+ USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1,
+ .protocol = UAC_VERSION_2,
+ .maxpacksize = 0x03e8,
+ .rates = SNDRV_PCM_RATE_176400|
+ SNDRV_PCM_RATE_192000,
+ .rate_min = 176400,
+ .rate_max = 192000,
+ .nr_rates = 2,
+ .rate_table = (unsigned int[]) { 176400, 192000 },
+ .clock = 41,
+ }
+ },
+ { QUIRK_DATA_IGNORE(3) }, /* Firmware update */
+ QUIRK_COMPOSITE_END
+ }
+ }
+},
+
#undef USB_DEVICE_VENDOR_SPEC
#undef USB_AUDIO_DEVICE