Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c05fce58 authored by Marko Friedemann's avatar Marko Friedemann Committed by Takashi Iwai
Browse files

ALSA: USB: Support for (original) Xbox Communicator



Added support for Xbox Communicator to USB quirks.

Signed-off-by: default avatarMarko Friedemann <mfr@bmx-chemnitz.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 1f3b1407
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -2781,6 +2781,59 @@ YAMAHA_DEVICE(0x7010, "UB99"),
	}
},

/* Microsoft XboxLive Headset/Xbox Communicator */
{
	USB_DEVICE(0x045e, 0x0283),
	.bInterfaceClass = USB_CLASS_PER_INTERFACE,
	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
		.vendor_name = "Microsoft",
		.product_name = "XboxLive Headset/Xbox Communicator",
		.ifnum = QUIRK_ANY_INTERFACE,
		.type = QUIRK_COMPOSITE,
		.data = &(const struct snd_usb_audio_quirk[]) {
			{
				/* playback */
				.ifnum = 0,
				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
				.data = &(const struct audioformat) {
					.formats = SNDRV_PCM_FMTBIT_S16_LE,
					.channels = 1,
					.iface = 0,
					.altsetting = 0,
					.altset_idx = 0,
					.attributes = 0,
					.endpoint = 0x04,
					.ep_attr = 0x05,
					.rates = SNDRV_PCM_RATE_CONTINUOUS,
					.rate_min = 22050,
					.rate_max = 22050
				}
			},
			{
				/* capture */
				.ifnum = 1,
				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
				.data = &(const struct audioformat) {
					.formats = SNDRV_PCM_FMTBIT_S16_LE,
					.channels = 1,
					.iface = 1,
					.altsetting = 0,
					.altset_idx = 0,
					.attributes = 0,
					.endpoint = 0x85,
					.ep_attr = 0x05,
					.rates = SNDRV_PCM_RATE_CONTINUOUS,
					.rate_min = 16000,
					.rate_max = 16000
				}
			},
			{
				.ifnum = -1
			}
		}
	}
},

{
	/*
	 * Some USB MIDI devices don't have an audio control interface,