Audio Codec '97

AC97 Component Specification Revision 2.3 Rev 1.0
42
D13 control Powerdown for the Center, Surround, and LFE DACs respectively.
When a 2-channel Secondary Codec is mapped as Surround L&R, Ready and Powerdown for Surround L&R are not
implemented in Register 2Ah, and Register 26h must be used instead.
Similar reasoning can be applied to 6-channel cases: driver writers should check the Secondary Audio Codec
Register 28h for SDAC, CDAC, and LDAC ID bits to identify the presence of more than 2 DACs and manage the
resources accordingly (i.e. use the corresponding Ready status and Powerdown control bits).
In the case where the codec support the Slot Mapping Registers (Slot Mapping Descriptor, Section 5.9.3), the
configuration and mapping of DACs and ADCs to slots across multiple codecs can be optimized by the software to
provide the optimum use of available DMA engines, slots, DACs, and external jacks and connections across one or
multiple codecs.
5.4.2.3 Volume Control across Multiple Audio Codecs
The use of multiple AC ‘97 Codecs to achieve multi-channel audio requires that the driver writer knows where to
access Volume controls for all four channels. In monolithic multi-channel Codecs, Registers 36h and 38h controls
Center/LFE and Surround L&R Volume levels respectively.
When a 2-channel Secondary Codec is mapped as Center/LFE or Surround L&R, neither Register 36 nor 38h are
implemented, and in this configuration the Master Volume register 02h must be used instead.
Similar reasoning can be applied to 6-channel cases: driver writers should check the Secondary Audio Codec
Register 28h for SDAC, CDAC, and LDAC ID bits to identify the presence of more than 2 DACs and manage the
resources accordingly (i.e. use the corresponding Volume Control Register).
5.4.2.4 Playback Synchronization across Multiple Audio Codecs
To establish channel synchronization across multiple audio Codecs at the beginning of playback, AC ‘97 2.2
recommends that, upon playback start up:
1.
Driver clears then sets Powerdown bits (D9 in Register 26h and D11, D12, D13 in Register 2Ah) for all
active DAC channels.
2.
Driver tags all outgoing slots “invalid” until data has been requested from all active output channels, across
all Codecs, then provides the first “valid” data to all active output slots during the same AC-link frame
8
.
3.
Codecs should be designed to synchronize (i.e. wait for) first “valid” output DAC data, even if it occurs
multiple AC-link frames subsequent to the initial data request (SLOTREQ signal).
Codecs that do not support synchronization in this manner are limiting themselves to vendor specific driver support
(access to vendor specific registers and/or methods) for multichannel upgrades.
5.5 AC ‘97 Analog Mixer
The AC ‘97 analog mixer is designed to manage playback and record of all digital and analog audio sources likely to
be present in a mainstream PC. These include:
System audio: digital PCM input and output for business, games, and multimedia
CD/DVD: analog CD/DVD-ROM Redbook audio with internal connections to Codec mixer
Mic: choice of desktop or headset microphone, with programmable boost and gain
Speakerphone: use of system microphone & speakers for telephony, DSVD, and video conferencing
Line in: external analog line level source from consumer audio, video camera, etc
Video: TV tuner or video capture card with internal connections to Codec mixer
AUX: internal analog line level source
8
Driver writers may also choose to initially transmit several samples of “0000h” (tagged as “valid” data) across all
active output slots as an extra multichannel playback start up synchronization measure.