]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/snd_hda.4
This commit was generated by cvs2svn to compensate for changes in r171364,
[FreeBSD/FreeBSD.git] / share / man / man4 / snd_hda.4
1 .\" Copyright (c) 2006 Joel Dahl <joel@FreeBSD.org>
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .Dd June 12, 2007
28 .Dt SND_HDA 4
29 .Os
30 .Sh NAME
31 .Nm snd_hda
32 .Nd "Intel High Definition Audio bridge device driver"
33 .Sh SYNOPSIS
34 To compile this driver into the kernel, place the following lines in your
35 kernel configuration file:
36 .Bd -ragged -offset indent
37 .Cd "device sound"
38 .Cd "device snd_hda"
39 .Ed
40 .Pp
41 Alternatively, to load the driver as a module at boot time, place the
42 following line in
43 .Xr loader.conf 5 :
44 .Bd -literal -offset indent
45 snd_hda_load="YES"
46 .Ed
47 .Sh DESCRIPTION
48 The
49 .Nm
50 bridge device driver allows the generic audio driver,
51 .Xr sound 4 ,
52 to attach to Intel High Definition Audio devices.
53 The
54 .Nm
55 driver supports hardware that conforms with revision 1.0 of the Intel High
56 Definition Audio specification and tries to behave much like the Microsoft
57 Universal Audio Architecture (UAA) draft (revision 0.7b) for handling audio
58 devices.
59 HDA acts like a primary bus, similar to
60 .Xr miibus 4 ,
61 for handling various child buses such as audio, modem and HDMI (High Definition
62 Multimedia Interface).
63 Only audio is implemented in the
64 .Nm
65 driver.
66 .Pp
67 The High Definition (HD) Audio specification was developed by Intel as the
68 logical successor of the old AC'97 specification and has several advantages,
69 such as higher bandwidth which allows more channels and more detailed formats,
70 support for several logical audio devices, and general purpose DMA channels.
71 .Pp
72 The HDA specification defines the register-level interface, physical link
73 characteristics, codec programming models, and codec architectural components.
74 This specification is intended for both device driver developers and hardware
75 component designers.
76 .Ss Boot-time Configuration
77 The following variables are available at boot-time through the
78 .Xr device.hints 5
79 file:
80 .Bl -tag -width ".Va hint.pcm.%d.config" -offset indent
81 .It Va hint.pcm.%d.config
82 Configures a range of possible options.
83 Possible values are:
84 .Dq Li dmapos ,
85 .Dq Li eapdinv ,
86 .Dq Li gpio0 ,
87 .Dq Li gpio1 ,
88 .Dq Li gpio2 ,
89 .Dq Li gpio3 ,
90 .Dq Li gpio4 ,
91 .Dq Li gpio5 ,
92 .Dq Li gpio6 ,
93 .Dq Li gpio7 ,
94 .Dq Li gpioflush ,
95 .Dq Li ivref ,
96 .Dq Li ivref50 ,
97 .Dq Li ivref80 ,
98 .Dq Li ivref100 ,
99 .Dq Li fixedrate ,
100 .Dq Li forcestereo ,
101 .Dq Li ovref ,
102 .Dq Li ovref50 ,
103 .Dq Li ovref80 ,
104 .Dq Li ovref100 ,
105 .Dq Li softpcmvol ,
106 and
107 .Dq Li vref .
108 An option prefixed with
109 .Dq Li no ,
110 such as
111 .Dq Li nofixedrate ,
112 will do the opposite and takes precedence.
113 Options can be separated by whitespace and commas.
114 .El
115 .Ss Runtime Configuration
116 The following
117 .Xr sysctl 8
118 variables are available in addition to those available to all
119 .Xr sound 4
120 devices:
121 .Bl -tag -width ".Va dev.pcm.%d.polling" -offset indent
122 .It Va dev.pcm.%d.polling
123 Experimental polling mode, where the driver operates by querying the device
124 state on each tick using
125 .Xr callout 9 .
126 Polling is disabled by default.
127 Do not enable it unless you are facing weird interrupt problems or if the
128 device cannot generate interrupts at all.
129 .El
130 .Sh HARDWARE
131 The
132 .Nm
133 driver supports the following audio chipsets:
134 .Pp
135 .Bl -bullet -compact
136 .It
137 ATI SB450
138 .It
139 ATI SB600
140 .It
141 Intel 631x/632xESB
142 .It
143 Intel 82801F
144 .It
145 Intel 82801G
146 .It
147 Intel 82801H
148 .It
149 nVidia MCP51
150 .It
151 nVidia MCP55
152 .It
153 nVidia MCP61A
154 .It
155 nVidia MCP61B
156 .It
157 nVidia MCP65A
158 .It
159 nVidia MCP65B
160 .It
161 SiS 966
162 .It
163 VIA VT8251/8237A
164 .El
165 .Pp
166 Generic audio chipsets compatible with the Intel HDA specification should work,
167 but have not been verified yet.
168 The following codecs have been verified to work:
169 .Pp
170 .Bl -bullet -compact
171 .It
172 Analog Devices AD1981HD
173 .It
174 Analog Devices AD1983
175 .It
176 Analog Devices AD1986A
177 .It
178 Analog Devices AD1988
179 .It
180 Analog Devices AD1988B
181 .It
182 CMedia CMI9880
183 .It
184 Conexant Venice
185 .It
186 Conexant Waikiki
187 .It
188 Realtek ALC260
189 .It
190 Realtek ALC262
191 .It
192 Realtek ALC660
193 .It
194 Realtek ALC861
195 .It
196 Realtek ALC861VD
197 .It
198 Realtek ALC880
199 .It
200 Realtek ALC882
201 .It
202 Realtek ALC883
203 .It
204 Realtek ALC885
205 .It
206 Realtek ALC888
207 .It
208 Sigmatel STAC9220
209 .It
210 Sigmatel STAC9220D/9223D
211 .It
212 Sigmatel STAC9221
213 .It
214 Sigmatel STAC9221D
215 .It
216 Sigmatel STAC9227
217 .It
218 Sigmatel STAC9271D
219 .It
220 VIA VT1708
221 .It
222 VIA VT1709
223 .El
224 .Sh SEE ALSO
225 .Xr sound 4 ,
226 .Xr device.hints 5 ,
227 .Xr loader.conf 5 ,
228 .Xr sysctl 8
229 .Sh HISTORY
230 The
231 .Nm
232 device driver first appeared in
233 .Fx 7.0 .
234 .Sh AUTHORS
235 .An -nosplit
236 The
237 .Nm
238 driver was written by
239 .An Stephane E. Potvin Aq sepotvin@videotron.ca
240 and
241 .An Ariff Abdullah Aq ariff@FreeBSD.org .
242 This manual page was written by
243 .An Joel Dahl Aq joel@FreeBSD.org .
244 .Sh BUGS
245 There are a couple of missing features, such as support for Digital
246 S/PDIF and multichannel output.
247 .Pp
248 A few Hardware/OEM vendors tend to screw up BIOS settings, thus
249 rendering the
250 .Nm
251 driver useless, which usually results in a state where the
252 .Nm
253 driver seems to attach and work, but without any sound.