該結構包含的 PowerElementConfiguration
和類型會定義
以及供駕駛人使用的功能。這個
會在設定資訊中反映
以及由設定接收端連接的電源管理系統。
司機應實作 PowerTokenService
,以提供他們的
子項。
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
名稱 | 值 | 說明 |
---|---|---|
EXECUTION_STATE |
1 |
|
EXECUTION_RESUME_LATENCY |
2 |
|
WAKE_HANDLING |
3 |
|
APPLICATION_ACTIVITY |
4 |
資料表
網域
定義於 fuchsia.hardware.power/metadata.fidl
電源領域相關資訊。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint32
|
在相同層級的所有電源網域中,網域 ID 均不得重複。 用於連結屬於同一電力領域的電力消費者。 |
DomainMetadata
定義於 fuchsia.hardware.power/metadata.fidl
透過 DEVICE_METADATA_POWER_DOMAINS 格式傳遞至中繼資料中的電源核心驅動程式。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
domains |
vector<Domain>
|
此電源驅動程式庫所管理的電源網域清單。 |
LevelTuple
定義於 fuchsia.hardware.power/config.fidl
代表兩個不同電源等級之間的依附元件
PowerElement
秒。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
child_level |
uint8
|
|
2 |
parent_level |
uint8
|
PowerDependency
定義於 fuchsia.hardware.power/config.fidl
說明兩個欄位的 PowerLevel
之間的關係
PowerElement
秒。child
是 PowerElement
的名稱,
依附於 parent
的 PowerLevel
。
child
是驅動程式庫擁有的PowerElement
名稱。parent
是驅動程式庫可存取的PowerElement
名稱level_deps
是child
至parent
的層級依附元件對應項目。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
child |
string[63]
|
|
2 |
parent |
ParentElement
|
|
3 |
level_deps |
vector<LevelTuple>[128]
|
|
4 |
strength |
RequirementType
|
PowerElement
定義於 fuchsia.hardware.power/config.fidl
PowerLevel
組合和使用者可理解的 ID。PowerLevel
本身
包含來自該層級有效轉場的資訊。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
name |
string[63]
|
|
2 |
levels |
vector<PowerLevel>[128]
|
PowerElementConfiguration
定義於 fuchsia.hardware.power/config.fidl
包含 PowerElement
說明及其所有依附元件
其他 PowerElement
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
element |
PowerElement
|
|
2 |
dependencies |
vector<PowerDependency>[128]
|
PowerLevel
定義於 fuchsia.hardware.power/config.fidl
裝置可以假設的一組零索引層級。
level
是這個PowerLevel
的零索引層級。name
是這個PowerLevel
的使用者可理解標籤,僅用於 以及偵錯transitions
說明瞭從此PowerLevel
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
level |
uint8
|
|
2 |
name |
string[63]
|
|
3 |
transitions |
vector<Transition>[127]
|
轉場
定義於 fuchsia.hardware.power/config.fidl
換到電源所需的時間。
target_level
是我們要前往的功率。latency_us
是提升到層級所需的時間,以微秒為單位。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
target_level |
uint8
|
|
2 |
latency_us |
uint32
|
聯合國
Device_GetCurrentVoltage_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetCurrentVoltage_Response
|
|
2 |
err |
zx/Status
|
Device_GetPowerDomainStatus_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetPowerDomainStatus_Response
|
|
2 |
err |
zx/Status
|
Device_GetSupportedVoltageRange_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetSupportedVoltageRange_Response
|
|
2 |
err |
zx/Status
|
Device_ReadPmicCtrlReg_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_ReadPmicCtrlReg_Response
|
|
2 |
err |
zx/Status
|
Device_RegisterPowerDomain_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_RegisterPowerDomain_Response
|
|
2 |
err |
zx/Status
|
Device_RequestVoltage_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_RequestVoltage_Response
|
|
2 |
err |
zx/Status
|
Device_UnregisterPowerDomain_Result strict
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_UnregisterPowerDomain_Response
|
|
2 |
err |
zx/Status
|
Device_WritePmicCtrlReg_Result 嚴格
定義於 fuchsia.hardware.power/power.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_WritePmicCtrlReg_Response
|
|
2 |
err |
zx/Status
|
ParentElement strict
定義於 fuchsia.hardware.power/config.fidl
另一個元素的父項元素 ID,也就是 另一個元素相依的元素。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
sag |
SagElement
|
父項元素是 SAG 的元素之一,而存取權杖應 取得正確的 SAG 相關通訊協定。 |
2 |
instance_name |
string[63]
|
父項元素的存取權杖應可從
|
PowerTokenProvider_GetToken_Result 嚴格 資源
定義於 fuchsia.hardware.power/config.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
PowerTokenProvider_GetToken_Response
|
|
2 |
err |
zx/Status
|
|
3 |
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
|
頻道 |