
File: power.fm5, modified 7/23/99
PRELIMINARY INFORMATION
20-1
Power Management
Chapter 20
by Eino Jacobs
20.1
OVERVIEW
TM1100 supports power management in two ways:
It has a ‘power down’ mode in which most clocks on
the chip are shut down and the SDRAM main mem-
ory is brought into low-power self-refresh mode.
It has mechanisms to shut off certain blocks com-
pletely if not used by an application.
20.2
BLOCK SHUT-OFF
This feature is new in TM1100. It allows to separately
shut off the Enhanced Video-Out (EVO) and Image Co-
Processor (ICP) facilities, in case they are not used.
The EVO can be separately powered down by writing a
1 to EVO_CTL.PWDN. (This is bit 7 of EVO_CTL). The
EVO block only powers up again after this operation, if a
RESET is performed.
Note: This feature is only present in TM1100, but not
guaranteed in future implementations of the architecture.
The bit EVO_CTL.PWDN is reserved in future implemen-
tations.
The ICP can be separately powered down by setting
ICP_STATUS.PWDN via microcode. (This is bit 31 of
ICP_STATUS. Direct MMIO write does not work for that
purpose). Once the BUSY bit gets deasserted, the ICP
powers down. The ICP block only powers up again after
this operation, if a RESET is performed.
Note: This feature is only present in TM1100, but not
guaranteed in future implementations of the architec-
ture.The bit ICP_STATUS.PWDN is reserved in future
implementations.
20.3
ENTERING AND EXITING POWER
DOWN MODE
Power management is software controlled and is initiat-
ed by writing to the MMIO register POWER_DOWN. Dur-
ing execution of this MMIO operation the system is pow-
ered down without completing the MMIO operation. Only
when the system wakes up from power down mode, the
MMIO operation is completed. This means that during
the execution of a program on the DSPCPU the moment
of power down is defined exactly: any instruction before
the instruction that contains the MMIO operation is com-
pleted before entering power down mode. The instruc-
tion containing the MMIO operation and all subsequent
instructions are completed after wake up from power
down mode.
Wake-up from power down mode is effected by receiving
an interrupt (any interrupt) that passes the acceptance
criteria of the interrupt controller.
There is also wake-up from power down if a peripheral
unit asserts a memory request signal on the highway.
During power down mode the whole chip is powered
down, except the PLLs, the interrupt logic, the timers, the
wake-up logic in the MMI and any logic in the peripheral
units and PCI bus interface that is not participating in the
power down.
20.4
POWER DOWN OF PERIPHERALS
The peripherals participate in global power down. This
can be a programmable option for selected peripherals.
These selected peripherals have a programmable MMIO
control bit, the SLEEPLESS bit, that can be used to pre-
vent it from participating in the global power down mode.
By default every peripheral unit must participate in power
down.
The following peripherals have the SLEEPLESS bit: vid-
eo-in, video-out, audio-in, audio-out, SSI, JTAG.
The following peripherals do not have the SLEEPLESS
bit and always participate in power down: VLD, boot/I2C
and ICP.
The following peripherals do not participate in global
power down, although they must still power themselves
down when they are inactive: VIC, PCI.
When a peripheral does not participate in global power
down, it can still do regular main memory traffic. Every
time a peripheral unit asserts the highway request signal,
the MMI will initiate a wake-up sequence. The CPU must
execute software that initiates a new power down of the
system. This software can be the wait-loop of the RTOS.
Programmer’s note: Since the system is waked up each
time there is a transaction on the highway, it may be in-
teresting to make a software loop that does the activation
of the POWER_DOWN mode. Then the activation is con-
ditional, and most of the time, done using a global vari-
able usually set by a handler. It becomes then mandatory
to be sure that there are no interruptible jumps between
the time the value of the global variable is fetched and
compared by the DSPCU and the time the conditional
write to the MMIO is performed (it is the classical sema-
phore or test and set issue). Thus it is recommended to