Search This Blog

Monday, February 21, 2011

ACPI Wake Up Event

How to implement ACPI wake up event?


1. Add a wake up device and namespace for _PRW

Scope(\_SB.PCI0)                                       // General-Purpose Event
{
  Device(XHC0)                 // USB 3.0 Devices
  {
      Name(_ADR,0x100000) // Device 16 Fun0
      Name(_PRW,Package(2)
      {
          0x18,                // Wake from USB PME#
          0x04                // Lowest sleep state to wake from
      })
  }
}



2. Add a GPE event for notify device

Scope(\_GPE)                                       // General-Purpose Event
{
  Method(_L18,0x0,Notserialized)        // USB PME# wake event
  {
    Notify(\_SB.PCI0.XHC0, 2)           // It will notify XHC0 driver
    ...
  } 

  ...



3. The SciMap of Xhc0 device need to change to 0x18 for AMD chipset (SB900).


The GPE event number should be the same with _PRW.
L event number need to refer chipset setting.
Q event number need to refer EC setting.

No comments:

Post a Comment