
Functional Description
5-114
82801AA and 82801AB Datasheet
Input Slots 7-11: Reserved
Input frame slots 7-11 are reserved for future use and should be stuffed with zeros by the codec, per
the AC’97 specification.
Input Slot 12: I/O status
The status of the GPIOs configured as inputs are to be returned on this slot in every frame. The data
returned on the latest frame is accessible to software by reading the register at offset 54h/D4h in the
codec I/O space. Only the 16 MSBs are used to return GPI status. Bit 0 of this slot indicates the
GPI status. When a GPI changes state, this bit gets set for one frame by the codec. This bit can
cause an interrupt to the processor if enabled via the Global Control register.
Reads from 54h/D4h will not be transmitted across the link in slot 1 and 2. The data from the most
recent slot 12 is returned on reads from offset 54h/D4h.
5.17.4
Register Access
In the ICH implementation of the AC-link, up to two codecs can be connected to the SDOUT pin.
The following mechanism is used to address the primary and secondary codecs individually.
The primary device uses bit 19 of slot 1 as the direction bit to specify read or write. Bits [18:12] of
slot 1 are used for the register index. To access the primary codec, the valid bits [14:13] for slots
1 and 2 must be set in slot 0, as shown in
Table 5-84
. Slot 1 is used to transmit the register address
and slot 2 is used to transmit data.
The secondary codec registers are accessed using slots 1 and 2 as described above; however, the
slot valid bits for slots 1 and 2 are marked invalid in slot 0 and the codec ID bit 0 (bit 0 of slot 0) is
set to 1. This allows the secondary codec to monitor the slot valid bits of slots 1and 2, and bit 0 of
slot 0 to determine if the access is directed to the secondary codec. If the register access is targeted
to the secondary codec, slot 1 and 2 will contain the address and data for the register access. Since
slots 1 and 2 are marked invalid, the primary codec will ignore these accesses.
When accessing the codec registers, only one I/O cycle can be pending across the AC-link at any
time. The ICH implements write posting on I/O writes across the AC-link (i.e., writes across the
link are indicated as complete before they are actually sent across the link). To prevent a second
I/O write from occurring before the first one is complete, software must monitor the
CAS bit in the
Codec Access Semaphore register that indicates that a codec access is pending. Once the CAS bit is
cleared, another codec access (read or write) can go through. The exception to this being reads to
offset 54h/D4h (slot 12) that are returned immediately with the most recently received slot 12 data.
Table 5-84. Output Tag Slot 0
Bit
Primary Access
Example
Secondary Access
Example
Description
15
1
1
Frame Valid
14
1
0
Slot 1 Valid, Command Address bit (Primary codec only)
13
1
0
Slot 2 Valid, Command Data bit (Primary codec only)
12:3
X
X
Slot 3-12 Valid
2
0
0
Reserved
1:0
00
01
Codec ID (00 reserved for primary; 01 indicate secondary)