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(以 uV 为单位)和 max_supported_voltage(以 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] 无默认取景方式

枚举

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 中定义

名称说明
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 的名称。+ parent 是驱动程序有权访问的 PowerElement 的名称 + level_deps 是从 childparent 的级别依赖项映射。

序数野战类型说明
child string[63]
parent ParentElement
level_deps vector<LevelTuple>[128]
strength RequirementType

PowerElement

fuchsia.hardware.power/config.fidl 中定义

一组 PowerLevel 和一个人类可读的标识符。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]

Transition

fuchsia.hardware.power/config.fidl 中定义

进入能量等级所需的时间。 + target_level 是我们将要转移到的功率等级。 + latency_us 是进入该级别所需的时间(以微秒为单位)。

序数野战类型说明
target_level uint8
latency_us uint32

联合

Device_GetCurrentVoltage_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_GetCurrentVoltage_Response
err zx/Status

Device_GetPowerDomainStatus_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_GetPowerDomainStatus_Response
err zx/Status

Device_GetSupportedVoltageRange_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_GetSupportedVoltageRange_Response
err zx/Status

Device_ReadPmicCtrlReg_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_ReadPmicCtrlReg_Response
err zx/Status

Device_RegisterPowerDomain_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_RegisterPowerDomain_Response
err zx/Status

Device_RequestVoltage_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_RequestVoltage_Response
err zx/Status

Device_UnregisterPowerDomain_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_UnregisterPowerDomain_Response
err zx/Status

Device_WritePmicCtrlReg_Result 严格

fuchsia.hardware.power/power.fidl 中定义

序数变体类型说明
response Device_WritePmicCtrlReg_Response
err zx/Status

ParentElement 严格

fuchsia.hardware.power/config.fidl 中定义

序数变体类型说明
name string[63]
sag SagElement

PowerTokenProvider_GetToken_Result 严格 资源

fuchsia.hardware.power/config.fidl 中定义

序数变体类型说明
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 中定义

名称类型传输
设备 fuchsia.hardware.power/Device 频道