English
Language : 

AT91SAM9RL64_14 Datasheet, PDF (718/903 Pages) ATMEL Corporation – Multi-layer AHB Bus Matrix for Large Bandwidth Transfers
This feature is implemented in AC97 modem codecs that need to report events such as Caller-
ID and wake-up on ring.
The AC97 Codec can drive AC97RX signal from low to high level and holding it high until the
controller issues either a cold or a worm reset. The AC97RX rising edge is asynchronously
(regarding AC97FS) detected by the AC’97 Controller. If WKUP bit is enabled in AC97C_IMR
register, an interrupt is triggered that wakes up the AC‘97 Controller which should then immedi-
ately issue a cold or a warm reset.
If the processor needs to be awakened by an external event, the AC97RX signal must be exter-
nally connected to the WAKEUP entry of the system controller.
Figure 40-7. AC’97 Power-Down/Up Sequence
Power Down Frame
Wake Event
Sleep State
Warm Reset
New Audio Frame
AC97CK
AC97FS
AC97TX
AC97RX
TAG
Write to
0x26
Data
PR4
TAG
Write to
0x26
Data
PR4
TAG
Slot1 Slot2
TAG
Slot1 Slot2
40.6.4.3
AC97 Codec Reset
There are three ways to reset an AC97 Codec.
Cold AC’97 Reset
A cold reset is generated by asserting the RESET signal low for the minimum specified time
(depending on the AC97 Codec) and then by de-asserting RESET high. AC97CK and AC97FS
is reactivated and all AC97 Codec registers are set to their default power-on values. Transfers
on AC-link can resume.
The RESET signal will be controlled via a PIO line. This is how an application should perform a
cold reset:
• Clear and set ENA flag in the AC97C_MR register to reset the AC’97 Controller
• Clear PIO line output controlling the AC’97 RESET signal
• Wait for the minimum specified time
• Set PIO line output controlling the AC’97 RESET signal
AC97CK, the clock provided by AC97 Codec, is detected by the controller.
Warm AC’97 Reset
A warm reset reactivates the AC-link without altering AC97 Codec registers. A warm reset is sig-
naled by driving AC97FX signal high for a minimum of 1us in the absence of AC97CK. In the
absence of AC97CK, AC97FX is treated as an asynchronous (regarding AC97FX) input used to
signal a warm reset to AC97 Codec.
This is the right way to perform a warm reset:
• Set WRST in the AC97C_MR register.
718 AT91SAM9R64/RL64
6289D–ATARM–3-Oct-11