mbox series

[0/2] ALSA: usb-audio: Add basic support for RME Digiface USB

Message ID 20240902-rme-digiface-v1-0-6e88472a2744@asahilina.net (mailing list archive)
Headers show
Series ALSA: usb-audio: Add basic support for RME Digiface USB | expand

Message

Asahi Lina Sept. 1, 2024, 9:31 p.m. UTC
Hi everyone,

This series adds basic support for the RME Digiface USB interface. This
is a 4x ADAT I/O interface with an extra headphones output and support
for S/PDIF mode.

There are 3 streaming configurations:

- 32in/34out at 1x speed mode
- 16in/18out at 2x speed mode
- 8in/10out at 4x speed mode

The appropriate speed mode is automatically set based on the PCM rate,
and this governs the available channel count.

The first commit adds basic init and streaming support. This is enough
to use the interface in its default settings (ADAT outputs, internal
sync) using the ALSA PCM.

The second commit adds basic mixer controls to set up the I/O features
(output modes, sync source) and report I/O status.

This series does not implement the output faders, matrix mixer, or input
level meters. These features are more useful when the interface is used
as a router (possibly stand-alone), and are not really something that
can be exposed via ALSA mixer controls usable via something like
alsamixer (the matrix mixer has up to 2048 possible mixer nodes). Since
we expect users to use a dedicated control app, the intent is that the
app directly controls these features via the libusb API. This is similar
to how things work with some FireWire interfaces (ffado-mixer) today.

Of course, there is room for extending the mixer interface to add more
controls in the future, once we settle on a mechanism to expose
complex/large matrix mixers.

Signed-off-by: Asahi Lina <lina@asahilina.net>
---
Asahi Lina (1):
      ALSA: usb-audio: Add mixer quirk for RME Digiface USB

Cyan Nyan (1):
      ALSA: usb-audio: Add quirk for RME Digiface USB

 sound/usb/mixer_quirks.c | 413 +++++++++++++++++++++++++++++++++++++++++++++++
 sound/usb/quirks-table.h | 194 +++++++++++++++++++++-
 sound/usb/quirks.c       |  58 +++++++
 3 files changed, 664 insertions(+), 1 deletion(-)
---
base-commit: 8400291e289ee6b2bf9779ff1c83a291501f017b
change-id: 20240902-rme-digiface-cc14c71cd2ea

Cheers,
~~ Lina