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。电源域的任何电压变化都会 考虑了此处发布的 min_needed_voltage(以 uV 为单位)和 max_supported_voltage(以 uV 为单位)。 如果提到的电压超出网域支持的电压范围(通过调用 GetSupportedVoltageRange),被调用方将使用支持的电压范围进行注册。
请求
名称 | 类型 |
---|---|
min_needed_voltage |
uint32
|
max_supported_voltage |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Device_RegisterPowerDomain_Result
|
RequestVoltage
请求特定电压。Real_voltage 是供电域 在考虑所有已登记的电压范围后, 依赖项。“voltage”应为 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>
|
无默认设置 |
精英
PowerDomainStatus 方法严格
类型:uint8
在 fuchsia.hardware.power/power.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
已停用 |
1 |
|
已启用 |
2 |
RequirementType 严格
类型: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
和一个直观易懂的标识符。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 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_GetCurrentVoltage_Response
|
|
2 |
err |
zx/Status
|
Device_GetPowerDomainStatus_Result strict
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_GetPowerDomainStatus_Response
|
|
2 |
err |
zx/Status
|
Device_GetSupportedVoltageRange_Result 严格
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_GetSupportedVoltageRange_Response
|
|
2 |
err |
zx/Status
|
Device_ReadPmicCtrlReg_Result 严格
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_ReadPmicCtrlReg_Response
|
|
2 |
err |
zx/Status
|
Device_RegisterPowerDomain_Result strict
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_RegisterPowerDomain_Response
|
|
2 |
err |
zx/Status
|
Device_RequestVoltage_Result 严格
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_RequestVoltage_Response
|
|
2 |
err |
zx/Status
|
Device_UnregisterPowerDomain_Result strict
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_UnregisterPowerDomain_Response
|
|
2 |
err |
zx/Status
|
Device_WritePmicCtrlReg_Result strict
在 fuchsia.hardware.power/power.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_WritePmicCtrlReg_Response
|
|
2 |
err |
zx/Status
|
ParentElement 采用严格的规范
在 fuchsia.hardware.power/config.fidl 中定义
作为另一个元素的父元素的标识符,换句话说 另一个元素所依赖的元素。
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
sag |
SagElement
|
父元素是 SAG 的元素之一,访问令牌应 通过与 SAG 相关的相应协议获得。 |
2 |
instance_name |
string[63]
|
父元素的访问令牌应可从以下位置获得:
|
PowerTokenProvider_GetToken_Result 严格的 资源
在 fuchsia.hardware.power/config.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
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
|
频道 |