diff options
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/midi.c | 11 | ||||
-rw-r--r-- | sound/usb/quirks.c | 16 |
2 files changed, 27 insertions, 0 deletions
diff --git a/sound/usb/midi.c b/sound/usb/midi.c index 7b166c2be0f7..69e93a9d486a 100644 --- a/sound/usb/midi.c +++ b/sound/usb/midi.c | |||
@@ -1506,6 +1506,12 @@ static struct port_info { | |||
1506 | PORT_INFO(vendor, product, num, name, 0, \ | 1506 | PORT_INFO(vendor, product, num, name, 0, \ |
1507 | SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ | 1507 | SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ |
1508 | SNDRV_SEQ_PORT_TYPE_HARDWARE) | 1508 | SNDRV_SEQ_PORT_TYPE_HARDWARE) |
1509 | #define GM_SYNTH_PORT(vendor, product, num, name, voices) \ | ||
1510 | PORT_INFO(vendor, product, num, name, voices, \ | ||
1511 | SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ | ||
1512 | SNDRV_SEQ_PORT_TYPE_MIDI_GM | \ | ||
1513 | SNDRV_SEQ_PORT_TYPE_HARDWARE | \ | ||
1514 | SNDRV_SEQ_PORT_TYPE_SYNTHESIZER) | ||
1509 | #define ROLAND_SYNTH_PORT(vendor, product, num, name, voices) \ | 1515 | #define ROLAND_SYNTH_PORT(vendor, product, num, name, voices) \ |
1510 | PORT_INFO(vendor, product, num, name, voices, \ | 1516 | PORT_INFO(vendor, product, num, name, voices, \ |
1511 | SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ | 1517 | SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ |
@@ -1525,6 +1531,11 @@ static struct port_info { | |||
1525 | SNDRV_SEQ_PORT_TYPE_MIDI_MT32 | \ | 1531 | SNDRV_SEQ_PORT_TYPE_MIDI_MT32 | \ |
1526 | SNDRV_SEQ_PORT_TYPE_HARDWARE | \ | 1532 | SNDRV_SEQ_PORT_TYPE_HARDWARE | \ |
1527 | SNDRV_SEQ_PORT_TYPE_SYNTHESIZER) | 1533 | SNDRV_SEQ_PORT_TYPE_SYNTHESIZER) |
1534 | /* Yamaha MOTIF XF */ | ||
1535 | GM_SYNTH_PORT(0x0499, 0x105c, 0, "%s Tone Generator", 128), | ||
1536 | CONTROL_PORT(0x0499, 0x105c, 1, "%s Remote Control"), | ||
1537 | EXTERNAL_PORT(0x0499, 0x105c, 2, "%s Thru"), | ||
1538 | CONTROL_PORT(0x0499, 0x105c, 3, "%s Editor"), | ||
1528 | /* Roland UA-100 */ | 1539 | /* Roland UA-100 */ |
1529 | CONTROL_PORT(0x0582, 0x0000, 2, "%s Control"), | 1540 | CONTROL_PORT(0x0582, 0x0000, 2, "%s Control"), |
1530 | /* Roland SC-8850 */ | 1541 | /* Roland SC-8850 */ |
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 19a921eb75f1..d2aa45a8d895 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c | |||
@@ -1174,5 +1174,21 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, | |||
1174 | } | 1174 | } |
1175 | } | 1175 | } |
1176 | 1176 | ||
1177 | /* XMOS based USB DACs */ | ||
1178 | switch (chip->usb_id) { | ||
1179 | /* iFi Audio micro/nano iDSD */ | ||
1180 | case USB_ID(0x20b1, 0x3008): | ||
1181 | if (fp->altsetting == 2) | ||
1182 | return SNDRV_PCM_FMTBIT_DSD_U32_LE; | ||
1183 | break; | ||
1184 | /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */ | ||
1185 | case USB_ID(0x20b1, 0x2009): | ||
1186 | if (fp->altsetting == 3) | ||
1187 | return SNDRV_PCM_FMTBIT_DSD_U32_LE; | ||
1188 | break; | ||
1189 | default: | ||
1190 | break; | ||
1191 | } | ||
1192 | |||
1177 | return 0; | 1193 | return 0; |
1178 | } | 1194 | } |