2 ac‘97 controller channel organization – Rainbow Electronics AT91CAP9S250A User Manual
Page 623

623
6264A–CAP–21-May-07
AT91CAP9S500A/AT91CAP9S250A
37.6.2
AC‘97 Controller Channel Organization
The AC’97 Controller features a Codec channel and 3 logical channels; Channel A and Chan-
nel B.
The Codec channel controls AC‘97 Codec registers, it enables write and read configuration
values in order to bring the AC97 Codec to an operating state. The Codec channel always
runs slot 1 and slot 2 exclusively, in both input and output directions.
Channel A and Channel B transfer data to/from AC97 codec. All audio samples and modem
data must transit by these two channels. However, Channel A is connected to PDC channels
thus making it suitable for audio streaming applications.
Each slot of the input or the output frame that belongs to this range [3 to 12] can be operated
by either Channel A or Channel B. The slot to channel assignment is configured by two
registers:
• AC’97 Controller Input Channel Assignment Register (AC97C_ICA)
• AC’97 Controller Output Channel Assignment Register (AC97C_OCA)
The AC’97 Controller Input Channel Assignment Register (AC97C_ICA) configures the input
slot to channel assignment. The AC’97 Controller Output Channel Assignment Register
(AC97C_OCA) configures the output slot to channel assignment.
A slot can be left unassigned to a channel by the AC’97 Controller. Slots 0, 1,and 2 cannot be
assigned to Channel A or to Channel B through the AC97C_OCA and AC97C_ICA Registers.
The width of sample data, that transit via Channel A and Channel B varies and can take one of
these values; 10, 16, 18 or 20 bits.
Figure 37-4. Logical Channel Assignment
Slot #
AC97FS
TAG
CMD
DATA
0
AC97TX
(Controller Output)
AC97RX
(Codec output)
PCM
L Front
PCM
R Front
LINE 1
DAC
PCM
Center
PCM
L SURR
PCM
R SURR
PCM
LFE
LINE 2
DAC
HSET
DAC
IO
CTRL
TAG
STATUS
ADDR
STATUS
DATA
PCM
LEFT
PCM
RIGHT
LINE 1
DAC
PCM
MIC
RSVED
RSVED
RSVED
LINE 2
ADC
HSET
ADC
IO
STATUS
1
2
3
4
5
6
7
8
9
10
11
12
Codec Channel
Channel A
Codec Channel
Channel A
AC97C_OCA = 0x0000_0209
AC97C_ICA = 0x0000_0009
CMD
ADDR