协议
伊奥穆
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
GetBti
请求
名称 | 类型 |
---|---|
iommu_index |
uint32
|
bti_id |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Iommu_GetBti_Result
|
PlatformBus
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
AddCompositeNodeSpec
添加具有 |node| 的复合节点规范作为
父节点的父级对象。为此,此方法会执行一些
该方法会添加 |node| 指定的平台设备节点为
平台总线的子级。此外,
fuchsia.driver.framework.ParentSpec
已添加到 |spec|对应
新添加的平台设备节点。复合绑定规则应包含
与 |node| 属性匹配的节以便绑定
与 CompositeNodeSpec
匹配的规则。
请求
名称 | 类型 |
---|---|
node |
Node
|
spec |
fuchsia.driver.framework/CompositeNodeSpec
|
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_AddCompositeNodeSpec_Result
|
GetBoardInfo
板级驱动程序可以使用这些信息来获取有关开发板的信息, 区分所支持的多个开发板
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_GetBoardInfo_Result
|
NodeAdd
使用提供的配置向总线添加新的平台设备节点 按 |node|。平台设备节点是在自己的 驱动程序主机。
请求
名称 | 类型 |
---|---|
node |
Node
|
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_NodeAdd_Result
|
RegisterSysSuspendCallback
注册在平台总线挂起时由平台总线调用的回调。
请求
名称 | 类型 |
---|---|
suspend_cb |
SysSuspend
|
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_RegisterSysSuspendCallback_Result
|
SetBoardInfo
板级驱动程序可能会使用此参数来设置有关开发板的信息。
请求
名称 | 类型 |
---|---|
info |
BoardInfo
|
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_SetBoardInfo_Result
|
SetBootloaderInfo
板驱动程序可能会使用此参数来设置有关引导加载程序的信息。
请求
名称 | 类型 |
---|---|
info |
BootloaderInfo
|
响应
名称 | 类型 |
---|---|
payload |
PlatformBus_SetBootloaderInfo_Result
|
SysSuspend
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
实现此协议的服务器可以注册到该平台 总线以接收关于平台总线挂起原因的回调。
回调
由平台总线在调用挂起钩子时调用。
请求
名称 | 类型 |
---|---|
enable_wake |
bool
|
suspend_reason |
uint8
|
响应
名称 | 类型 |
---|---|
out_status |
zx/Status
|
结构体
Iommu_GetBti_Response 资源
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
bti |
handle<bti>
|
无默认设置 |
PlatformBus_AddCompositeNodeSpec_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
<空>
PlatformBus_GetBoardInfo_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
info |
TemporaryBoardInfo
|
无默认设置 |
PlatformBus_NodeAdd_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
<空>
PlatformBus_RegisterSysSuspendCallback_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
<空>
PlatformBus_SetBoardInfo_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
<空>
PlatformBus_SetBootloaderInfo_Response
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
<空>
TemporaryBoardInfo
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
它最初来自 Banjo fuchsia.hardware.platform.device 库, 但在迁移至 FIDL 之前,会暂时包含在此处。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
vid |
uint32
|
开发板的供应商 ID。 |
无默认设置 |
pid |
uint32
|
开发板的产品 ID。 |
无默认设置 |
board_name |
string[32]
|
启动映像平台 ID 记录中的板名称; (或者通过 x86 平台上的 BIOS 添加)。 |
无默认设置 |
board_revision |
uint32
|
板级修订版本号。 |
无默认设置 |
精英
ZirconInterruptMode 严格
类型:uint32
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
用于创建 Zircon 中断的模式。与 ZX_INTERRUPTMODE* 值同步 来自 //zircon/system/public/zircon/types.h。
名称 | 值 | 说明 |
---|---|---|
默认 |
0 |
|
EDGE_LOW |
2 |
|
EDGE_HIGH |
4 |
|
LEVEL_LOW |
6 |
|
LEVEL_HIGH |
8 |
|
EDGE_BOTH |
10 |
表
BoardInfo
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
由板驱动程序设置的板信息。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
board_name |
string[32]
|
启动映像平台 ID 记录或 x86 平台上的 BIOS 中的板名称。 |
2 |
board_revision |
uint32
|
板级修订版本号。 |
BootMetadata
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
要通过 ZBI 记录从引导加载程序中传递的设备元数据。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
zbi_type |
uint32
|
元数据类型(与引导加载程序元数据的 |
2 |
zbi_extra |
uint32
|
匹配引导加载程序元数据的 |
BootloaderInfo
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
由板驱动程序设置的引导加载程序信息。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
vendor |
string[32]
|
Bti
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
平台设备节点的总线事务发起者 (bti) 的定义。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
iommu_index |
uint32
|
|
2 |
bti_id |
uint32
|
|
3 |
name |
string[128]
|
可用于通过 fuchsia.hardware.platform.device/GetBtiByName. 此字段为空是有效的,但资源将只能 使用 fuchsia.hardware.platform.device/GetBtiById 进行检索。 |
Irq
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
irq |
uint32
|
|
2 |
mode |
ZirconInterruptMode
|
用于设置中断模式的位标记。 |
3 |
properties |
vector<fuchsia.driver.framework/NodeProperty>[64]
|
此中断的片段的属性。仅在 DFv2 中使用。 |
4 |
name |
string[128]
|
可用于通过 检索 irq 的名称 fuchsia.hardware.platform.device/GetInterruptByName. 此字段为空是有效的,但资源将只能 使用 fuchsia.hardware.platform.device/GetInterruptById 检索。 |
元数据
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
表示平台设备中提供的元数据。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
type |
uint32
|
元数据类型。 |
2 |
data |
vector<uint8>
|
元数据字节数。 |
Mmio
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
针对平台设备节点的 MMIO 资源的定义。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
base |
uint64
|
MMIO 区域的物理地址。无需对齐页面。 |
2 |
length |
uint64
|
MMIO 区域的长度(以字节为单位)。无需对齐页面。 |
3 |
name |
string[128]
|
可用于检索 Mmio(使用 fuchsia.hardware.platform.device/GetMmioByName. 此字段为空是有效的,但资源将只能 使用 fuchsia.hardware.platform.device/GetMmioById 检索。 |
节点
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
用于向平台总线添加平台设备节点的参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
name |
string[128]
|
节点的名称。 |
2 |
vid |
uint32
|
|
3 |
pid |
uint32
|
|
4 |
did |
uint32
|
|
5 |
instance_id |
uint32
|
实例 ID。如果为非零值,则对 device-name 有贡献。
|
6 |
mmio |
vector<Mmio>
|
MMIO 区域。 |
7 |
irq |
vector<Irq>
|
打断我。 |
8 |
bti |
vector<Bti>
|
BTI。 |
9 |
smc |
vector<Smc>
|
SMC 调用。 |
10 |
metadata |
vector<Metadata>
|
元数据 |
11 |
boot_metadata |
vector<BootMetadata>
|
启动元数据(来自 ZBI 内容) |
12 |
properties |
vector<fuchsia.driver.framework/NodeProperty>[64]
|
BIND_PLATFORM_DEV_VID、BIND_PLATFORM_DEV_PID 和 BIND_PLATFORM_DEV_DID 之外的其他节点属性。 |
13 |
power_config |
vector<fuchsia.hardware.power/PowerElementConfiguration>[32]
|
Smc
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
安全监视器调用 (SMC) 的定义,SMC 允许从用户空间进行调用。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
service_call_num_base |
uint32
|
该设备有权使用服务呼叫号码进行 SMC 调用,号码范围为 service_call_num_base 更改为 service_call_num_base + count - 1。 |
2 |
count |
uint32
|
|
3 |
exclusive |
bool
|
设备对此 smc 范围拥有独占访问权限。 |
4 |
name |
string[128]
|
可用于检索 smc 的名称 fuchsia.hardware.platform.device/GetSmcByName. 此字段为空是有效的,但资源将只能 使用 fuchsia.hardware.platform.device/GetSmcById 检索。 |
联合体
Iommu_GetBti_Result 严格 资源
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Iommu_GetBti_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_AddCompositeNodeSpec_Result strict
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_AddCompositeNodeSpec_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_GetBoardInfo_Result 严格
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_GetBoardInfo_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_NodeAdd_Result 严格
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_NodeAdd_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_RegisterSysSuspendCallback_Result 严格
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_RegisterSysSuspendCallback_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_SetBoardInfo_Result strict
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_SetBoardInfo_Response
|
|
2 |
err |
zx/Status
|
PlatformBus_SetBootloaderInfo_Result strict
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
PlatformBus_SetBootloaderInfo_Response
|
|
2 |
err |
zx/Status
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_INFO_STRING_LENGTH |
32
|
uint32 |
|
MAX_POWER_CONFIGS |
32
|
uint32 |
服务
服务
在 fuchsia.hardware.platform.bus/platform-bus.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
platform_bus |
fuchsia.hardware.platform.bus/PlatformBus
|
驱动程序 |
伊莫穆 |
fuchsia.hardware.platform.bus/Iommu
|
驱动程序 |