27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACPI-Defined Devices <strong>and</strong> Device-Specific Objects<br />

Return Value:<br />

An Integer containing the current lid status<br />

0 – The lid is closed<br />

Non-zero –<br />

The lid is open<br />

9.5 Control Method <strong>Power</strong> <strong>and</strong> Sleep Button Devices<br />

The system’s power or sleep button can either be implemented using the fixed register space as<br />

defined in Section 4.8.2.2, “Buttons,” or implemented in AML code as a control method power<br />

button device. In either case, the power button override function or similar unconditional system<br />

power or reset functionality is still implemented in external hardware.<br />

To implement a control method power-button or sleep-button device, implement AML code that<br />

delivers two types of notifications concerning the device. The first is Notify(Object, 0x80) to signal<br />

that the button was pressed while the system was in the S0 state to indicate that the user wants the<br />

machine to transition from S0 to some sleeping state. The other notification is Notify(Object, 0x2) to<br />

signal that the button was pressed while the system was in an S1 to S4 state <strong>and</strong> to cause the system<br />

to wake. When the button is used to wake the system, the wake notification (Notify(Object, 0x2))<br />

must occur after OSPM actually wakes, <strong>and</strong> a button-pressed notification (Notify(Object, 0x80))<br />

must not occur.<br />

The Wake Notification indicates that the system is awake because the user pressed the button <strong>and</strong><br />

therefore a complete system resume should occur (for example, turn on the display immediately, <strong>and</strong><br />

so on).<br />

9.6 Embedded Controller Device<br />

Operation of the embedded controller host controller register interface requires that the embedded<br />

controller driver has ACPI-specific knowledge. Specifically, the driver needs to provide an<br />

“operational region” of its embedded controller address space, <strong>and</strong> needs to use an ACPI event to<br />

service the host controller interface. For more information about an ACPI-compatible embedded<br />

controller device, see Section 12, “ACPI Embedded Controller <strong>Interface</strong> <strong>Specification</strong>.”<br />

The embedded controller device object provides the _HID of an ACPI-integrated embedded<br />

controller device of PNP0C09 <strong>and</strong> the host controller register locations using the device st<strong>and</strong>ard<br />

methods. In addition, the embedded controller must be declared as a named device object that<br />

includes a set of control methods. For more information, see Section 12.11, “Defining an Embedded<br />

Controller Device in ACPI Namespace”).<br />

9.7 Generic Container Device<br />

A generic container device is a bridge that does not require a special OS driver because the bridge<br />

does not provide or require any features not described within the normal ACPI device functions. The<br />

resources the bridge requires are specified via normal ACPI resource mechanisms. Device<br />

enumeration for child devices is supported via ACPI namespace device enumeration <strong>and</strong> OS drivers<br />

require no other features of the bus. Such a bridge device is identified with the Plug <strong>and</strong> Play ID of<br />

PNP0A05 or PNP0A06.<br />

Version 6.0 507

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!