Power Resource in ACPI

How ACPI PowerResource objects model shared rails and why wrong _ON/_OFF ordering can break Wi-Fi, camera, Bluetooth, and resume behavior.

2 min read
ACPI Advanced cover

A device does not always own its power rail alone.

A camera, Wi-Fi module, Bluetooth function, sensor hub, or touch controller may depend on a shared regulator, clock, reset line, or GPIO-controlled power enable.

ACPI models some of these shared dependencies with PowerResource.

PowerResource (PWR1, 0x00, 0x0000)
{
    Method (_ON, 0, Serialized)
    {
        Store (One, PWEN)
        Sleep (10)
    }

    Method (_OFF, 0, Serialized)
    {
        Store (Zero, PWEN)
    }
}

Why PowerResource exists

Device power is not only D0/D3. A device may need:

  • a shared voltage rail
  • reset deassertion
  • clock enable
  • GPIO power enable
  • EC command
  • sequencing delay

PowerResource gives AML a way to describe power dependencies and transitions.

Item Value Note
PowerResource() Defines a shared power object Can be referenced by one or more devices.
_ON Turn resource on Usually enables GPIO/regulator/EC-controlled rail.
_OFF Turn resource off Must avoid breaking other active consumers.
_STA Resource status Can report whether the power resource is on.
_PR0 Resources needed for D0 Device references power resources needed when fully on.
_PR3 Resources related to D3 Device references resources for low-power/off state.

Debug Diary: camera missing after resume

Symptom:

Cold boot: camera works
After sleep/resume: camera missing
Driver error: device not responding

Possible ACPI path:

Resume

OS powers device to D0

_PR0 references PWR1

PWR1._ON toggles GPIO power enable

Reset delay too short or wrong GPIO polarity

Camera fails probe

Common Pitfall: shared rail ownership

If two devices share one PowerResource, turning it off for one device can break the other.

Camera and sensor hub share PWR1
Camera enters low power
PWR1._OFF runs
Sensor hub unexpectedly loses power

PowerResource review checklist

Found this useful?

Save it or share it with someone learning firmware, BIOS/UEFI, and embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.