Wake Up or Exiting L2

The PCIe Controller supports systems that use a wake-up mechanism. The client shall capture the PCIe Controller's PME context before sending the PME_TurnOff Acknowledge message to the root port. The client must store the PCIe Controllers bus number and device number from local management before acknowledging PME_TurnOff. The client must specify the Requester ID of the PME message sent when power is re-applied to the PCIe Controller and the link reaches L0. The following sequence describes the process of supporting WAKE#.

  1. Assume the PCIe Controller is in L2. The client is maintaining the PME context and requester ID using a client that is powered by VAUX or full power.
  2. The client can decide to wake up the PCIe Controller. The client drives the WAKE# out-of-band signal to tell the power management controller that the PCIe Controller requires power to be re-applied.
    Note: The WAKE#signal is external to the PCIe Controller and is not used by it.
  3. Assert PERST_N to bring the PCIe Controller into warm reset. Then, de-assert PERST_N to reapply the internal power in the PCIe Controller. Follow the reset sequence shown in Figure 1.
  4. The client restores any PME context to the PCIe Controller registers via the local management interface.
  5. Prevent the PCIe Controller from transmitting the PM_PME message automatically by programming bit [20] (Disable PME Message on PM Status) to 1 in the Local Management Register PME Service Timeout Delay Register.
    Note: Set the Disable PME Message on PM Status bit to 1 before setting the PME Status bit to 1.
  6. The client sends a PM_PME message over the client interface using the requester ID that was captured before entering L2.
  7. The root complex can perform a configuration write to the PCIe Controller to move the device from the D3hot state.