
Power Management
1-35
This section deals with handling a suspend/resume operation using the SMI capability of
the élanSC310 microcontroller. The PMU is designed to be able to perform a minimal
suspend/resume operation without any software intervention. However, software may be
required to handle platform-specific code that takes care of peripheral-device state save,
device power-down, or general cleanup prior to suspend. If this is done, software may be
required to perform device-state restoration or other tasks upon resume so that the entire
process is transparent to the application code.
These tasks may be handled by either an NMI or an SMI. This is a system-design deci-
sion. The use of an SMI to handle suspend/resume operations is shown here for demon-
stration purposes.
The élanSC310 microcontroller’s PMU has the following capabilities that are critical to
implementing a suspend/resume capability using SMIs:
1. The PMU, if it is in Sleep, Suspend, or Off mode and upon detecting a rising edge on
the SUS/RES pin, may generate a processor SMI request (bit 0 of the NMI/SMI
Enable register at Index 82h).
2. The PMU, if it is in Sleep, Suspend, or Off mode and upon detecting a rising edge on
the SUS/RES pin, wakes up the processor into High-Speed PLL mode.
3. The PMU, if it is in High-Speed PLL, Low-Speed PLL, or Doze mode, and upon detect-
ing a rising edge on the SUS/RES pin, steps down one PMU state per refresh until it
reaches Sleep mode.
4. The PMU may generate a processor SMI request when the Sleep-to-Suspend mode
timer expires (Sleep to Suspend Timer register at Index 86h and bit 3 of the NMI/SMI
Enable register at Index 82h).
Features 1 and 4 must be enabled individually to implement an SMI-based sus-
pend/resume capability (see the indicated configuration registers). Features 2 and 3 are
automatic and require no setup. Note that there is no capability for the PMU to directly
generate an SMI request as a result of activity on the SUS/RES pin that would result in a
transition to Sleep mode. For the purpose of this documentation, assume that the sus-
pend SMI request is generated by utilizing feature 4.
The élanSC310 microcontroller’s SUS/RES pin serves both as a go-to-sleep (suspend)
and a wake-up (resume) signal input. In either case, a rising edge on the SUS/RES pin is
considered activity. This manual refers to such activity on the SUS/RES input when the
PMU is in Sleep, Suspend, or Off modes as a resume input The same activity, if it occurs
when the PMU is in High-Speed PLL, Low-Speed PLL, or Doze mode is referred to as a
suspend input