5 product dependencies, 1 i/o lines, 2 power management – Rainbow Electronics AT91CAP9S250A User Manual

Page 620: 3 interrupt

Advertising
background image

620

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

37.5

Product Dependencies

37.5.1

I/O Lines

The pins used for interfacing the compliant external devices may be multiplexed with PIO
lines.

Before using the AC‘97 Controller receiver, the PIO controller must be configured in order for
the AC97C receiver I/O lines to be in AC‘97 Controller peripheral mode.

Before using the AC‘97 Controller transmitter, the PIO controller must be configured in order
for the AC97C transmitter I/O lines to be in AC‘97 Controller peripheral mode.

37.5.2

Power Management

The AC‘97 Controller is not continuously clocked. Its interface may be clocked through the
Power Management Controller (PMC), therefore the programmer must first configure the PMC
to enable the AC’97 Controller clock.

The AC’97 Controller has two clock domains. The first one is supplied by PMC and is equal to
MCK. The second one is AC97CK which is sent by the AC97 Codec (Bit clock).

Signals that cross the two clock domains are re-synchronized. MCK clock frequency must be
higher than the AC97CK (Bit Clock) clock frequency.

37.5.3

Interrupt

The AC’97 Controller interface has an interrupt line connected to the Advanced Interrupt Con-
troller (AIC). Handling interrupts requires programming the AIC before configuring the AC97C.

All AC’97 Controller interrupts can be enabled/disabled by writing to the AC’97 Controller
Interrupt Enable/Disable Registers. Each pending and unmasked AC’97 Controller interrupt
will assert the interrupt line. The AC’97 Controller interrupt service routine can get the interrupt
source in two steps:

• Reading and ANDing AC’97 Controller Interrupt Mask Register (AC97C_IMR) and AC’97

Controller Status Register (AC97C_SR).

• Reading AC’97 Controller Channel x Status Register (AC97C_CxSR).

Advertising