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。电源域的任何电压变化都会 考虑了此处发布的 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 中定义

名称说明
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 之间的关系 PowerElementchildPowerElement 的名称, 依赖于 parentPowerLevel

  • child 是驱动程序拥有的 PowerElement 的名称。
  • parent 是驾驶员有权访问的 PowerElement 的名称
  • level_deps 是从 childparent 的级别依赖项的映射。

Ordinal字段类型说明
child string[63]
parent ParentElement
level_deps vector<LevelTuple>[128]
strength RequirementType

PowerElement

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

一组 PowerLevel 和一个直观易懂的标识符。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 中定义

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

Device_GetPowerDomainStatus_Result strict

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

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

Device_GetSupportedVoltageRange_Result 严格

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

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

Device_ReadPmicCtrlReg_Result 严格

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

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

Device_RegisterPowerDomain_Result strict

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

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

Device_RequestVoltage_Result 严格

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

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

Device_UnregisterPowerDomain_Result strict

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

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

Device_WritePmicCtrlReg_Result strict

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

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

ParentElement 采用严格的规范

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

作为另一个元素的父元素的标识符,换句话说 另一个元素所依赖的元素。

Ordinal变体类型说明
sag SagElement

父元素是 SAG 的元素之一,访问令牌应 通过与 SAG 相关的相应协议获得。

instance_name string[63]

父元素的访问令牌应可从以下位置获得: /svc/fuchsia.hardware.power.PowerTokenProvider/{instance_name}

PowerTokenProvider_GetToken_Result 严格的 资源

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

Ordinal变体类型说明
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 频道