xref: /netbsd-src/share/man/man4/hdaudio.4 (revision 6a493d6bc668897c91594964a732d38505b70cbb)
1.\"	$NetBSD: hdaudio.4,v 1.13 2013/08/06 16:54:46 snj Exp $
2.\"
3.\" Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Precedence Technologies Ltd
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd May 10, 2013
31.Dt HDAUDIO 4
32.Os
33.Sh NAME
34.Nm hdaudio
35.Nd High Definition Audio device driver
36.Sh SYNOPSIS
37.Cd "hdaudio* at pci? dev ? function ?"
38.Cd "hdafg* at hdaudiobus?"
39.Cd "audio* at audiobus?"
40.Pp
41.Cd "options HDAUDIO_DEBUG"
42.Cd "options HDAFG_DEBUG"
43.Sh DESCRIPTION
44The
45.Nm
46device driver is expected to support any PCI device which is
47compliant to the High Definition Audio Specification 1.0.
48It is a replacement for
49.Xr azalia 4 .
50It was written from scratch following the Intel HD Audio and Microsoft
51Universal Audio Architecture specifications.
52.Pp
53The driver consists of two interlinked components, which reflects the
54hardware design.
55The
56.Nm
57component interfaces with a PCI/PCIe bus and provides an
58.Xr hdaudiobus 4
59onto which different function groups attach.
60Each function group (e.g. audio, vendor-specific modem) is exported as a
61separate child device of the
62.Nm
63controller.
64Audio function groups (a.k.a. audio codec) are exported as
65.Xr hdafg 4
66devices.
67.Pp
68Audio codecs are available from a number of manufacturers and are made up of a
69number of widgets (e.g. audio mixer, output pin, analog-to-digital converter).
70The way the widgets are interlinked varies significantly between
71implementations.
72The tree of widgets must be parsed and mapped to
73.Xr mixer 4
74controls.
75As part of this process, loops in the inter-codec links must be detected
76and muted, bi-directional pins must be set up appropriately and the locations
77of pins determined.
78Unlike the
79.Xr azalia 4
80driver (which tends to generate a large number of unclearly named
81.Xr mixer 4
82controls),
83.Nm
84works backwards by starting with a list of desired, consistent and compatible
85.Xr mixer 4
86controls and configuring/discovering appropriate widget link routes to fit.
87.Pp
88By following the published mechanisms for common implementations of widget
89parsing, it is expected that nearly all High Definition Audio devices will
90be supported without requiring per-device quirks.
91.Sh HARDWARE
92In addition to many on-board sound cards included in mainboards, the following
93add-on card is supported:
94.Bl -tag
95.It TerraTec Aureon 7.1 PCIe
96.El
97.Sh SEE ALSO
98.Xr audio 4 ,
99.Xr mixer 4 ,
100.Xr pci 4 ,
101.Xr hdaudioctl 8 ,
102.Pp
103.Lk http://www.intel.com/design/chipsets/hdaudio.htm "Intel High Definition Audio"
104.Pp
105.Lk http://www.microsoft.com/whdc/device/audio/ "Audio Device Technologies for Windows"
106.Sh HISTORY
107The
108.Nm
109device driver appeared in
110.Nx 5.1 .
111.Sh AUTHORS
112The
113.Nm
114driver was written by
115.An Jared McNeill Aq Mt jmcneill@NetBSD.org
116under contract by
117.Lk http://www.precedence.co.uk/ "Precedence Technologies Ltd."
118The UAA-compliant widget parser is derived from the
119.Fx
120snd_hda(4) driver.
121.Sh BUGS
122The following items are not yet implemented:
123.Bl -bullet
124.It
125Improve power management support when driver is idle
126.It
127Add support for non-PCM output formats
128.It
129Handle unsolicited RIRB messages
130.It
131Modem function groups
132.El
133