Platform hardware implementation requirements

Windows supports two hardware topologies for the power and charging subsystem. For S3/S4-based systems, only embedded controller-based solutions are allowed. For modern standby systems, the system designer can choose between an embedded controller-based solution and an SPB-based solution. This topic describes the requirements for each of the two topologies. A system must comply with the requirements for the selected topology only.

Each of the following two tables contains a checklist of requirements for the designated hardware topology. For each requirement in the checklist, the column marked "Applies to S3/S4" indicates whether the requirement applies to PCs that implement the traditional ACPI S3 and S4 power states. The column marked "Applies to CS" indicates whether the requirement applies to PCs that implement the modern standby power model, which is supported starting with Windows 8.

For more information about these two hardware topologies, see Battery and power subsystem hardware design.

Embedded controller-based solution

If the platform designer chooses to use an embedded-controller based solution, the requirements that are listed in the following table apply.

Requirement Applies to S3/S4 Applies to CS

The embedded controller (EC) is defined in the ACPI namespace as described in section 12.11 of the ACPI 5.0 specification.

  • Device() object for the EC is present in the ACPI namespace.

Yes

Yes

EC device provides the following control methods and objects:

  • _HID with a value of "PNP0C09".

Yes

Yes

  • _CRS object denoting the I/O resources for the embedded controller.

Yes

Yes

  • _GPE object that defines the SCI for the embedded controller.

Yes

Yes

  • An operation region describing the information contained within the embedded controller that can be accessed by other ACPI control method code in the namespace, including battery status and information methods.

Yes

Yes

Embedded controller solution meets power goals.

  • Nominal power consumed by the EC for power and battery subsystem is below 5 milliwatts.

No

Yes

Simple peripheral bus (SPB)-connected solution

If the platform designer chooses to use an SPB-connected power and battery subsystem solution, the requirements that are listed in the following table apply. This solution is supported starting with Windows 8, but only on modern standby systems.

Requirement Applies to S3/S4 Applies to CS

The embedded controller (EC) is defined in the ACPI namespace as described in section 12.11 of the ACPI 5.0 specification.

  • Device() object for the EC is present in the ACPI namespace.

No

Yes

EC device provides the following control methods and objects:

  • _HID with a value of "PNP0C09".

No

Yes

  • _CRS object denoting the I/O resources for the GPIO controller.

No

Yes

  • For each interrupt, an _AEI object that maps the GPIO to the corresponding ACPI event method.

No

Yes

A Device() node for the SPB controller.

  • _HID with the appropriate hardware ID for the device.

No

Yes

  • _CSR object describing the interrupt and hardware resources of the GPIO controller.

No

No

  • A GenericSerialBus operation region within the scope of the SPB device describing the virtual command registers for the SPB device.

No

Yes

  • Field definitions within the GenericSerialBus operation region. The field definitions allow ASL code outside of the SPB device to access the virtual command registers for the SPB device.

No

Yes