programmers resources
  http://www.intel-assembler.it/  (c)2017 intel-assembler.it   info@intel-assembler.it
 
Search :  
Lingua Italiana    English Language   
Index
 
just an empty assembly space
just an arrow Intel Platform
just an arrow Article & Guides
just an arrow Download Software


23/01/2009 Featured Article: How to remove Buzus Virus (permalink)




:::3141115:::
Bottone Scambio Directory Pubblicitaonline.it
Home Page | Articles & Guides | Download | Intel Platform | Contacts

Google
 


Bookmark and Share
Download 
Tell a friend



Intel 82801AA (ICH), 82801AB (ICH0) I/O Controller

Hub AC "97 Programmer"s Reference Manual

(by intel)

49 pages manual.
This article is online from 2963 days and has been seen 12946 times


Intel 82801AA (ICH), 82801AB (ICH0) I/O Controller Hub AC ’97
Programmer’s Reference Manual

December 1999


(*** download for full text ***)

Contents
1. Introduction
1.1. Reference Documents and Information Sources
2. AC ’97 Controller’s Theory of Operation
2.1. AC’97 Initialization
2.1.1. System Reset
2.1.2. Codec Topology
2.1.3. BIOS PCI Configuration
2.1.4. Hardware Interrupt Routing
2.2. DMA Engines
2.2.1. Buffer Descriptor List
2.2.2. DMA Initialization
2.2.3. DMA Steady-State Operation
2.2.4. Stopping Transfers
2.2.5. FIFO Error Conditions
2.2.5.1. FIFO Underrun
2.2.5.2. FIFO Overrun
2.3. Arbitration
2.4. Data Buffers
2.4.1. Memory Organization of Data
2.4.2. FIFO Organization
2.5. Multiple Codec/Driver Support
2.5.1. Codec Register Read
2.5.2. Codec Access Synchronization
2.6. Power Management
2.6.1. Power Management Transition Maps
2.6.2. Topology Detection
2.6.2.1. Determining the Presence of a Secondary Codec
2.6.2.2. Determining the Presence of a Modem Function
2.6.3. Aggressive Power Management
2.6.3.1. Primary Audio Requested to Transition to D3 State
2.6.3.2. Secondary Modem Requested to Transition to D3 State
2.6.3.3. Secondary Modem Requested to Transition to D0 State
2.6.3.4. Audio Primary Requested to Transition to D0 State
2.6.3.5. Using a Cold or Warm Reset
3. AC ’97 Audio Driver
3.1. Introduction
3.2. Win32 Driver Model
3.3. Driver Organization Example
4. AC ’97 Modem Driver
4.1. Robust Host-Based Generation of a Synchronous Data Stream
4.1.1. Spurious Data Algorithm
4.1.2. AC ’97 Spurious Data Implementation
5. Appendix A: System BIOS Codec/Function Detection Algorithm 
5.1. Introduction
5.2. Pre-Boot PCI Audio/Modem Enabling Matrix
5.3. Codec/Functionality Detection Algorithm
5.4. Details of AC ’97 ID Space
5.5. Proposed Mechanism for Accomplishing Modem Riser Enumeration
5.5.1. Using BIOS Fail-Safe Mode
5.5.2. Using the Serial EPROM or Shift Register
6. Appendix B: Detail for AC ’97 Controller Wake-Up Detection Circ
uitry

Figures
Figure 1. Block Diagram of Intel® 8XX Chipset with ICH Component
Figure 2. AC ’97 Controller Connection to Its Companion Codec
Figure 3. Possible Codec Configurations
Figure 4. Generic Form of Buffer Descriptor (One Entry in the List
)
Figure 5. Buffer Descriptor List
Figure 6. Compatible Implementation with Left and Right Sample Pai
r in Slots 3 and 4 Every Frame
Figure 7. Compatible Implementation with Sample Rate Conversion Sl
ots 3 and 4 Alternating over Next Frame
Figure 8. Incompatible Implementation of Sample Rate Conversion wi
th Repeating Slots over Next Frames
Figure 9. Sequence Overview
Figure 10. Example Driver Miniport Initialization (adapter.cpp)
Figure 11. Example Streams Class Public Routines (Streams.cpp)
Figure 12. Streams Class Public Routines (Part 2) (Streams.cpp)
Figure 13. Codec Detection Algorithm
Figure 14. EPROM Diagram
Figure 15. Wake-Up Circuitry Representation
Intel® 82801AA (ICH) & Intel® 82801AB (ICH0) I/O Controller Hub AC
 ’97

