Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AZALIA(4)	       FreeBSD Kernel Interfaces Manual		     AZALIA(4)

NAME
     azalia -- generic High Definition Audio device

SYNOPSIS
     azalia* at	pci?
     audio* at azalia?

DESCRIPTION
     The azalia	device driver is expected to support any PCI device which is
     compliant with the	High Definition	Audio Specification 1.0.

     Supported controllers include:

	   +o   Acer Labs M5461
	   +o   AMD Hudson-2
	   +o   ATI SB450, SB600, SB700,	SB800
	   +o   Intel 82801FB/GB/H/I/JI (ICH6, ICH7, ICH8, ICH9,	ICH10)
	   +o   NVIDIA MCP51/MCP55/MCP61/MCP65/MCP67/MCP73/MCP77/MCP79/MCP89
	   +o   Silicon Integrated System 966/966L
	   +o   VIA Technologies	VT8237A, VT8251

     The High Definition Audio (HDA) specification describes a flexible	and
     extensible	infrastructure to support high quality audio.  HDA supports
     sample rates up to	192 kHz, bit rates of up to 32 bits per	sample,	and up
     to	16 channels in audio streams.  It also supports	S/PDIF input/output as
     well as jack retasking and	sensing.  The HDA specification	defines	a con-
     troller register set and a	codec architecture.

