Windows ACPI design guide for SoC platforms

The Advanced Configuration and Power Interface Specification, Revision 5.0 (ACPI 5.0 specification), defines a new set of features to support low-power, mobile PCs that are based on System on a Chip (SoC) integrated circuits and that implement the connected standby power model. Starting with Windows 8 and Windows 8.1, Windows supports the new ACPI 5.0 features for SoC-based platforms.

This section contains guidelines for implementing Windows PCs that support the new features in the ACPI 5.0 specification. Firmware developers and system designers can use these guidelines to make sure that Windows runs properly on their platforms. For a list of all Windows firmware requirements, see the documentation for the Windows Certification Program.

In this section

TopicDescription

Overview of Windows support for ACPI 5.0

The ACPI 5.0 specification enables support of SoC-based mobile platforms that run Windows 8 and later, but continues to support many useful features that were introduced in earlier versions Windows. This design guide directs implementers to the parts of ACPI 5.0 that specifically apply to SoC-based platforms, and describes best practices for implementing the SoC-specific features in ACPI to run Windows on these platforms.

ACPI system description tables

Implementation of the Advanced Configuration and Power Interface (ACPI) Hardware Specification is not required on SoC-based platforms, but much of the ACPI Software Specification is (or can be) required. ACPI defines a generic, extensible table-passing mechanism, plus specific tables for describing the platform to the operating system.

Device management namespace objects

The ACPI 5.0 specification defines several types of namespace objects that can be used to manage devices. For example, device identification objects contain identification information for devices that connect to buses, such as I2C, that do not support hardware enumeration of child devices. Other types of namespace objects can specify system resources, describe device dependencies, and indicate which devices can be disabled.

General-purpose I/O (GPIO)

SoC integrated circuits make extensive use of general-purpose I/O (GPIO) pins. For SoC-based platforms, Windows defines a general abstraction for GPIO hardware, and this abstraction requires support from the Advanced Configuration and Power Interface (ACPI) namespace.

Simple peripheral bus (SPB)

SoC integrated circuits make extensive use of simple, low-pin-count and low-power serial interconnects for connecting to platform peripherals. I2C, SPI and UARTs are examples. For SoC-based platforms, Windows provides a general abstraction for Simple Peripheral Bus (SPB) hardware, and this abstraction requires new support from the Advanced Configuration and Power Interface (ACPI) namespace.

Device power management

The ACPI 5.0 specification defines a set of namespace objects to specify device power information for a device. For example, one set of objects can specify the power resources that a device requires in each supported device power state. Another object type can describe the ability of the device to wake from a low-power state in response to hardware events.

ACPI-defined devices

The ACPI 5.0 specification defines a number of device types to represent and control typical platform features. For example, ACPI defines a power button, a sleep button, and system indicators. For SoC-based platforms, Windows provides built-in drivers to support the ACPI-defined devices that are described in this article.

Other ACPI namespace objects

For some specific classes of device, there are requirements for additional Advanced Configuration and Power Interface (ACPI) namespace objects to appear under those devices in the namespace. This section lists the additional objects required for SoC-based platforms.

ACPI device-specific methods

The ACPI 5.0 specification introduces several device-specific methods that are used by Windows to support hardware platforms that use SoC integrated circuits. The topics in this section describe the arguments and return values that are defined for these methods.

 

 

 

Send comments about this topic to Microsoft

Anzeigen:
© 2014 Microsoft