[alsa-devel] [PATCH v1 0/6] ALSA: usb: UAC3. Add support for Basic Audio Device (BADD)

Jorge Sanjuan jorge.sanjuan at codethink.co.uk
Tue Dec 19 10:14:05 CET 2017


This adds functionality for the Basic Audio Device (BADD) subset that is
defined in the USB Audio Class 3 (UAC3). In a BADD compliant driver, all
Class Specific descriptors are inferred and so they should all be generated 
in the *host* as the device wont expose those. This also applies to the new
HIGH CAPABILITY descriptor as the GET request is not to be supported in
a BADD compliant driver.

The new class requires the device to have 3 usb configurations as follows:

    1: Legacy Mode: UAC1 or UAC2.
    2: BADD device with a prefined topology. (Minimum).
    3: UAC3 device for more detailed description or more complex
       devices that can't be covered by the BADD profile.

This patch series also includes some minor fixes to sound/usb.

It has been tested with an actual UAC3 compliant device in different host
machines and all configs (UAC1/2, BADD and UAC3) work.

Also, this has been implemented on top of the the patch which adds UAC3 support
to the usb sound card driver: 

	commit ddd452d7b04b86fb5f9285a19ac54deca9264ac1
	Author: Ruslan Bilovol <ruslan.bilovol at gmail.com>
	Date:   Tue Nov 7 04:01:20 2017 +0200

Jorge Sanjuan (6):
  usb: audio: Add bi-directional terminal types.
  usb: audio: Fix variable length field to be variable.
  ALSA: usb: UAC3. Add initial mixer support.
  ALSA: usb: Only get AudioControl header for UAC1 class.
  ALSA: usb: Use Class Specific EP for UAC3 devices.
  ALSA: usb: ADC3: Add initial BADD spec support

 include/linux/usb/audio-v3.h   |   2 +-
 include/uapi/linux/usb/audio.h |  21 +-
 sound/usb/Makefile             |   3 +-
 sound/usb/badd.c               | 518 +++++++++++++++++++++++++++++++++++++++++
 sound/usb/badd.h               |  14 ++
 sound/usb/card.c               |  25 +-
 sound/usb/mixer.c              |  24 ++
 sound/usb/stream.c             | 165 ++++++++-----
 sound/usb/usbaudio.h           |   1 +
 9 files changed, 702 insertions(+), 71 deletions(-)
 create mode 100644 sound/usb/badd.c
 create mode 100644 sound/usb/badd.h

-- 
2.11.0



More information about the Alsa-devel mailing list