[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240903-rme-digiface-v2-0-71b06c912e97@asahilina.net>
Date: Tue, 03 Sep 2024 19:52:28 +0900
From: Asahi Lina <lina@...hilina.net>
To: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>
Cc: "Geoffrey D. Bennett" <g@...vu>,
Takashi Sakamoto <o-takashi@...amocchi.jp>, Mark Hills <mark@...x.org>,
Arun Raghavan <arun@...nraghavan.net>, Cyan Nyan <cyan.vtb@...il.com>,
linux-sound@...r.kernel.org, linux-kernel@...r.kernel.org,
Asahi Lina <lina@...hilina.net>
Subject: [PATCH v2 0/2] ALSA: usb-audio: Add basic support for RME Digiface
USB
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@...hilina.net>
---
Changes in v2:
- Fix BIT(32) that was intended to be BIT(31) (for 32-bit platforms)
- Rebased on sound/for-next and rewrote quirk using macros
- Removed USB_ENDPOINT_USAGE_IMPLICIT_FB since the sync info is explicitly
specified.
- Link to v1: https://lore.kernel.org/r/20240902-rme-digiface-v1-0-6e88472a2744@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 | 172 +++++++++++++++++++-
sound/usb/quirks.c | 58 +++++++
3 files changed, 642 insertions(+), 1 deletion(-)
---
base-commit: a2f5a48557e856a4d166e0af054490893d767d18
change-id: 20240902-rme-digiface-cc14c71cd2ea
Cheers,
~~ Lina
Powered by blists - more mailing lists