[alsa-devel] [PATCH v2] add native DSD support for XMOS based DACs

Jurgen Kramer gtmkramer at xs4all.nl
Fri Sep 5 14:24:57 CEST 2014


Add quirks for XMOS based DACs for native DSD playback support using the new
DSD_U32_LE sample format.

This version adds native DSD support for:
- iFi Audio micro iDSD/nano iDSD (they use the same prod. id)
- DIYINHK USB to I2S/DSD converter

Changes from v1:
- use specific product id and alt setting per XMOS based device

Signed-off-by: Jurgen Kramer <gtmkramer at xs4all.nl>
---
 sound/usb/quirks.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 19a921e..5ae0536 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1174,5 +1174,20 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
 		}
 	}
 
+	/* XMOS based USB DACs */
+	if (le16_to_cpu(chip->dev->descriptor.idVendor) == 0x20b1) {
+		switch (le16_to_cpu(chip->dev->descriptor.idProduct)) {
+		/* iFi Audio micro/nano iDSD */
+		case 0x3008:
+			if (fp->altsetting == 2)
+				return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+		/* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
+		case 0x2009:
+			if (fp->altsetting == 3)
+				return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+		default:
+			return 0;
+		}
+	}
 	return 0;
 }
-- 
1.9.3



More information about the Alsa-devel mailing list