[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