xref: /freebsd/share/man/man4/snd_hdsp.4 (revision 14457cf7d6fe2b2a7e23c349f6bfb41a09eec993)
15687c71dSFlorian Walpen.\" Copyright (c) 2012 Ruslan Bukin <br@bsdpad.com>
25687c71dSFlorian Walpen.\" Copyright (c) 2024 Florian Walpen <dev@submerge.ch>
35687c71dSFlorian Walpen.\" All rights reserved.
45687c71dSFlorian Walpen.\"
55687c71dSFlorian Walpen.\" Redistribution and use in source and binary forms, with or without
65687c71dSFlorian Walpen.\" modification, are permitted provided that the following conditions
75687c71dSFlorian Walpen.\" are met:
85687c71dSFlorian Walpen.\" 1. Redistributions of source code must retain the above copyright
95687c71dSFlorian Walpen.\"    notice, this list of conditions and the following disclaimer.
105687c71dSFlorian Walpen.\" 2. Redistributions in binary form must reproduce the above copyright
115687c71dSFlorian Walpen.\"    notice, this list of conditions and the following disclaimer in the
125687c71dSFlorian Walpen.\"    documentation and/or other materials provided with the distribution.
135687c71dSFlorian Walpen.\"
145687c71dSFlorian Walpen.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
155687c71dSFlorian Walpen.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
165687c71dSFlorian Walpen.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
175687c71dSFlorian Walpen.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
185687c71dSFlorian Walpen.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
195687c71dSFlorian Walpen.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
205687c71dSFlorian Walpen.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
215687c71dSFlorian Walpen.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
225687c71dSFlorian Walpen.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
235687c71dSFlorian Walpen.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
245687c71dSFlorian Walpen.\" SUCH DAMAGE.
255687c71dSFlorian Walpen.\"
26*14457cf7SFlorian Walpen.Dd October 28, 2024
275687c71dSFlorian Walpen.Dt SND_HDSP 4
285687c71dSFlorian Walpen.Os
295687c71dSFlorian Walpen.Sh NAME
305687c71dSFlorian Walpen.Nm snd_hdsp
315687c71dSFlorian Walpen.Nd "RME HDSP bridge device driver"
325687c71dSFlorian Walpen.Sh SYNOPSIS
335687c71dSFlorian WalpenTo compile this driver into the kernel, place the following lines in your
345687c71dSFlorian Walpenkernel configuration file:
355687c71dSFlorian Walpen.Bd -ragged -offset indent
365687c71dSFlorian Walpen.Cd "device sound"
375687c71dSFlorian Walpen.Cd "device snd_hdsp"
385687c71dSFlorian Walpen.Ed
395687c71dSFlorian Walpen.Pp
405687c71dSFlorian WalpenAlternatively, to load the driver as a module at boot time, place the
415687c71dSFlorian Walpenfollowing line in
425687c71dSFlorian Walpen.Xr loader.conf 5 :
435687c71dSFlorian Walpen.Bd -literal -offset indent
445687c71dSFlorian Walpensnd_hdsp_load="YES"
455687c71dSFlorian Walpen.Ed
465687c71dSFlorian Walpen.Sh DESCRIPTION
475687c71dSFlorian WalpenThe
485687c71dSFlorian Walpen.Nm
495687c71dSFlorian Walpenbridge driver allows the generic audio driver
505687c71dSFlorian Walpen.Xr sound 4
515687c71dSFlorian Walpento attach to RME HDSP audio devices.
525687c71dSFlorian Walpen.Sh HARDWARE
535687c71dSFlorian WalpenThe
545687c71dSFlorian Walpen.Nm
555687c71dSFlorian Walpendriver supports the following audio devices:
565687c71dSFlorian Walpen.Pp
575687c71dSFlorian Walpen.Bl -bullet -compact
585687c71dSFlorian Walpen.It
59e0c37c16SFlorian WalpenRME HDSP 9632 (optional AO4S-192 and AIS-192 extension boards)
605687c71dSFlorian Walpen.It
615687c71dSFlorian WalpenRME HDSP 9652
625687c71dSFlorian Walpen.El
635687c71dSFlorian Walpen.Pp
645687c71dSFlorian WalpenBy default, each
655687c71dSFlorian Walpen.Xr pcm 4
665687c71dSFlorian Walpendevice corresponds to a physical port on the sound card.
675687c71dSFlorian WalpenFor ADAT ports, 8 channel, 4 channel and 2 channel formats are supported.
685687c71dSFlorian WalpenThe effective number of ADAT channels is 8 channels at single speed
695687c71dSFlorian Walpen(32kHz-48kHz) and 4 channels at double speed (64kHz-96kHz).
705687c71dSFlorian WalpenOnly the HDSP 9632 can operate at quad speed (128kHz-192kHz), ADAT is
715687c71dSFlorian Walpendisabled in this mode.
725687c71dSFlorian WalpenDepending on sample rate and channel format selected, not all pcm channels can
735687c71dSFlorian Walpenbe mapped to ADAT channels and vice versa.
745687c71dSFlorian Walpen.Sh LOADER TUNABLES
755687c71dSFlorian WalpenThese settings can be entered at the
765687c71dSFlorian Walpen.Xr loader 8
775687c71dSFlorian Walpenprompt or in
785687c71dSFlorian Walpen.Xr loader.conf 5 .
795687c71dSFlorian Walpen.Bl -tag -width indent
805687c71dSFlorian Walpen.It Va hw.hdsp.unified_pcm
815687c71dSFlorian WalpenIf set to 1, all physical ports are combined into one unified pcm device.
825687c71dSFlorian WalpenWhen opened in multi-channel audio software, this makes all ports available
835687c71dSFlorian Walpenat the same time, and fully synchronized.
845687c71dSFlorian WalpenFor resulting channel numbers consult the following table:
855687c71dSFlorian Walpen.El
865687c71dSFlorian Walpen.Bl -column "Sound Card" "Single Speed" "Double Speed" "Quad Speed"
875687c71dSFlorian Walpen.Sy "Sound Card" Ta Sy "Single Speed" Ta Sy "Double Speed" Ta Sy "Quad Speed"
885687c71dSFlorian Walpen.It "" Ta "Play | Rec" Ta "Play | Rec" Ta "Play | Rec"
89e0c37c16SFlorian Walpen.It HDSP 9632 Ta " 16  |  16" Ta " 12  |  12" Ta "  8  |   8"
905687c71dSFlorian Walpen.It HDSP 9652 Ta " 26  |  26" Ta " 14  |  14" Ta "  -  |   -"
915687c71dSFlorian Walpen.El
925687c71dSFlorian Walpen.Sh SYSCTL TUNABLES
935687c71dSFlorian WalpenThese settings and informational values can be accessed at runtime with the
945687c71dSFlorian Walpen.Xr sysctl 8
955687c71dSFlorian Walpencommand.
965687c71dSFlorian WalpenIf multiple RME HDSP sound cards are installed, each device has a separate
975687c71dSFlorian Walpenconfiguration.
985687c71dSFlorian WalpenTo adjust the following sysctl identifiers for a specific sound card, insert
995687c71dSFlorian Walpenthe respective device number in place of
1005687c71dSFlorian Walpen.Ql 0 .
1015687c71dSFlorian Walpen.Bl -tag -width indent
1025687c71dSFlorian Walpen.It Va dev.hdsp.0.sample_rate
1035687c71dSFlorian WalpenSet a fixed sample rate from 32000, 44100, 48000, up to 192000.
1045687c71dSFlorian WalpenThis is usually required for digital connections (AES, S/PDIF, ADAT).
1055687c71dSFlorian WalpenThe default value of 0 adjusts the sample rate according to pcm device settings.
1065687c71dSFlorian Walpen.It Va dev.hdsp.0.period
1075687c71dSFlorian WalpenThe number of samples processed per interrupt, from 32, 64, 128, up to 4096.
1085687c71dSFlorian WalpenSetting a lower value here results in less latency, but increases system load
1095687c71dSFlorian Walpendue to frequent interrupt processing.
1105687c71dSFlorian WalpenExtreme values may cause audio gaps and glitches.
1115687c71dSFlorian Walpen.It Va dev.hdsp.0.clock_list
1125687c71dSFlorian WalpenLists possible clock sources to sync with, depending on the hardware model.
1135687c71dSFlorian WalpenThis includes internal and external master clocks as well as incoming digital
1145687c71dSFlorian Walpenaudio signals like AES, S/PDIF and ADAT.
1155687c71dSFlorian Walpen.It Va dev.hdsp.0.clock_preference
1165687c71dSFlorian WalpenSelect a preferred clock source from the clock list.
1175687c71dSFlorian WalpenHDSP cards will sync to this clock source when available, but fall back to
1185687c71dSFlorian Walpenauto-sync with any other digital clock signal they receive.
1195687c71dSFlorian WalpenSet this to
1205687c71dSFlorian Walpen.Ql internal
1215687c71dSFlorian Walpenif the HDSP card should act as master clock.
1225687c71dSFlorian Walpen.It Va dev.hdsp.0.clock_source
1235687c71dSFlorian WalpenShows the actual clock source in use (read only).
1245687c71dSFlorian WalpenThis differs from what is set as clock preference when in auto-sync mode.
1255687c71dSFlorian Walpen.It Va dev.hdsp.0.sync_status
1265687c71dSFlorian WalpenDisplay the current sync status of all external clock sources.
1275687c71dSFlorian WalpenStatus indications are
1285687c71dSFlorian Walpen.Ql none
1295687c71dSFlorian Walpenfor no signal at all,
1305687c71dSFlorian Walpen.Ql lock
1315687c71dSFlorian Walpenfor when a valid signal is present, and
1325687c71dSFlorian Walpen.Ql sync
1335687c71dSFlorian Walpenfor accurately synchronized signals (required for recording digital
1345687c71dSFlorian Walpenaudio).
1355687c71dSFlorian Walpen.El
1365687c71dSFlorian Walpen.Pp
137*14457cf7SFlorian WalpenThe following tunables are applicable to HDSP 9632 devices only:
138*14457cf7SFlorian Walpen.Bl -tag -width indent
139*14457cf7SFlorian Walpen.It Va dev.hdsp.0.input_level
140*14457cf7SFlorian WalpenSelect the sensitivity of the analog line input.
141*14457cf7SFlorian WalpenAvailable reference levels for the input signal are
142*14457cf7SFlorian Walpen.Ql LowGain ,
143*14457cf7SFlorian Walpen.Ql +4dBu
144*14457cf7SFlorian Walpenand
145*14457cf7SFlorian Walpen.Ql -10dBV .
146*14457cf7SFlorian Walpen.It Va dev.hdsp.0.output_level
147*14457cf7SFlorian WalpenSelect the gain level of the analog line output.
148*14457cf7SFlorian WalpenAvailable reference levels for the output signal are
149*14457cf7SFlorian Walpen.Ql HighGain ,
150*14457cf7SFlorian Walpen.Ql +4dBu
151*14457cf7SFlorian Walpenand
152*14457cf7SFlorian Walpen.Ql -10dBV .
153*14457cf7SFlorian Walpen.It Va dev.hdsp.0.phones_level
154*14457cf7SFlorian WalpenAdjust the gain level of the phones output, separately from the analog line
155*14457cf7SFlorian Walpenoutput.
156*14457cf7SFlorian WalpenThe signal can be lowered by 6 or 12 dB.
157*14457cf7SFlorian Walpen.El
158*14457cf7SFlorian Walpen.Pp
1595687c71dSFlorian WalpenWhere appropriate these sysctl values are modeled after official RME software on
1605687c71dSFlorian Walpenother platforms, and adopt their terminology.
1615687c71dSFlorian WalpenConsult the RME user manuals for additional information.
1625687c71dSFlorian Walpen.Sh SEE ALSO
1635687c71dSFlorian Walpen.Xr sound 4
1645687c71dSFlorian Walpen.Sh HISTORY
1655687c71dSFlorian WalpenThe
1665687c71dSFlorian Walpen.Nm
1675687c71dSFlorian Walpendevice driver first appeared in
1685687c71dSFlorian Walpen.Fx 15.0 .
1695687c71dSFlorian Walpen.Sh AUTHORS
1705687c71dSFlorian Walpen.An -nosplit
1715687c71dSFlorian WalpenBased on
1725687c71dSFlorian Walpen.Xr snd_hdspe 4
1735687c71dSFlorian Walpenoriginally written by
1745687c71dSFlorian Walpen.An Ruslan Bukin <br@bsdpad.com> .
1755687c71dSFlorian WalpenAll adaptation to HDSP cards by
1765687c71dSFlorian Walpen.An Florian Walpen <dev@submerge.ch> .
177