
Programmable Interrupt Controller
15-14
Élan™SC520 Microcontroller User’s Manual
Since programmable inversion of the interrupt signal is available, the external device can
generate an interrupt to the ÉlanSC520 microcontroller by either driving the interrupt
request line Low and allowing a pullup resistor to generate the rising edge or by actively
driving the line Low from its default High inactive state through a pullup resistor (as in PCI
interrupt generation).
Sharing edge-triggered interrupts in the ÉlanSC520 microcontroller is not recommended.
For more information about this topic, see “Software Considerations” on page 15-18.
15.5.6
Non-Maskable Interrupts and Routing
A unique feature of the ÉlanSC520 microcontroller’s PIC is its ability to route most of its
hardware interrupt sources via software to generate a non-maskable interrupt (NMI) to the
CPU.
■
With the exception of the internally-generated ECC interrupt from the SDRAM controller,
all the other interrupt sources can be routed to the Am5
x
86 CPU’s NMI input.
■
The PCI host bridge and SDRAM controller each generate a separate and distinct NMI
interrupt source to the PIC. The interrupt source can only generate an NMI and not a
maskable interrupt to the CPU.
There are 34 interrupt sources for NMI generation to the CPU:
■
15 external interrupts
■
18 internally-generated interrupts
■
1 software NMI source
Figure 15-4 on page 15-15 shows the logical implementation of NMI generation in the
ÉlanSC520 microcontroller.
15.5.6.1
Sharing NMIs
NMIs can be shared in the ÉlanSC520 microcontroller. NMI sources are routed logically to
an OR gate, as shown in Figure 15-4 on page 15-15.
Each individual interrupt source is gated by an enable signal to selectively allow it to be
shared with the other interrupt sources. Each of these enable signals is controlled via the
Interrupt Mapping (xMAP) registers and is enabled by programming its interrupt routing bits
to 11111b. An NMI Enable (NMI_ENB) bit in the Interrupt Control (PICICR) register (MMCR
offset D00h) provides the mechanism to prevent all NMIs from reaching the CPU. This bit
has been moved from the PC/AT-compatible location (see “Legacy NMI Enable Bit Moved”
on page 20-10 for more details). NMIs are disabled on system and soft reset and must be
enabled via setting the NMI_ENB bit before use.
It is recommended that sharing NMIs be done using level-sensitive NMIs only. All NMIs
should be treated similarly to the maskable interrupt sources. All NMIs once asserted should
remain asserted until cleared by software. The NMI_DONE bit located in the Interrupt
Control (PICICR) register facilitates NMI sharing. This bit is visible to all NMI handlers, and
the currently executing NMI handler should clear the NMI source prior to asserting the
NMI_DONE bit. NMI handler software should write a 1 to the self-clearing NMI_DONE bit
immediately before executing the IRET instruction to exit from the handler. Setting the
NMI_DONE bit deasserts the NMI signal to the CPU for a brief time before allowing any
other pending NMI requests to be serviced, in order to satisfy NMI timing requirements of
the CPU.
Sharing edge-triggered NMIs in the ÉlanSC520 microcontroller is not recommended.
Summary of Contents for Elan SC520
Page 1: ...lan SC520 Microcontroller User s Manual Order 22004A...
Page 4: ...iv lan SC520 Microcontroller User s Manual...
Page 28: ...Introduction xxviii lan SC520 Microcontroller User s Manual...
Page 42: ...Architectural Overview 1 14 lan SC520 Microcontroller User s Manual...
Page 78: ...System Initialization 3 22 lan SC520 Microcontroller User s Manual...
Page 108: ...Clock Generation and Control 5 10 lan SC520 Microcontroller User s Manual...
Page 118: ...Reset Generation 6 10 lan SC520 Microcontroller User s Manual...
Page 148: ...System Arbitration 8 24 lan SC520 Microcontroller User s Manual...
Page 214: ...SDRAM Controller 10 36 lan SC520 Microcontroller User s Manual...
Page 230: ...Write Buffer and Read Buffer 11 16 lan SC520 Microcontroller User s Manual...
Page 288: ...GP Bus DMA Controller 14 22 lan SC520 Microcontroller User s Manual...
Page 316: ...Programmable Interval Timer 16 8 lan SC520 Microcontroller User s Manual...
Page 328: ...Software Timer 18 4 lan SC520 Microcontroller User s Manual...
Page 346: ...Real Time Clock 20 12 lan SC520 Microcontroller User s Manual...
Page 360: ...UART Serial Ports 21 14 lan SC520 Microcontroller User s Manual...
Page 414: ...AMDebug Technology 26 8 lan SC520 Microcontroller User s Manual...