Freescale Semiconductor MPC8313E Family Reference Manual page 296

Powerquicc ii pro integrated processor
Hide thumbs Also See for MPC8313E:
Table of Contents

Advertisement

System Configuration
PMC Power-Down When the MPC8313E is a PCI Agent
In this case the PCI device driver runs on an external PCI host. It interfaces to the device through PCI
configuration interface.
The e300 device driver runs locally on the e300 processor and interfaces to PMC internally
At initial power-up (POR), external PCI host software is required to determine the power management
capabilities of all agents and initialize their PME context, including the PME support bits. To support PME
signaling the PCI device driver must set the PCI function's PCIPMR1[PME_En] register bit and the
PCIPMR1[PME_Status] register bit (clearing the PME_Status bit). The e300 device driver must also set
the PMC's PMCCR1[PME_EN].
Steps to power down the device to the lowest power state, D3Warm, are as follows.
1. An e300 driver routine programs PMC to allow wake-up on one of the PMC wake-up events
(eTSEC magic packet, USB, GPIO internal timer, external interrupt) by writing a "1" in the
appropriate PMCMR[] mask register bit.
2. The PCI device driver executes code to save any MPC8313E context that would not otherwise
survive the transition to the new power state (any MPC8313E context beyond what e300 software
would configure on reset).
3. PCI device driver enables the PCI function to generate PCI_PME, then programs the D3Hot state
into the PCI function's PCIPMR1[Power_State] field.
Note: In order for the device to assert PCI_PME, both PCIPMR1[PME_EN] and
PMCCR1[PME_EN] must be set.
4. This PCI Configuration PowerState register setting is detected and also reflected into the
PMCCR1[NEXT_STATE] register. This change generates an interrupt to the e300 through the
IPIC.
Note: PCI PM 1.2 specification requires PCI's PCIPMR1[Power_State] field to reflect the current
state until the PCI agent is in the next state. Therefore the PCIPMR1[Power_State] field will still
read as 00b until the e300 updates the power state (see Step 9)
Note: The PMC is designed such that any time the PMCCR1[NEXT_STATE] field is different than
the PMCCR1[CURRENT_STATE] field and interrupt will be asserted to the e300 core via IPIC.
5. An e300 interrupt routine detects PMC's PMCCR1[NEXT_STATE] notification and begins the
process of power down. It stops all of the masters on the CSB bus, including:
— Security engine (by not providing buffer descriptors to work on)
— eTSECs (gracefully stop through DMACTRL[GRS] and DMACTRL[GTS])
— USB (placing USB into suspend mode)
Then the e300 enables any desired wake-up sources: eTSEC to wake on Magic Packet
reception by setting eTSEC MACCFG2[MPEN], USB link activity, GPIO transition, internal
timer expires, assertion of external interrupt.
Note: that the PMC does not automatically sequence the device into low power mode when the
next_state bits are set to D3. This next_state change only generates an interrupt to the e300. the
e300 will then sequence the device into the requested low power mode.
MPC8313E PowerQUICC II Pro Integrated Processor Family Reference Manual, Rev. 3
5-86
Freescale Semiconductor

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc8313

Table of Contents