266 lines
6.1 KiB
Groff
266 lines
6.1 KiB
Groff
.\" Copyright (c) 2006 Joel Dahl <joel@FreeBSD.org>
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd May 11, 2008
|
|
.Dt SND_HDA 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm snd_hda
|
|
.Nd "Intel High Definition Audio bridge device driver"
|
|
.Sh SYNOPSIS
|
|
To compile this driver into the kernel, place the following lines in your
|
|
kernel configuration file:
|
|
.Bd -ragged -offset indent
|
|
.Cd "device sound"
|
|
.Cd "device snd_hda"
|
|
.Ed
|
|
.Pp
|
|
Alternatively, to load the driver as a module at boot time, place the
|
|
following line in
|
|
.Xr loader.conf 5 :
|
|
.Bd -literal -offset indent
|
|
snd_hda_load="YES"
|
|
.Ed
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
bridge device driver allows the generic audio driver,
|
|
.Xr sound 4 ,
|
|
to attach to Intel High Definition Audio devices.
|
|
The
|
|
.Nm
|
|
driver supports hardware that conforms with revision 1.0 of the Intel High
|
|
Definition Audio specification and tries to behave much like the Microsoft
|
|
Universal Audio Architecture (UAA) draft (revision 0.7b) for handling audio
|
|
devices.
|
|
HDA acts like a primary bus, similar to
|
|
.Xr miibus 4 ,
|
|
for handling various child buses such as audio, modem and HDMI (High Definition
|
|
Multimedia Interface).
|
|
Only audio is implemented in the
|
|
.Nm
|
|
driver.
|
|
.Pp
|
|
The High Definition (HD) Audio specification was developed by Intel as the
|
|
logical successor of the old AC'97 specification and has several advantages,
|
|
such as higher bandwidth which allows more channels and more detailed formats,
|
|
support for several logical audio devices, and general purpose DMA channels.
|
|
.Pp
|
|
The HDA specification defines the register-level interface, physical link
|
|
characteristics, codec programming models, and codec architectural components.
|
|
This specification is intended for both device driver developers and hardware
|
|
component designers.
|
|
.Ss Boot-time Configuration
|
|
The following variables are available at boot-time through the
|
|
.Xr device.hints 5
|
|
file:
|
|
.Bl -tag -width ".Va hint.pcm.%d.config" -offset indent
|
|
.It Va hint.pcm.%d.config
|
|
Configures a range of possible options.
|
|
Possible values are:
|
|
.Dq Li dmapos ,
|
|
.Dq Li eapdinv ,
|
|
.Dq Li gpio0 ,
|
|
.Dq Li gpio1 ,
|
|
.Dq Li gpio2 ,
|
|
.Dq Li gpio3 ,
|
|
.Dq Li gpio4 ,
|
|
.Dq Li gpio5 ,
|
|
.Dq Li gpio6 ,
|
|
.Dq Li gpio7 ,
|
|
.Dq Li gpioflush ,
|
|
.Dq Li ivref ,
|
|
.Dq Li ivref50 ,
|
|
.Dq Li ivref80 ,
|
|
.Dq Li ivref100 ,
|
|
.Dq Li fixedrate ,
|
|
.Dq Li forcestereo ,
|
|
.Dq Li ovref ,
|
|
.Dq Li ovref50 ,
|
|
.Dq Li ovref80 ,
|
|
.Dq Li ovref100 ,
|
|
.Dq Li softpcmvol ,
|
|
and
|
|
.Dq Li vref .
|
|
An option prefixed with
|
|
.Dq Li no ,
|
|
such as
|
|
.Dq Li nofixedrate ,
|
|
will do the opposite and takes precedence.
|
|
Options can be separated by whitespace and commas.
|
|
.El
|
|
.Ss Runtime Configuration
|
|
The following
|
|
.Xr sysctl 8
|
|
variables are available in addition to those available to all
|
|
.Xr sound 4
|
|
devices:
|
|
.Bl -tag -width ".Va dev.pcm.%d.polling" -offset indent
|
|
.It Va dev.pcm.%d.polling
|
|
Experimental polling mode, where the driver operates by querying the device
|
|
state on each tick using
|
|
.Xr callout 9 .
|
|
Polling is disabled by default.
|
|
Do not enable it unless you are facing weird interrupt problems or if the
|
|
device cannot generate interrupts at all.
|
|
.El
|
|
.Sh HARDWARE
|
|
The
|
|
.Nm
|
|
driver supports the following audio chipsets:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
ATI SB450
|
|
.It
|
|
ATI SB600
|
|
.It
|
|
Intel 631x/632xESB
|
|
.It
|
|
Intel 82801F
|
|
.It
|
|
Intel 82801G
|
|
.It
|
|
Intel 82801H
|
|
.It
|
|
Intel 82801I
|
|
.It
|
|
nVidia MCP51
|
|
.It
|
|
nVidia MCP55
|
|
.It
|
|
nVidia MCP61A
|
|
.It
|
|
nVidia MCP61B
|
|
.It
|
|
nVidia MCP65A
|
|
.It
|
|
nVidia MCP65B
|
|
.It
|
|
nVidia MCP67A
|
|
.It
|
|
nVidia MCP67B
|
|
.It
|
|
SiS 966
|
|
.It
|
|
VIA VT8251/8237A
|
|
.El
|
|
.Pp
|
|
Generic audio chipsets compatible with the Intel HDA specification should work,
|
|
but have not been verified yet.
|
|
The following codecs have been verified to work:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
Analog Devices AD1981HD
|
|
.It
|
|
Analog Devices AD1983
|
|
.It
|
|
Analog Devices AD1984
|
|
.It
|
|
Analog Devices AD1986A
|
|
.It
|
|
Analog Devices AD1988
|
|
.It
|
|
Analog Devices AD1988B
|
|
.It
|
|
CMedia CMI9880
|
|
.It
|
|
Conexant Venice
|
|
.It
|
|
Conexant Waikiki
|
|
.It
|
|
Realtek ALC260
|
|
.It
|
|
Realtek ALC262
|
|
.It
|
|
Realtek ALC268
|
|
.It
|
|
Realtek ALC660
|
|
.It
|
|
Realtek ALC861
|
|
.It
|
|
Realtek ALC861VD
|
|
.It
|
|
Realtek ALC880
|
|
.It
|
|
Realtek ALC882
|
|
.It
|
|
Realtek ALC883
|
|
.It
|
|
Realtek ALC885
|
|
.It
|
|
Realtek ALC888
|
|
.It
|
|
Sigmatel STAC9205
|
|
.It
|
|
Sigmatel STAC9220
|
|
.It
|
|
Sigmatel STAC9220D/9223D
|
|
.It
|
|
Sigmatel STAC9221
|
|
.It
|
|
Sigmatel STAC9221D
|
|
.It
|
|
Sigmatel STAC9227
|
|
.It
|
|
Sigmatel STAC9271D
|
|
.It
|
|
VIA VT1708
|
|
.It
|
|
VIA VT1709
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr sound 4 ,
|
|
.Xr device.hints 5 ,
|
|
.Xr loader.conf 5 ,
|
|
.Xr sysctl 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
device driver first appeared in
|
|
.Fx 6.3 .
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
The
|
|
.Nm
|
|
driver was written by
|
|
.An Stephane E. Potvin Aq sepotvin@videotron.ca
|
|
and
|
|
.An Ariff Abdullah Aq ariff@FreeBSD.org .
|
|
This manual page was written by
|
|
.An Joel Dahl Aq joel@FreeBSD.org .
|
|
.Sh BUGS
|
|
There are a couple of missing features, such as support for Digital
|
|
S/PDIF and multichannel output.
|
|
.Pp
|
|
A few Hardware/OEM vendors tend to screw up BIOS settings, thus
|
|
rendering the
|
|
.Nm
|
|
driver useless, which usually results in a state where the
|
|
.Nm
|
|
driver seems to attach and work, but without any sound.
|