
Agere Systems Inc.
47
Data Sheet
July 2001
T8302 Internet Protocol Telephone
Advanced RISC Machine (
ARM
)
5 Programmable Interrupt Controller (PIC)
The PIC receives signals from 15 interrupt sources. The PIC groups and prioritizes these signals, and drives the
two interrupt signals at the interface to the core. Features of the PIC are as follows:
I
15 maskable interrupt inputs.
I
Two programmable priority groups (IRQ and FIQ).
I
15 programmable priority levels.
5.1 Interrupt Controller Operation
The interrupt controller receives 15 interrupt request signals,
IRQ[15:1]
as input. The ordering of the
IRQ
signals is
purely arbitrary and does not imply any relative priority. The
interrupt request enable register
,
IRER
(see Table
27 on page 51)
provides a central point where the interrupts are enabled or disabled for the interrupt request status
path.
In particular, the interrupt signals on input lines IRQ[15:1] are logically ANDed with IRER[15:1], and
the results are transferred to the interrupt request status register IRSR
(see Table 26 on page 51)
. At any
time, the core can read the
IRSR
in order to check for pending interrupts.
The
interrupt priority control registers
IPCR[15:1]
(see Table 29 on page 52)
provide a means by which the rel-
ative priority of the interrupts are assigned programmatically. Each IPCR has an index field that contains the num-
ber of the interrupt assigned to that particular priority level. The IPCRs have an implicit priority ordering, where
IPCR1 has the highest priority, and IPCR15 has the lowest priority. At reset, all of the IPCRs are disabled.
The IPT_
ARM
core interface includes two maskable interrupt request inputs,
IRQ
and
FIQ
, where an active
FIQ
request pre-empts an active
IRQ
request. Each interrupt is assigned to either the
IRQ
group or the
FIQ
group by
assigning a 1 (
FIQ
) or a 0 (
IRQ
) to
TYP
of the corresponding
interrupt priority control register
(see Table 29 on
page 52)
. Each group is handled independently. These inputs are referred to as core
IRQ
and core
FIQ
.
The following shows a typical setup method for interrupts:
I
Enable the interrupt in the desired peripheral's
interrupt enable register
.
I
Enable the specific peripheral interrupt in the
interrupt request enable register IRER (Set)
;
see Table 27 on
page 51
.
I
Enable the specific interrupt priority in the
interrupt priority enable register IPER
(Set)
;
see Table 33 on page
54
.
I
Assign
IRQ
s from the desired peripheral to a priority level (
IS
) and type (
TYP
) using the
interrupt priority con-
trol register
N
(see Table 29 on page 52)
.
I
When active the interrupt will be displayed in the
interrupt request status register
. The
interrupt in-service
register
(
ISRI
or
ISRF
) contains the encoded value of the current highest priority interrupt.
I
To get the
ARM
core to process the interrupt, clear the
F
or
I
bit in the
ARM
current program status register
(CPSR). See the
ARM
940T
Technical Reference Manual
for a register description.
I
To clear interrupts 3 through 15, remove the source of the interrupt in the peripheral registers. To clear interrupt 1
or 2, write to the
C1
or
C2
bit in the
interrupt request source clear register IRQESCR
(see Table 32 on page
54)
.