协议
设备
在 fuchsia.hardware.registers/register-util.fidl 中定义
ReadRegister16
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint16
|
响应
名称 | 类型 |
---|---|
payload |
Device_ReadRegister16_Result
|
ReadRegister32
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Device_ReadRegister32_Result
|
ReadRegister64
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
Device_ReadRegister64_Result
|
ReadRegister8
从寄存器宽度等于 8、16、32 和 64 位变体的指定 MMIO 偏移量从寄存器中读取数据。 |offset| :相对于要读取的 MMIO 基数的偏移量。偏移量必须与寄存器的开头对齐。例如,对于 32 位,偏移量必须能被 4 整除;而对于 64 位,偏移量必须能被 8 整除。如果不满足此条件,读取将失败。 |mask|:要读取的位的掩码。例如,如需读取 32 位寄存器中的较低 2 个字节的数据,则掩码应为 0x0000FFFF。@Returns: |value| :指定地址处的寄存器值。
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint8
|
响应
名称 | 类型 |
---|---|
payload |
Device_ReadRegister8_Result
|
WriteRegister16
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint16
|
value |
uint16
|
响应
名称 | 类型 |
---|---|
payload |
Device_WriteRegister16_Result
|
WriteRegister32
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint32
|
value |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Device_WriteRegister32_Result
|
WriteRegister64
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint64
|
value |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
Device_WriteRegister64_Result
|
WriteRegister8
以寄存器宽度等于 8、16、32 和 64 位变体的指定 MMIO 偏移量向寄存器写入数据 |offset|:从要写入的 MMIO 基数的偏移量。偏移量必须与寄存器的开头对齐。例如,对于 32 位,偏移量必须能被 4 整除;而对于 64 位,偏移量必须能被 8 整除。如果不满足此要求,写入将失败。 |mask|:要写入的位的掩码。例如,如需向 32 位寄存器中较低的 2 个字节写入数据,则掩码应为 0x0000FFFF。|value| :指定地址处的寄存器值。
请求
名称 | 类型 |
---|---|
offset |
uint64
|
mask |
uint8
|
value |
uint8
|
响应
名称 | 类型 |
---|---|
payload |
Device_WriteRegister8_Result
|
结构体
Device_ReadRegister16_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
value |
uint16
|
无默认设置 |
Device_ReadRegister32_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
value |
uint32
|
无默认设置 |
Device_ReadRegister64_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
value |
uint64
|
无默认设置 |
Device_ReadRegister8_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
value |
uint8
|
无默认设置 |
Device_WriteRegister16_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
<EMPTY>
Device_WriteRegister32_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
<EMPTY>
Device_WriteRegister64_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
<EMPTY>
Device_WriteRegister8_Response
在 fuchsia.hardware.registers/register-util.fidl 中定义
<EMPTY>
表
MaskEntry
在 fuchsia.hardware.registers/metadata.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
mask |
Mask
|
|
2 |
mmio_offset |
uint64
|
掩码范围的 MMIO 偏移量。 对于 32 位寄存器,应与 4 对齐;对于 64 位寄存器,应对齐到 8,依此类推。 |
3 |
count |
uint32
|
具有此掩码值的遮罩数量。 |
4 |
overlap_check_on |
bool
|
重叠检查。 如果为 true,则检查此掩码是否存在为所有寄存器定义的重叠位。 如果为 false,则不检查。 如果不存在,则解释为 true。 |
元数据
在 fuchsia.hardware.registers/metadata.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
registers |
vector<RegistersMetadataEntry>
|
寄存器元数据的矢量。每个要发布的寄存器各对应一个。 |
RegistersMetadataEntry
在 fuchsia.hardware.registers/metadata.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
name |
string[32]
|
用于绑定的名称(BIND_REGISTER_NAME 设备属性)。 |
2 |
mmio_id |
uint32
|
与注册对应的 MMIO 的 MMIO ID。 |
3 |
masks |
vector<MaskEntry>
|
掩码的运行长度编码列表。 应按照从基本地址开始的顺序。遮罩应属于同一类型。 |
联合体
Device_ReadRegister16_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_ReadRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister32_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_ReadRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister64_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_ReadRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister8_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_ReadRegister8_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister16_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_WriteRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister32_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_WriteRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister64_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_WriteRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister8_Result 严格
在 fuchsia.hardware.registers/register-util.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Device_WriteRegister8_Response
|
|
2 |
err |
zx/Status
|
戴口罩严格
在 fuchsia.hardware.registers/metadata.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
r8 |
uint8
|
|
2 |
r16 |
uint16
|
|
3 |
r32 |
uint32
|
|
4 |
r64 |
uint64
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_NAME_LENGTH |
32
|
uint32 |
|
服务
服务
在 fuchsia.hardware.registers/register-util.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
设备 |
fuchsia.hardware.registers/Device
|
频道 |