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.

ACPI Software Programming Model<br />

5.6.3 Fixed Event H<strong>and</strong>ling<br />

When OSPM receives a fixed ACPI event, it directly reads <strong>and</strong> h<strong>and</strong>les the event registers itself. The<br />

following table lists the fixed ACPI events. For a detailed specification of each event, see Section 4,<br />

“ACPI Hardware <strong>Specification</strong>.”<br />

Table 5-141 Fixed ACPI Events<br />

Event<br />

<strong>Power</strong><br />

management<br />

timer carry bit<br />

set.<br />

<strong>Power</strong> button<br />

signal<br />

Sleep button<br />

signal<br />

RTC alarm<br />

Wake status<br />

System bus<br />

master request<br />

Global release<br />

status<br />

Comment<br />

For more information, see the description of the TMR_STS <strong>and</strong> TMR_EN bits of the PM1x<br />

fixed register block in Section 4.8.3.1, “PM1 Event Grouping,” as well as the TMR_VAL<br />

register in the PM_TMR_BLK in Section 4.8.3.3, “<strong>Power</strong> Management Timer.”<br />

A power button can be supplied in two ways. One way is to simply use the fixed status bit,<br />

<strong>and</strong> the other uses the declaration of an ACPI power device <strong>and</strong> AML code to determine<br />

the event. For more information about the alternate-device based power button, see<br />

Section 4.8.2.2.1.2, Control Method <strong>Power</strong> Button.”<br />

Notice that during the S0 state, both the power <strong>and</strong> sleep buttons merely notify OSPM<br />

that they were pressed.<br />

If the system does not have a sleep button, it is recommended that OSPM use the power<br />

button to initiate sleep operations as requested by the user.<br />

A sleep button can be supplied in one of two ways. One way is to simply use the fixed<br />

status button. The other way requires the declaration of an ACPI sleep button device <strong>and</strong><br />

AML code to determine the event.<br />

ACPI-defines an RTC wake alarm function with a minimum of one-month granularity. The<br />

ACPI status bit for the device is optional. If the ACPI status bit is not present, the RTC<br />

status can be used to determine when an alarm has occurred. For more information, see<br />

the description of the RTC_STS <strong>and</strong> RTC_EN bits of the PM1x fixed register block in<br />

Section 4.8.3.1, “PM1 Event Grouping.”<br />

The wake status bit is used to determine when the sleeping state has been completed.<br />

For more information, see the description of the WAK_STS <strong>and</strong> WAK_EN bits of the<br />

PM1x fixed register block in Section 4.8.3.1, “PM1 Event Grouping.”<br />

The bus-master status bit provides feedback from the hardware as to when a bus master<br />

cycle has occurred. This is necessary for supporting the processor C3 power savings<br />

state. For more information, see the description of the BM_STS bit of the PM1x fixed<br />

register block in Section 4.8.3.1, “PM1 Event Grouping.”<br />

This status is raised as a result of the Global Lock protocol, <strong>and</strong> is h<strong>and</strong>led by OSPM as<br />

part of Global Lock synchronization. For more information, see the description of the<br />

GBL_STS bit of the PM1x fixed register block in Section 4.8.3.1, “PM1 Event Grouping.”<br />

For more information on Global Lock, see Section 5.2.10.1, “Global Lock.”<br />

5.6.4 General-Purpose Event H<strong>and</strong>ling<br />

When OSPM receives a general-purpose event, it either passes control to an ACPI-aware driver, or<br />

uses an OEM-supplied control method to h<strong>and</strong>le the event. An OEM can implement up to 128<br />

general-purpose event inputs in hardware per GPE block, each as either a level or edge event. It is<br />

also possible to implement a single 256-pin block as long as it’s the only block defined in the<br />

system.<br />

Version 6.0 243

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

Saved successfully!

Ooh no, something went wrong!