Skip to content

Commit

Permalink
power: update power state id
Browse files Browse the repository at this point in the history
Update power state matching ACPI's device power
management object definition.

Signed-off-by: Joshua Yeong <[email protected]>
  • Loading branch information
Joshua Yeong committed Aug 19, 2024
1 parent 4f91f87 commit 4e0adcd
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/srvgrp-device-power.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ endif::rootpath[]
=== Service Group - *DEVICE_POWER* (servicegroup_id: 0x00008)
This DEVICE_POWER service group provides messages to manage the power states of
a device power domain. This service group is used only for device power
management since System and CPU power management is handled by already defined
management since System and CPU power management is handled by already defined
service groups such as SYSTEM_RESET, SYSTEM_SUSPEND and HART_STATE_MANAGEMENT.

A domain can consist of one device if its power states can be controlled
independently or it may also have multiple devices if they all share the same
A domain can consist of one device if its power states can be controlled
independently or it may also have multiple devices if they all share the same
power control lines and power states can only be changed collectively.
Each domain must support ON and OFF states along with custom power states which
are discoverable. Domains may also have power states which may preserve the
Each domain must support ON and OFF states along with custom power states which
are discoverable. Domains may also have power states which may preserve the
context. The level of context preserved will depends on the level of power state.

Power states for domains will be discovered via supported hardware description
mechanisms where the values for ON and OFF are already fixed and known.
The power state encodes both the power state value and the context preserved or
mechanisms where the values for ON and OFF are already fixed and known.
The power state encodes both the power state value and the context preserved or
lost information corresponding to that state.

The DEVICE_POWER services take a 32-bit integer identifier known as `DOMAIN_ID`
Expand All @@ -45,10 +45,10 @@ and start from 0.
[cols="2,5"]
!===
! *Value* ! *Description*
! 0x0000 ! ON with POWER_STATE[31] = 1
! 0x0000 ! ON with POWER_STATE[31] = 0
! 0x0001 ! _Reserved_
! 0x0002 ! _Reserved_
! 0x0003 ! OFF with POWER_STATE[31] = 0
! 0x0003 ! OFF with POWER_STATE[31] = 1
! 0x0004 - 0x0FFF ! _Reserved_
! 0x1000 - 0xFFFF ! Vendor specific states
!===
Expand Down Expand Up @@ -76,13 +76,13 @@ The platform can optionally support notifications of events that may occur in th
The PuC can send these notification messages to the AP if they are implemented
and the AP has subscribed to them. The supported events are described in
<<device-power-notifications>>.

[#table_devpower_ennotification_request_data]
.Request Data
[cols="1, 2, 1, 7", width=100%, align="center", options="header"]
|===
| Word | Name | Type | Description
| 0 | EVENT_ID | uint32 | Event to be subscribed for
| 0 | EVENT_ID | uint32 | Event to be subscribed for
notification.
|===

Expand Down Expand Up @@ -152,7 +152,7 @@ This service is used to query the attributes of a device power domain.
!===
- Other errors <<table_error_codes>>
| 1 | FLAGS | uint32 | _Reserved_
| 2 | TRANSITION_LATENCY | uint32 | Worst case transition latency
| 2 | TRANSITION_LATENCY | uint32 | Worst case transition latency
of domain from one power state to another, in microseconds (us)
| 3:6 | DEVICE_POWER_DOMAIN_NAME | uint8[16] | Device power domain
name, a NULL-terminated ASCII string up to 16-bytes.
Expand All @@ -168,8 +168,8 @@ This service is used to change the power state of a device power domain.
|===
| Word | Name | Type | Description
| 0 | DOMAIN_ID | uint32 | Device power domain ID
| 1 | POWER_STATE | uint32 | This field indicates the power state to which the power domain should transition. The specific power states and their
meanings may vary depending on the implementation, but generally, they include
| 1 | POWER_STATE | uint32 | This field indicates the power state to which the power domain should transition. The specific power states and their
meanings may vary depending on the implementation, but generally, they include
values such as "ON", "OFF" and vendor specific power state. +
See Power States description in the <<table_devpower_powerstate_data>>.
|===
Expand Down

0 comments on commit 4e0adcd

Please sign in to comment.