ALSA: usb-audio: add native DSD support for XMOS based DACs
[firefly-linux-kernel-4.4.55.git] / sound / usb / quirks.c
index 19a921eb75f112d47cf25db29fea2ac332a69ca2..d2aa45a8d89546b378fa05fc94750a35f6fe5c18 100644 (file)
@@ -1174,5 +1174,21 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
                }
        }
 
+       /* XMOS based USB DACs */
+       switch (chip->usb_id) {
+       /* iFi Audio micro/nano iDSD */
+       case USB_ID(0x20b1, 0x3008):
+               if (fp->altsetting == 2)
+                       return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+               break;
+       /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
+       case USB_ID(0x20b1, 0x2009):
+               if (fp->altsetting == 3)
+                       return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+               break;
+       default:
+               break;
+       }
+
        return 0;
 }