fuchsia.hardware.power

該結構包含的 PowerElementConfiguration 和類型會定義 以及供駕駛人使用的功能。這個 會在設定資訊中反映 以及由設定接收端連接的電源管理系統。

司機應實作 PowerTokenService,以提供他們的 子項。

新增時間:HEAD

PROTOCOLS

裝置

定義於 fuchsia.hardware.power/power.fidl

GetCurrentVoltage

取得 uV 目前的電壓。

要求

名稱類型
index uint32

回應

名稱類型
payload Device_GetCurrentVoltage_Result

GetPowerDomainStatus

取得電力網域狀態

要求

<空白>

回應

名稱類型
payload Device_GetPowerDomainStatus_Result

GetSupportedVoltageRange

取得支援的電壓範圍。最小值和最大值是 micorVolts(uV)

要求

<空白>

回應

名稱類型
payload Device_GetSupportedVoltageRange_Result

ReadPmicCtrlReg

讀取 PMIC 的 ctrl 註冊資料

要求

名稱類型
reg_addr uint32

回應

名稱類型
payload Device_ReadPmicCtrlReg_Result

RegisterPowerDomain

註冊此電源網域的受呼叫者。通話對象的註冊時間直到 已呼叫「UnregisterPowerDomain」。電壓方面的任何電壓變更都會 ,盡可能 如果提到的電壓不在支援的域內電壓範圍(透過 GetSupportVoltageRange),受呼叫者會以支援的電壓範圍註冊。

要求

名稱類型
min_needed_voltage uint32
max_supported_voltage uint32

回應

名稱類型
payload Device_RegisterPowerDomain_Result

RequestVoltage

要求特定電壓。實際電壓為功率域的電壓 考量到所有已註冊系統支援的電壓範圍,然後才轉換至 等人。「電壓」都必須採用 uV 格式

要求

名稱類型
voltage uint32

回應

名稱類型
payload Device_RequestVoltage_Result

UnregisterPowerDomain

取消註冊這個電源網域的受呼叫者。系統不會再將受話者視為 也須依賴這個電力網域

要求

<空白>

回應

名稱類型
payload Device_UnregisterPowerDomain_Result

WritePmicCtrlReg

寫入 PMIC 的 ctrl 註冊資料庫

要求

名稱類型
reg_addr uint32
value uint32

回應

名稱類型
payload Device_WritePmicCtrlReg_Result

PowerTokenProvider

定義於 fuchsia.hardware.power/config.fidl

GetToken

傳回可與 fuchsia.power.broker API 搭配使用的權杖,以便用於 建立駕駛人功率元件與 元素。

要求

<空白>

回應

名稱類型
payload PowerTokenProvider_GetToken_Result

結構

ComponentPowerConfiguration

定義於 fuchsia.hardware.power/config.fidl

元件電源元素的設定。

欄位類型說明預設
power_elements vector<PowerElementConfiguration>[32] 無預設

Device_GetCurrentVoltage_Response

定義於 fuchsia.hardware.power/power.fidl

欄位類型說明預設
current_voltage uint32 無預設

Device_GetPowerDomainStatus_Response

定義於 fuchsia.hardware.power/power.fidl

欄位類型說明預設
status PowerDomainStatus 無預設

Device_GetSupportedVoltageRange_Response

定義於 fuchsia.hardware.power/power.fidl

欄位類型說明預設
min uint32 無預設
max uint32 無預設

Device_ReadPmicCtrlReg_Response

定義於 fuchsia.hardware.power/power.fidl

欄位類型說明預設
value uint32 無預設

Device_RegisterPowerDomain_Response

定義於 fuchsia.hardware.power/power.fidl

<空白>

Device_RequestVoltage_Response

定義於 fuchsia.hardware.power/power.fidl

欄位類型說明預設
actual_voltage uint32 無預設

Device_UnregisterPowerDomain_Response

定義於 fuchsia.hardware.power/power.fidl

<空白>

Device_WritePmicCtrlReg_Response

定義於 fuchsia.hardware.power/power.fidl

<空白>

PowerTokenProvider_GetToken_Response 資源

定義於 fuchsia.hardware.power/config.fidl

欄位類型說明預設
handle handle<event> 無預設

ENUMS

PowerDomainStatus 嚴格

類型:uint8

定義於 fuchsia.hardware.power/power.fidl

名稱說明
1
2

RequirementType strict

類型:uint32

定義於 fuchsia.hardware.power/config.fidl

名稱說明
1
2

SagElement 嚴格

類型:uint32

定義於 fuchsia.hardware.power/config.fidl

名稱說明
1
2
3
4

資料表

網域

定義於 fuchsia.hardware.power/metadata.fidl

電源領域相關資訊。

Ordinal欄位類型說明
id uint32

