3 interrupt controller mask register (icmr), 3 interrupt controller mask register (icmr) -14, System control module – Intel STRONGARM SA-1100 User Manual
Page 84
9-14
SA-1100
Developer’s Manual
System Control Module
9.2.1.3
Interrupt Controller Mask Register (ICMR)
The interrupt controller mask register (ICMR) contains one mask bit per pending interrupt bit (32
total). The mask bits control whether a pending interrupt bit will generate a processor interrupt
(IRQ or FIQ). When a pending interrupt becomes active, it is sent to the CPU only if its
corresponding ICMR mask bit is set to a one. Note that the mask bits are ignored when the
SA-1100 is in idle mode. While in idle, if any interrupt source makes a request, the corresponding
pending bit is set and the interrupt automatically becomes active, regardless of the state of its mask
bit.
Mask bits serve two purposes. First, they allow periodic software polling of interruptible sources
while preventing them from actually causing an interrupt. Second, they allow the interrupt handler
routine to prevent interrupts of lower priority from occurring while still maintaining a list of
pending interrupts that may have occurred previously (or during the servicing of another interrupt).
The ICMR is not initialized at reset; a question mark indicates that the values are unknown at reset.
The following table shows the bit locations corresponding to the 32 separate interrupt mask bits.
Bit
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
IM31
IM30
IM29
IM28
IM27
IM26
IM25
IM24
IM23
IM22
IM21
IM20
IM19
IM18
IM17
IM16
Reset
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
IM15
IM14
IM13
IM12
IM11
IM10
IM9
IM8
IM7
IM6
IM5
IM4
IM3
IM2
IM1
IM0
Reset
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Bit
Name
Description
{n}
IM{n}
Interrupt mask n (where n = 0 through 31).
0 – Pending interrupt is masked from becoming active (interrupts not sent to CPU, Power
Manager).
1 – Pending interrupt is allowed to become active (interrupt sent to CPU, Power
Manager).
Note: IM bits are ignored during idle mode.