Tables
Table 1. Audio Registers (Device 31 Function 5 Audio)
Table 2. Modem Registers (Device 31 Function 6 Modem)
Table 3. BD Buffer Pointer (DWord 0: 00–03h)
Table 4. BD Control and Length (DWord 1: 04–07h)
Table 5. Audio Descriptor List Base Address
Table 6. Modem Descriptor List Base Address
Table 7. Audio Last Valid Index
Table 8. Modem Last Valid Index
Table 9. FIFO Summary
Table 10. Codec Topologies
Table 11. Power State Mapping for Audio Single-Codec Desktop Trans
ition
Table 12. Power State Mapping for Modem Single-Codec Desktop Trans
ition
Table 13. Power State Mapping for Audio in Dual-Codec Desktop Tran
sition
Table 14. Power State Mapping for Modem in Dual-Codec Desktop Tran
sition
Table 15. PCI Functions Enable/Disable
Table 16. Initializing the Audio I/O Space (Device 31, Function 5 
Audio)
Table 17. Initializing the Modem I/O Space (Device 31 Function 6 M
odem)
Table 18. Removing AC_RESET# (Address = NABMBAR + 2Ch)
Table 19. Reading the Codec Ready Status (Address = NABMBAR + 2Ch)
Table 20. Hiding the Audio/Modem Functions (Device 31 Function 0)
Table 21. Determining the Audio Codec (Address = NAMBAR + 02h)
Table 22. Reading the Audio Codec Vendor ID (Address = NAMBAR + 7C
h and 7Eh)
Table 23. Programming the PCI Audio Subsystem ID (Device 31 Functi
on 5)
Table 24. Determining the Presence of a Modem Function (Primary Co
dec)(Address = MMBAR + 3Ch)
Table 25. Determining the Presence of a Secondary Codec(Address = 
NABMBAR + 2Ch)
Table 26. Reading the Secondary Modem Codec Vendor ID(Address = MM
BAR + FCh and FEh)
Table 27. Programming the PCI Modem Subsystem ID (Secondary Codec)
(Device 31 Function 5/6)
Table 28. Codec Vendor ID Registers
Table 29. Wake-Up Condition Table for AC/MC Configuration
Table 30. Wake-Up Condition Table for AMC Configuration
Table 31. Wake-Up Condition Table for Single AC or MC Configuratio
n

1. Introduction
This document assists Independent Hardware Vendors (IHV) in suppor
ting the feature set of the Intel® 8XX I/O Controller Hub (ICH) AC
 ’97 Digital Controller. 

General requirements for developing an audio mini-port driver that
 utilizes the AC ’97 audio interface are described. 

The information in this document supplements the information provi
ded in the Intel® 82801AA (ICH) or Intel® 82801AB (ICH0) I/O Contr
oller Hub Datasheet, and is intended for IHVs and Intel customers 
developing their own driver interface.

Functions that BIOS or Operating Systems (OS) must perform to ensu
re correct and reliable operation of the platform are described. 

Software specifications for the AC ’97 digital controller are outl
ined. Details regarding the development of an audio device driver 
that is the baseline for a production driver already in the market
place are provided.

It is assumed that the reader has a working knowledge of the AC ’9
7 architecture and the Intel® ICH AC ’97 controller implementation
 of the AC ’97 specification. Also, the reader should understand t
he development of audio drivers for the target operating systems.

(*** download for full text ***)



Top
Download 
Tell a friend
Bookmark and Share



Similar Articles

8237A Programmable DMA Controller
Intel Chipset 8237A Datasheet
(by Intel)

8254 Programmable Interval Timer
Intel Chipset 8254 Datasheet
(by Intel)

8255 Programmable Peripheral Interface
Intel Chipset 8255 Datasheet
(by Intel)

8259A Programmable Interrupt Controller
Intel Chipset 8259 Datasheet
(by Intel)

82C54 Programmable Interval Timer
Intel 82C54 Technical Manual
(by Intel)

82C55A Programmable Peripheral Interface
Intel 82C55A Techical Manual
(by Intel)

AC'97 Layout Guide Rev. 2.0
Electronic Layout of the Realtek AC 97 board
(by Realtek Semiconductor Corp.)

Audio Codec '97 Manual v2.2
Tecnical manual of this very common device
(by Intel)

ELYSiUM's VGA Graphics & Sound Blaster Coding
Beginner VGA Graphics & Sound Blaster Programming
(by ELYSiUM)

How to program the DMA 8237 chip
Basic info and examples of C and Asm programming
(by Night Stalker)

Il Chip 8259: IRQ Controller (NEW)
Un'introduzione sull'8259
(by JES)

Intel 8272 Floppy Disk Controller Chip
Tecnical manual, commands and controls
(by Intel)

Intel i8255 PIO Programming Tutorial: Extracts
A practical use of the 8255 with basic programming
(by Richard Steven Walz)

Make sound from the speaker using assembly
8253, 8255, 8284 program example in asm
(by William Cravener)

Programming the Intel 8253
Short howto program Programmable Interval Timer
(by Mark Feldman)

Programming the PC Speaker
A short practical intro on programming 8254
(by Mark Feldman)

Soundblaster Programming Information v0.90
All the functions, a full reference for programmer
(by André Baresel / Craig Jackson)

The Unofficial Sound Blaster AWE32 Programming
A guide on programming the 32bit card
(by Vince Vu / Judge Dredd)

Timing on the PC family (rel.3)
Over 290 pages on programming 8253/8254
(by Kris Heidenstrom)

 Tags: ac97, chipset, 82801, sound


webmaster jes
writers rguru, tech-g, aiguru, drAx

site optimized for IE/Firefox/Chrome with 1024x768 resolution

Valid HTML 4.01 Transitional


ALL TRADEMARKS ® ARE PROPERTY OF LEGITTIMATE OWNERS.
© ALL RIGHTS RESERVED.

hosting&web - www.accademia3.it

grossocactus
find rguru on
http://www.twitter.com/sicurezza3/
... send an email ...
Your name

Destination email

Message

captcha! Code