在相同層級的所有電源網域中,網域 ID 均不得重複。 用於連結屬於同一電力領域的電力消費者。

DomainMetadata

定義於 fuchsia.hardware.power/metadata.fidl

透過 DEVICE_METADATA_POWER_DOMAINS 格式傳遞至中繼資料中的電源核心驅動程式。

Ordinal欄位類型說明
domains vector<Domain>

此電源驅動程式庫所管理的電源網域清單。

LevelTuple

定義於 fuchsia.hardware.power/config.fidl

代表兩個不同電源等級之間的依附元件 PowerElement 秒。

Ordinal欄位類型說明
child_level uint8
parent_level uint8

PowerDependency

定義於 fuchsia.hardware.power/config.fidl

說明兩個欄位的 PowerLevel 之間的關係 PowerElement 秒。childPowerElement 的名稱, 依附於 parentPowerLevel

  • child 是驅動程式庫擁有的 PowerElement 名稱。
  • parent 是驅動程式庫可存取的 PowerElement 名稱
  • level_depschildparent 的層級依附元件對應項目。

Ordinal欄位類型說明
child string[63]
parent ParentElement
level_deps vector<LevelTuple>[128]
strength RequirementType

PowerElement

定義於 fuchsia.hardware.power/config.fidl

PowerLevel 組合和使用者可理解的 ID。PowerLevel 本身 包含來自該層級有效轉場的資訊。

Ordinal欄位類型說明
name string[63]
levels vector<PowerLevel>[128]

PowerElementConfiguration

定義於 fuchsia.hardware.power/config.fidl

包含 PowerElement 說明及其所有依附元件 其他 PowerElement

Ordinal欄位類型說明
element PowerElement
dependencies vector<PowerDependency>[128]

PowerLevel

定義於 fuchsia.hardware.power/config.fidl

裝置可以假設的一組零索引層級。

  • level 是這個 PowerLevel 的零索引層級。
  • name 是這個 PowerLevel 的使用者可理解標籤,僅用於 以及偵錯
  • transitions 說明瞭從此 PowerLevel

Ordinal欄位類型說明
level uint8
name string[63]
transitions vector<Transition>[127]

轉場

定義於 fuchsia.hardware.power/config.fidl

換到電源所需的時間。

  • target_level 是我們要前往的功率。
  • latency_us 是提升到層級所需的時間,以微秒為單位。

Ordinal欄位類型說明
target_level uint8
latency_us uint32

聯合國

Device_GetCurrentVoltage_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_GetCurrentVoltage_Response
err zx/Status

Device_GetPowerDomainStatus_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_GetPowerDomainStatus_Response
err zx/Status

Device_GetSupportedVoltageRange_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_GetSupportedVoltageRange_Response
err zx/Status

Device_ReadPmicCtrlReg_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_ReadPmicCtrlReg_Response
err zx/Status

Device_RegisterPowerDomain_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_RegisterPowerDomain_Response
err zx/Status

Device_RequestVoltage_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_RequestVoltage_Response
err zx/Status

Device_UnregisterPowerDomain_Result strict

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_UnregisterPowerDomain_Response
err zx/Status

Device_WritePmicCtrlReg_Result 嚴格

定義於 fuchsia.hardware.power/power.fidl

OrdinalVariant類型說明
response Device_WritePmicCtrlReg_Response
err zx/Status

ParentElement strict

定義於 fuchsia.hardware.power/config.fidl

另一個元素的父項元素 ID,也就是 另一個元素相依的元素。

OrdinalVariant類型說明
sag SagElement

父項元素是 SAG 的元素之一,而存取權杖應 取得正確的 SAG 相關通訊協定。

instance_name string[63]

父項元素的存取權杖應可從 /svc/fuchsia.hardware.power.PowerTokenProvider/{instance_name}

PowerTokenProvider_GetToken_Result 嚴格 資源

定義於 fuchsia.hardware.power/config.fidl

OrdinalVariant類型說明
response PowerTokenProvider_GetToken_Response
err zx/Status
framework_err internal

觀測站

名稱類型說明
MAX_DEPENDENCIES 128 uint16
MAX_LEVELS 128 uint16

應為 MAX_TRANSITIONS + 1

MAX_NAME_LENGTH 63 uint16
MAX_POWER_ELEMENTS 32 uint16
MAX_TRANSITIONS 127 uint16

這代表我們最多可以擁有 128 個功率, 這個程度會超過 就這樣。

服務

PowerTokenService

定義於 fuchsia.hardware.power/config.fidl

名稱類型傳輸
token_provider fuchsia.hardware.power/PowerTokenProvider 頻道

服務

定義於 fuchsia.hardware.power/power.fidl

名稱類型傳輸
裝置 fuchsia.hardware.power/Device 頻道