fuchsia.hardware.power

該結構體內含的 PowerElementConfiguration 和類型定義了驅動程式可從白板驅動程式取得的設定。這類設定資訊會由該設定接收者反映在電源管理系統中。

PowerTokenService 是應實作的駕駛員,讓孩子能夠存取驅動程式庫的電源元素。

已新增:HEAD

通訊協定

裝置

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

GetCurrentVoltage

取得 uV 目前的電壓。

要求

名稱類型
index uint32

回應

名稱類型
payload Device_GetCurrentVoltage_Result

GetPowerDomainStatus

取得電力網域狀態

要求

<EMPTY>

回應

名稱類型
payload Device_GetPowerDomainStatus_Result

GetSupportedVoltageRange

可取得支援的電壓範圍 (分鐘) 和最大電壓範圍為 micorVolts(uV)

要求

<EMPTY>

回應

名稱類型
payload Device_GetSupportedVoltageRange_Result

ReadPmicCtrlReg

讀取 PMIC 的 ctrl 註冊資料庫

要求

名稱類型
reg_addr uint32

回應

名稱類型
payload Device_ReadPmicCtrlReg_Result

RegisterPowerDomain

註冊這個權威網域的受呼叫者。呼叫端會持續註冊,直到呼叫 UnregisterPowerDomain 為止。任何對電源域的電壓,都會將此處發布的 min_needed_voltage(in uV) 和 max_supported_voltage(in uV) 納入考量。如果上述的電壓超出支援的網域電壓範圍(可透過呼叫 GetSupportedVoltageRange 取得),受呼叫端將註冊支援電壓範圍。

要求

名稱類型
min_needed_voltage uint32
max_supported_voltage uint32

回應

名稱類型
payload Device_RegisterPowerDomain_Result

RequestVoltage

要求特定電壓。Real_voltage 是指所有已註冊附屬的受支援電壓範圍後,電源域轉的電壓。「電壓」應為 uV。

要求

名稱類型
voltage uint32

回應

名稱類型
payload Device_RequestVoltage_Result

UnregisterPowerDomain

取消註冊這個權威網域的受呼叫者。系統不會將受呼叫者視為依附於此電力網域。

要求

<EMPTY>

回應

名稱類型
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 搭配使用的權杖,以便在此驅動程式庫的電源元素和與此權杖相關聯的電源元素之間建立關係。

要求

<EMPTY>

回應

名稱類型
payload PowerTokenProvider_GetToken_Result

結構化

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

<EMPTY>

Device_RequestVoltage_Response

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

廣闊類型說明預設
actual_voltage uint32 無預設

Device_UnregisterPowerDomain_Response

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

<EMPTY>

Device_WritePmicCtrlReg_Response

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

<EMPTY>

PowerTokenProvider_GetToken_Response 資源

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

廣闊類型說明預設
handle handle<event> 無預設
name string[63] 無預設

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

電源網域相關資訊。

序數廣闊類型說明
id uint32

同一層級的所有電源網域皆須擁有專屬的網域 ID。 用於與屬於相同電力網域的電力消費者建立關聯。

DomainMetadata

fuchsia.hardware.power/metadata.fidl

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

序數廣闊類型說明
domains vector<Domain>

要由這個電源驅動程式庫管理的電源網域清單。

LevelTuple

fuchsia.hardware.power/config.fidl

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

序數廣闊類型說明
child_level uint8
parent_level uint8

PowerDependency

fuchsia.hardware.power/config.fidl

說明兩個 PowerElementPowerLevel 之間的關係。childPowerElement 的名稱,其中包含依附於 parentPowerLevel。+ child 是驅動程式庫擁有的 PowerElement 名稱。+ parentPowerElement 的名稱,驅動程式庫可存取 + level_deps,是從 childparent 的層級依附元件對應。

序數廣闊類型說明
child string[63]
parent ParentElement
level_deps vector<LevelTuple>[128]
strength RequirementType

PowerElement

fuchsia.hardware.power/config.fidl

一組 PowerLevel 和人類可讀的 ID。PowerLevel 本身包含自該層級的有效轉場資訊。

序數廣闊類型說明
name string[63]
levels vector<PowerLevel>[128]

PowerElementConfiguration

fuchsia.hardware.power/config.fidl

包含 PowerElement 說明,以及其在其他 PowerElement 上的任何依附元件。

序數廣闊類型說明
element PowerElement
dependencies vector<PowerDependency>[128]

PowerLevel

fuchsia.hardware.power/config.fidl

裝置可以假設的一組零索引等級。+ level 是此 PowerLevel 的零索引等級。+ name 是這個 PowerLevel 的人類可讀標籤,僅供偵錯使用。+ transitions 說明瞭從這個 PowerLevel 轉換的有效等級。

序數廣闊類型說明
level uint8
name string[63]
transitions vector<Transition>[127]

轉場

fuchsia.hardware.power/config.fidl

移至功率水平所花的時間。 + target_level 是我們要改用的功率等級。+ latency_us 是移至關卡所需的時間 (以微秒為單位)。

序數廣闊類型說明
target_level uint8
latency_us uint32

聯合國

Device_GetCurrentVoltage_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_GetCurrentVoltage_Response
err zx/Status

Device_GetPowerDomainStatus_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_GetPowerDomainStatus_Response
err zx/Status

Device_GetSupportedVoltageRange_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_GetSupportedVoltageRange_Response
err zx/Status

Device_ReadPmicCtrlReg_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_ReadPmicCtrlReg_Response
err zx/Status

Device_RegisterPowerDomain_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_RegisterPowerDomain_Response
err zx/Status

Device_RequestVoltage_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_RequestVoltage_Response
err zx/Status

Device_UnregisterPowerDomain_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_UnregisterPowerDomain_Response
err zx/Status

Device_WritePmicCtrlReg_Result 嚴格

fuchsia.hardware.power/power.fidl

序數Variant類型說明
response Device_WritePmicCtrlReg_Response
err zx/Status

父項元素嚴格

fuchsia.hardware.power/config.fidl

序數Variant類型說明
name string[63]
sag SagElement

PowerTokenProvider_GetToken_Result 嚴格 資源

fuchsia.hardware.power/config.fidl

序數Variant類型說明
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_TRANSITIONS 127 uint16

這表示我們最多可以有 128 個電量,好像還不夠。

服務

PowerTokenService

fuchsia.hardware.power/config.fidl

名稱類型傳輸
token_provider fuchsia.hardware.power/PowerTokenProvider 版本

服務

fuchsia.hardware.power/power.fidl

名稱類型傳輸
device fuchsia.hardware.power/Device 版本