MIXER INTERFACE
     The codec is the main audio processor.  Configuration of the device, such
     as	selecting playback sample rate or decreasing the volume, is handled by
     the codec.	 Codecs	are comprised of interconnected	widgets.  Common exam-
     ples of widgets include DACs (digital to analog converter), ADCs (analog
     to	digital	converter), selectors, mixers, and pin complexes (input/output
     jacks).  Widgets may have fixed or	controllable properties.  Some of
     these properties include source selection,	amplifier gain,	mute, and op-
     erational direction.

     The mixer interface for azalia is designed	to allow the user to control
     most properties of	the widgets.  When azalia first	attaches and config-
     ures the device, it will set all widgets to unmuted, moderate volume, and
     configure connections such	that stereo playback and recording will	work
     with the expected input/output pins.

     There are a wide range of HDA codecs.  Some have only a few widgets that
     don't have	many controllable properties, and some may have	many, very
     controllable widgets.  The	mixer interface	on one azalia may be very dif-
     ferent than the mixer interface on	another.

     Mixer item	names describe the widget and property being controlled.
     Names take	the following form:

     <mixer class>.<widget type>[<widget type enumerator>][_<property>]

     The mixer class gives a hint as to	the purpose of the control.  The wid-
     get type enumerator is used to distinguish	different widgets of the same
     type.  The	enumeration starts at 2: the first widget of each type is not
     enumerated.  The enumeration order	is meaningless.	 The property is op-
     tional.  Generally, if there is no	property, the mixer item is an ampli-
     fier gain control.

     The following are the widget type names used in mixer control names:

     dac       Digital to analog converter, usually used for playback.	The
	       audio stream channels these widgets will	convert	are encoded
	       into their name in the form of <start channel>:<end channel>.
	       For example, dac-0:1 converts channels 0	and 1 (stereo).	 How-
	       ever, a dac that	is connected to	built-in speakers or front
	       panel headphone jacks by	default	will convert audio stream
	       channels	starting at 0 if the dac would otherwise not be	con-
	       verting any channels.  For example, if dac-2:3 is the default
	       dac for the built-in speakers in	a laptop, dac-2:3 will convert
	       channels	0 and 1	when a stereo audio stream is being played.
	       This is to allow	simultaneous stereo playback on	both the
	       built-in	speakers and a line or headphone jack.

     dig-dac   Digital output converter, usually an S/PDIF transmitter.	 The
	       audio stream channels these widgets will	convert	are encoded
	       into their name in the form of <start channel>:<end channel>.
	       For example, dig-dac-0:1	converts channels 0 and	1 (stereo).

     adc       Analog to digital converter, usually used for recording.	 The
	       audio stream channels these widgets will	convert	are encoded
	       into their name in the form of <start channel>:<end channel>.
	       For example, adc-0:1 converts channels 0	and 1 (stereo).

     dig-adc   Digital input converter,	usually	an S/PDIF receiver.  The audio
	       stream channels these widgets will convert are encoded into
	       their name in the form of <start	channel>:<end channel>.	 For
	       example,	dig-adc-0:1 converts channels 0	and 1 (stereo).

     mix       Sums multiple audio sources into	a single stream, but sometimes
	       only used for amplifier or mute properties.  The	property part
	       of a mix	widget mixer control name may be the name of another
	       widget.	Such a mixer item controls the input level from	the
	       widget in the property part of the name.

     sel       Selects a single	audio source, but sometimes used only for am-
	       plifier or mute properties.

     pow       Controls	power state for	a group	of widgets.

     volume    Interprets data from external controls, such as a volume	knob.

     beep      Creates a tone at a certain frequency.

     line      Pin complex for a line-level jack that is normally used for
	       analog audio output.  The name may also be appended with	a
	       color abbreviation such as -grn (green),	-blk (black), -org
	       (orange), or -gry (grey), to help differentiate jacks.

     spkr      Pin complex for a speaker, often	built into the machine.

     hp	       Pin complex for a jack that is normally used for	output to a
	       headphone.

     cd	       Pin complex for analog audio input from a CD device.

     SPDIF     Pin complex for an S/PDIF output	connector.

     line-in   Pin complex for a line-level jack that is normally used for
	       analog audio input.

     aux       Pin complex for an auxiliary analog audio input.

     mic       Pin complex for analog audio input from a microphone, either a
	       jack or built into the machine.

     SPDIF-in  Pin complex for an S/PDIF input connector.

     beep      Pin complex for analog audio input from a beep generator.

     The following are the property names used in mixer	control	names:

     mute    Mutes input or output audio stream.

     source  Selects input source.  Can	either select a	single source or mul-
	     tiple sources.  Sometimes these controls may only have a single
	     choice, but they are provided to show how audio streams move
	     through the codec.

     dir     Selects pin direction and input VRef signal.  VRef	is represented
	     in	percent	of the analog voltage rail.  For example, 'input-vr80'
	     means input direction with	80% VRef.

     boost   Enables/disables low impedance amplifier, usually for use with
	     headphones.

     eapd    Powers on/off external amplifier circuitry.

     sense   Reports current jack sense	state.

     There are also some special mixer controls	that don't directly correspond
     to	properties of the widgets, but control aspects of the driver or	other
     mixer controls.  The following describes these special controls:

     outputs.spkr_muters    List of pins that can mute a built-in speaker.  A
			    pin	mutes the speaker by sending a signal when it
			    senses that	something has been plugged into	its
			    jack.  If a	pin supports both input	and output op-
			    eration, the pin will only mute the	speaker	when
			    plugged into if that pin is	configured for output.

     outputs.master.slaves  List of widgets with amplifier gain	or mute	con-
			    trols that are configured with the parameters used
			    for	outputs.master and outputs.master.mute.	 For
			    example, if	dac is in the list and has an input
			    amplifier gain control, setting outputs.master to
			    200	will set inputs.dac to 200.

     outputs.master	    Amplifier gain control for widgets listed in
			    outputs.master.slaves.

     outputs.master.mute    Mute control for widgets listed in
			    outputs.master.slaves.

     record.volume.slaves   List of widgets with amplifier gain	or mute	con-
			    trols that are configured with the parameters used
			    for	record.volume and record.volume.mute.  For ex-
			    ample, if adc is in	the list and has an input am-
			    plifier gain control, setting record.volume	to 200
			    will set record.adc	to 200.

     record.volume	    Amplifier gain control for widgets listed in
			    record.volume.slaves.

     record.volume.mute	    Mute control for widgets listed in
			    record.volume.slaves.

     outputs.mode	    Controls whether the digital or analog converters
			    and	pins will be used for playback.

     record.mode	    Controls whether the digital or analog converters
			    and	pins will be used for recording.

SEE ALSO
     audio(4), pci(4)

HISTORY
     The azalia	device driver first appeared in	NetBSD 3.0.  OpenBSD support
     first appeared in OpenBSD 4.0.

BUGS
     This driver does not support codecs that are intended for HDMI or Dis-
     playPort connectivity.

FreeBSD	13.0			March 15, 2012			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | MIXER INTERFACE | SEE ALSO | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=azalia&sektion=4&manpath=OpenBSD+6.9>

home | help