27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Advanced</strong> <strong>Configuration</strong> <strong>and</strong> <strong>Power</strong> <strong>Interface</strong> <strong>Specification</strong><br />

Note: FFH is permitted <strong>and</strong> applicable to both full <strong>and</strong> HW-reduced ACPI implementations.<br />

4.1.1 Hardware-Reduced Events<br />

HW-reduced ACPI platforms require alternatives to some of the features supported in the ACPI HW<br />

<strong>Specification</strong>, where none already exists. There are two areas that require such alternatives: The<br />

ACPI Platform Event Model, <strong>and</strong> System <strong>and</strong> Device Wakeup.<br />

4.1.1.1 GPIO-Signaled Events<br />

General Purpose Input/Output (GPIO) hardware can be used for signaling platform events. GPIO<br />

HW is a generalization of the GPE model, <strong>and</strong> is a shared hardware resource used for many<br />

applications. ACPI support for GPIO is described in section 3.11.3, "Connection Resources".<br />

ACPI Events are signaled by GPIO interrupt connections, which describe the connection to a GPIO<br />

controller <strong>and</strong> pin, <strong>and</strong> which are mapped to the ACPI Event H<strong>and</strong>ling mechanism via the ACPI<br />

Event Information namespace object (_AEI). OSPM treats GPIO Interrupt Connections listed in<br />

_AEI exactly as it does SCI interrupts: it executes the Event Method associated with the specific<br />

event. The name of the method to run is determined by the pin information contained in the GPIO<br />

Interrupt Connection resource.<br />

GPIO-signaled events can also be wake events, just as GPE events can on traditional ACPI<br />

platforms. Designating which events are wake events is done through attributes of the GPIO<br />

Interrupt Connection resource used.<br />

4.1.1.2 Interrupt-based Wake Events<br />

Wake events on HW-reduced ACPI platforms are always caused by an interrupt reaching the<br />

processor. Therefore, there are two requirements for waking the system from a sleep or low-power<br />

idle state, or a device from a low-power state. First, the interrupt line must be Wake-Capable. Wakecapable<br />

interrupts are designed to be able to be delivered to the processor from low-power states.<br />

This implies that it must also cause the processor <strong>and</strong> any required platform hardware to power-up so<br />

that an Interrupt Service Routine can run. Secondly, an OS driver must enable the interrupt before<br />

entering a low-power state, or before OSPM puts the system into a sleep or low-power idle state.<br />

Wake-capable interrupts are designated as such in their Extended Interrupt or GPIO Interrupt<br />

Connection resource descriptor.<br />

4.2 Fixed Hardware Programming Model<br />

Because of the changes needed for migrating legacy hardware to the fixed category, ACPI limits the<br />

features specified by fixed hardware. Fixed hardware features are defined by the following criteria:<br />

• Performance sensitive features<br />

• Features that drivers require during wake<br />

• Features that enable catastrophic OS software failure recovery<br />

ACPI defines register-based interfaces to fixed hardware. CPU clock control <strong>and</strong> the power<br />

management timer are defined as fixed hardware to reduce the performance impact of accessing this<br />

hardware, which will result in more quickly reducing a thermal condition or extending battery life. If<br />

this logic were allowed to reside in PCI configuration space, for example, several layers of drivers<br />

58 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!