Intel® 82801EB (ICH5) I/O
82801ER (ICH5R), and
82801DB (ICH4) Controller Hub:
AC ’97 PRM
Programmers Reference Manual (PRM)
April 2003
Document Number: 252751-001
R
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY
ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN
INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,
COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining
applications.
Intel may make changes to specifications and product descriptions at any time, without notice.
Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for
future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.
The Intel® 82801EB (ICH5) I/O 82801ER (ICH5R), and 82801DB (ICH4) controller hub may contain design defects or errors known as errata which
may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
2
C is a two-wire communications bus/protocol developed by Philips. SMBus is a subset of the I2C bus/protocol and was developed by Intel.
I
Implementations of the I
Corporation.
Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Table 29. MMBAR: Mixer Base Address Register ............................................................ 50
AC ’97 Programmer’s Reference Manual 5
Revision History
Revision
Number
-001 Initial Release. April 2003
R
Description Revision Date
6 AC ’97 Programmer’s Reference Manual
Introduction
)
R
1 Introduction
1.1 About This Document
This document was prepared to assist Independent Hardware and Software Vendors (IHVs and
ISVs) in supporting the Intel
document also applies to the previous generation of Intel I/O controller hub components and
describes the general requirements to develop an audio driver that will make use of the AC ’97
audio interface.
This document also describes functions that the BIOS or Operating Systems (OS) must perform in
order to ensure correct and reliable operation of the platform. This document will be supplemented
from time to time with specification updates. The specification updates contain information
relating to the latest programming changes. Check with your Intel representative for availability of
specification updates.
The following table outlines ICH device information at a glance.
Table 1. Applicable Components
ID
Device ID
Vendor ID
Device Name
Subsystem Vendor
Intel®
8086 2415 Default is 00h.
ICH
Value of this
register varies
according to the
system
ID
Subsystem Device
Default is 00h.
Value of this
register varies
according to the
system
®
I/O controller hub (ICH5) AC ’97 controller feature set. This
Addr
Revision ID
Prog. Interface
Sub-Class Code
Base Class Code
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
Device Number
Bus Number (PCI
Microsoft PNP
Function Number
Device Node ID
V_2415 (subsystem
will also provide
additional
information)
Intel Desired Device
®
Intel
Audio Controller
(displayed by driver
provider’s INF)
Description (INF
name) Name for:
Operating System
Microsoft Windows*
82801AA AC ‘97
Intel
8086 2416 Default is 00h.
ICH
Intel
8086 2425 Default is 00h.
ICH-0
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
07h 03h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
V_2416 (subsystem
will also provide
additional
information)
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
V_2425
(subsystem will also
provide additional
information)
Intel 82801AA AC ‘97
Modem Controller
(displayed by driver
provider’s INF)
®
Intel
82801AB AC ‘97
Audio Controller
(displayed by driver
provider’s INF)
AC ’97 Programmer’s Reference Manual 7
Introduction
)
ID
Device ID
Vendor ID
Device Name
Subsystem Vendor
®
Intel
8086 2426 Default is 00h.
ICH-0
®
Intel
8086 2435 Default is 00h.
ICH2
ICH2 8086 2436 Default is 00h.
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
ID
Subsystem Device
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Addr
Revision ID
Prog. Interface
Sub-Class Code
Base Class Code
07h 03h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
04h 01h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
Device Number
Bus Number (PCI
Microsoft PNP
Function Number
Device Node ID
V_2426 (subsystem
will also provide
additional
information)
V_2435 (subsystem
will also provide
additional
information)
V_2436
(subsystem will also
provide additional
information)
R
Description (INF
name) Name for:
Intel Desired Device
Intel 82801AB AC ‘97
Modem Controller
(displayed by driver
provider’s INF)
®
Intel
“ICH2” AC ‘97
Audio Controller
(displayed by driver
provider’s INF)
®
Intel
ICH2 DT/Server
/Mobile/Low End” AC
‘97 Modem Controller
(displayed by driver
provider’s INF)
Operating System
Microsoft Windows*
®
Intel
8086 2445 Default is 00h.
ICH3
ICH3 8086 2446 Default is 00h.
®
Intel
8086 24C5 Default is 00h.
ICH4
ICH4 8086 24C6 Default is 00h.
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
V_2445 (subsystem
will also provide
additional
information)
04h 01h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
V_2446
(subsystem will also
provide additional
information)
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
V_24C5
(subsystem will also
provide additional
information)
04h 01h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
V_24C6
(subsystem will also
provide additional
information)
®
Intel
“ICH3” AC ‘97
Audio Controller
(displayed by driver
provider’s INF)
®
Intel
ICH3 DT/Server
/Mobile/Low End” AC
‘97 Modem Controller
(displayed by driver
provider’s INF)
®
Intel
“ICH4” AC ‘97
Audio Controller
(displayed by driver
provider’s INF)
®
Intel
ICH4 DT/Server
/Mobile/Low End” AC
‘97 Modem Controller
(displayed by driver
provider’s INF)
8 AC ’97 Programmer’s Reference Manual
Introduction
)
R
ID
Device ID
Vendor ID
Device Name
Subsystem Vendor
®
Intel
8086 24D5 Default is 00h.
ICH5
ICH5 8086 24D6 Default is 00h.
Value of this
register varies
according to the
system
Value of this
register varies
according to the
system
ID
Subsystem Device
Default is 00h.
Value of this
register varies
according to the
system
Default is 00h.
Value of this
register varies
according to the
system
Addr
Revision ID
Prog. Interface
Sub-Class Code
Base Class Code
04h 01h 00h ALL 00h 1Fh 5 PCI\VEN_8086&DE
04h 01h 00h ALL 00h 1Fh 6 PCI\VEN_8086&DE
Device Number
Bus Number (PCI
Microsoft PNP
Function Number
Device Node ID
V_24D5
(subsystem will also
provide additional
information)
V_24D6
(subsystem will also
provide additional
information)
Description (INF
name) Name for:
Intel Desired Device
®
Intel
“ICH5” AC ‘97
Audio Controller
(displayed by driver
provider’s INF)
®
Intel
ICH5 DT/Server
/ Low End” AC ‘97
Modem Controller
(displayed by driver
provider’s INF)
Microsoft Windows*
Operating System
1.2 Reference Documents and Information Sources
Document Name or Information Source Available From
Communications and Networking Riser Specification, Version 1.0 and 1.2 http://developer.intel.com/technology
PCI Local Bus Specification, Revision 2.3 http://www.pcisig.com/specifications/
Microsoft Windows* Driver Development Kits
– http://www.microsoft.com/ddk
Microsoft Windows* Driver and Hardware Development
-- http://www.microsoft.com/hwdev
NOTE:
1. Contact your Intel representative for the current document revision.
http://www.intel.com/labs/media/audi
o/index.htm
/cnr/
conventional/
Microsoft
Microsoft
AC ’97 Programmer’s Reference Manual 9
Introduction
R
This page is intentionally left blank.
10 AC ’97 Programmer’s Reference Manual
Overview
R
2 Overview
In this document, “ICH5” stands for I/O Controller Hub 5. The ICH5 provides an AC ’97compliant controller. References to the “AC ’97 Component Specification” refer to the Audio Codec ’97 Specification, Revision 2.1, Revision 2.2, and Revision 2.3. The ICH5 AC ’97 Digital
Controller implementation interfaces to AC ’97 Component Specification, Revision 2.3 and
below-compliant codecs. The ICH5 supports up to three AC ’97 Component Specification
compliant codecs on the AC-link interface.
This document is limited to specifying the software requirements and driver interface for the ICH5
AC ’97 digital controller. Wherever possible, it has pointers to additional considerations for
supporting future proliferation or derivatives of the ICH5 digital controller. However,
considerations for these future devices are subject to change.
2.1 Intel® ICH5 AC ’97 Controller Compatibility
The ICH5 AC ’97 controller is fully compatible with the features found in the ICH1/2/3/4
versions. This allows for current drivers developed by ISVs and IHVs to work without
modifications. The ICH5 however, provides capabilities not found in ICH family components
prior to ICH4. The following matrix provides a description of the available features for each of the
ICHx component generations. This document specifically addresses features on ICH5 while
maintaining the original programming model reference for new developers working directly with
ICH5 and not previously exposed to the ICH component.
Figure 1 displays a block diagram of the platform chipset with the ICH5 component. Figure 2
represents the typical configuration for the ICH5 AC ’97 controller and companion codecs.
AC ’97 Programmer’s Reference Manual 11
Overview
Table 2. Audio Features Distribution Matrix
AC ’97 Audio Controller Features Intel®
16 bits Stereo PCM Output ⌧
16 bits Stereo PCM Input ⌧
16 bits Microphone Input ⌧
GPIO and Interrupt Support ⌧
Two 2.1/2.2/2.3 Codec Support ⌧
16 bits 2/4/6 Ch. Surround PCM Output
20 bits 2/4/6 Ch. Surround PCM Output
Dedicated S/P DIF DMA Output Ch.
Third 2.1/2.2/ 2.3 Codec Support
Memory Map Control and Status
Second 16 bits Stereo PCM Input
Second 16 bits Microphone Input
PCI 2.3 Power Management
®
ICH
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
Intel
ICH2
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
Intel®
ICH3
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧
⌧
⌧
⌧
⌧
⌧
Intel®
ICH4
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
⌧
⌧⌧⌧
Intel®
ICH5
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
⌧⌧⌧
R
The ICH5 AC ’97 audio controller provides a set of features that require significant software
support. The following paragraphs provide a summary of these features.
The modem support infrastructure has not been changed in any generation of the I/O controller
hub starting with the ICH.
12 AC ’97 Programmer’s Reference Manual
Overview
A
A
R
®
Figure 1. Block Diagram of Platform Chipset with Intel
ICH5 Component
Process
M
e
GP
MCH
m
o
r
y
USB 2.0
(Supports 6 USB ports)
IDE-Primary
IDE-Secondary
SATA (2 ports)
C’97 Codec(s)
LAN Connect
GPIO
OtherASICs
(Optional)
Intel
ICH5
®
LPC I/F
Super I/O
Firmware
Hub(s)
PCI Bus
S
L
O
T
Power Management
Clock Generators
System Management
(TCO)
SMBus 2.0/I 2 C
S
L
...
O
T
LAN
AC ’97 Programmer’s Reference Manual 13
Overview
Figure 2. Intel
®
ICH5 AC ’97 Controller Connection to Its Companion Codecs
Digital Controller
RESET#
SDATA_OUT
SYNC
BIT_CLK
Intel® ICH
SDATA_IN_0
SDATA_IN_1
SDATA_IN_2
AC '97/AC '97 2.x/AMC '97
Primary Codec
AC '97/MC '97 2.x/AMC '97
Secondary
Codec
R
AC '97/AC '97 2.x/AMC '97
Tertiary Codec
2.1.1 Third AC ’97 Component Specification Revision 2.1,
Revision 2.2 and Revision 2.3 Compliant Codecs
The AC ’97 Component Specification provides capability for up to four, SDATA_IN signals in
support of up to four codecs. The ICH5 AC ’97 controller provides support for up to three codecs
to allow for Audio channel expansion without sacrificing the Modem Codec (MC) support. Also,
the third codec capability enables a better mobile docking infrastructure.
2751_2
14 AC ’97 Programmer’s Reference Manual
Overview
R
2.1.2 Dedicated S/P DIF DMA Output Channel
The ICH5 controller provides a dedicated DMA engine with the capability of outputting either
PCM or AC-3 data to the S/P DIF link for pass-through to an external CE audio decoder. This
capability allows for simultaneous output of PCM/AC-3 on the S/P DIF link while PCM data is
output to the PCM Out DMA engine. As a result, an AC3 stream from DVD movie playback can
be output on the S/P DIF link concurrently with other system audio data (e.g., voice audio from a
telephony application).
2.1.3 20 Bits Surround PCM Output
The AC ’97 Component Specification provides a maximum bit resolution of 20 bits per sample.
The ICH5 AC ’97 controller PCM Output DMA Engine fully exploits this capability to improve
the audio output quality.
2.1.4 Memory Map Status and Control Registers
The ICH5 support PCI Memory Base Address Register that allows for higher performance access
to the controller registers while expanding the register space to access the third codec support
mechanism. All features can now be accessed via this Memory BAR making the I/O BAR
capabilities obsolete. However, the ICH5 controller may maintain the I/O BAR capability to allow
for the reuse of legacy code maintaining backward compatibility to deployed driver binaries.
Note: This document describes the programming interface using the Memory BAR registers unless
otherwise indicated. The default configuration for ICH5 Audio function is to use the PCI Memory
Base Address Register. The I/O BAR is therefore disabled unless system BIOS enables the
simultaneous backward-compatible capability on the register:
Device 31 Function 5 Audio
Offset Register Default Comments
41h CFG
Configuration
00h When cleared, the I/O space BARs at offset 10h and 14h become
read only registers. This is the default state for the I/O BARs.
Initialized by BIOS when backward I/O Bar compatibility is
required Memory BARs are always enabled.
AC ’97 Programmer’s Reference Manual 15
Overview
2.1.5 Second Independent Input DMA Engines
The ICH5 continues to provide two sets of input DMA engines that allow for the secondary or
tertiary codecs to provide recording PCM data streams on the primary codec while simultaneously
providing recording capabilities from the secondary or tertiary codec. A typical application is to
provide independent input stream in a mobile docking configuration where an audio codec is
located in the base system (notebook unit) and the secondary or tertiary codec is located in a
docking unit for desktop replacement. The DMA engines provide the infrastructure for s/w to
select the input stream from either source for stereo or microphone recording. Also the capability
of simultaneous input streams opens the possibilities for more futuristic applications where a
multiple microphone array can be created using two codecs. Refer to Section 3.2 for more
information on how to program the DMA engines.
2.1.6 PCI Local Bus Specification, Revision 2.3 Power
Management
The ICH5 provides PCI Local Bus Specification, Revision 2.3-compliant power management
registers that allows for better OS power management support with reduced overhead to the BIOS
programmers using ACPI control methodologies.
R
2.2 General Requirements
It is assumed that the reader has a working knowledge of AC ’97 architecture and the ICH5 AC’97
controller implementation. Also, the reader should have an understanding of audio driver
development for the target operating systems.
This document outlines the software specification for the AC ’97 digital controller, and also
includes details necessary for development of an audio device driver.
16 AC ’97 Programmer’s Reference Manual
Loading...
+ 37 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.