
Power Management
1-31
to the SMIs enabled at the SMI Enable register at Index 41h and the Function Enable 1
register at Index B0h. Optionally, firmware may enable the next I/O access to any of the
timer-controlled devices to unconditionally cause an SMI by writing a 0 to the appropriate
bit in the I/O Timeout register at Index 40h.
I/O trapping for powered-down devices is only applicable when the CPU is not servicing
an SMI. Therefore, SMI handlers should poll the I/O Timeout register at Index 40h before
accessing I/O devices that may be powered down. If any of bits 2–0 are 0, and the corre-
sponding bits in the SMI Enable register are 1, then I/O accesses to those devices will
generate an SMI.
1.7.5
Treatment of Pending SMIs
If an SMI is already in progress, the élanSC310 microcontroller detects and holds as
pending another incoming SMI from a different device. When the current SMI routine is
finished executing, another SMI is immediately asserted if other SMIs have been gener-
ated and not cleared. The exceptions to this are SMIs that are generated from I/O
decodes, which include the real-time clock (RTC), keyboard, floppy disk drive, hard disk
drive, and PIO. In these cases, another SMI is not generated. However, the status bits in
the SMI Status register at Index 43h are 1.
1.7.6
External SMI Pin
The External SMI (EXTSMI) pin is enabled by bit 4 of the Function Enable 1 register at
Index B0h. This pin may be used by an external device to generate an SMI. It may be
used for a single device or multiple devices as explained below. Pin polarity may be
selected using bit 5 of this register.
1.7.7
External SMI with a Single Device
If the EXTSMI polarity bit (bit 5 of the Function Enable 1 register at Index B0h) is 1, a fall-
ing edge on EXTSMI causes an SMI request to be generated. EXTSMI should then be
held Low by the external device until the SMI handler releases it via an I/O write to the
external device. The state of the EXTSMI pin may be read at bit 1 of the Miscellaneous 5
register at Index B3h to determine that EXTSMI has been activated. If the EXTSMI polar-
ity bit is 0, then all of the above polarities are reversed.
1.7.8
External SMI with Multiple Devices
The External SMI (EXTSMI) pin may be treated as an open-drain signal driven by multi-
ple devices. As with a single device, each SMI-generating device should continue assert-
ing EXTSMI until acknowledged by the SMI handler. After determining that the EXTSMI
pin is asserted (bit 1 of the Miscellaneous 5 register at Index B3h), the SMI handler must
poll each external device and clear its SMI-generating logic if needed. When all external
devices are serviced, the EXTSMI pin should return to the inactive state. As long as the
EXTSMI pin is active, SMIs to the CPU will be repeatedly generated.