ALSA: USB: Support for (original) Xbox Communicator
authorMarko Friedemann <mfr@bmx-chemnitz.de>
Mon, 3 Sep 2012 08:12:40 +0000 (10:12 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 3 Sep 2012 08:14:25 +0000 (10:14 +0200)
Added support for Xbox Communicator to USB quirks.

Signed-off-by: Marko Friedemann <mfr@bmx-chemnitz.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks-table.h

index 79780fa57a431345e28896730d12a9fbedf11426..d73ac9bc427298f0f35ddf3cea7245b201f55709 100644 (file)
@@ -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,