PROTOCOLS
Device
Defined in fuchsia.hardware.registers/register-util.fidl
ReadRegister16
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint16
|
Response
Name | Type |
---|---|
payload |
Device_ReadRegister16_Result
|
ReadRegister32
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint32
|
Response
Name | Type |
---|---|
payload |
Device_ReadRegister32_Result
|
ReadRegister64
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint64
|
Response
Name | Type |
---|---|
payload |
Device_ReadRegister64_Result
|
ReadRegister8
Reads from the register from the specified MMIO offset in register width equal to 8, 16, 32, and 64 bit variants. |offset| : Offset from base of MMIO to read from. Offset must be aligned to beginning of register. For example, for 32 bits, offset must be divisible by 4, and for 64 bits, offset must be divisible by 8. If this is not satisfied, read will fail. |mask| : Mask of bits to read. For example, to read the lower 2 bytes of data in a 32 bit register, mask should be 0x0000FFFF. @Returns: |value| : Value of register at the specified address.
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint8
|
Response
Name | Type |
---|---|
payload |
Device_ReadRegister8_Result
|
WriteRegister16
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint16
|
value |
uint16
|
Response
Name | Type |
---|---|
payload |
Device_WriteRegister16_Result
|
WriteRegister32
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint32
|
value |
uint32
|
Response
Name | Type |
---|---|
payload |
Device_WriteRegister32_Result
|
WriteRegister64
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint64
|
value |
uint64
|
Response
Name | Type |
---|---|
payload |
Device_WriteRegister64_Result
|
WriteRegister8
Writes to the register at the specified MMIO offset in register width equal to 8, 16, 32, and 64 bit variants |offset| : Offset from base of MMIO to write to. Offset must be aligned to beginning of register. For example, for 32 bits, offset must be divisible by 4, and for 64 bits, offset must be divisible by 8. If this is not satisfied, write will fail. |mask| : Mask of bits to write. For example, to write to the lower 2 bytes of data in a 32 bit register, mask should be 0x0000FFFF. |value| : Value of register at the specified address.
Request
Name | Type |
---|---|
offset |
uint64
|
mask |
uint8
|
value |
uint8
|
Response
Name | Type |
---|---|
payload |
Device_WriteRegister8_Result
|
STRUCTS
Device_ReadRegister16_Response
Defined in fuchsia.hardware.registers/register-util.fidl
Field | Type | Description | Default |
---|---|---|---|
value |
uint16
|
No default |
Device_ReadRegister32_Response
Defined in fuchsia.hardware.registers/register-util.fidl
Field | Type | Description | Default |
---|---|---|---|
value |
uint32
|
No default |
Device_ReadRegister64_Response
Defined in fuchsia.hardware.registers/register-util.fidl
Field | Type | Description | Default |
---|---|---|---|
value |
uint64
|
No default |
Device_ReadRegister8_Response
Defined in fuchsia.hardware.registers/register-util.fidl
Field | Type | Description | Default |
---|---|---|---|
value |
uint8
|
No default |
Device_WriteRegister16_Response
Defined in fuchsia.hardware.registers/register-util.fidl
<EMPTY>
Device_WriteRegister32_Response
Defined in fuchsia.hardware.registers/register-util.fidl
<EMPTY>
Device_WriteRegister64_Response
Defined in fuchsia.hardware.registers/register-util.fidl
<EMPTY>
Device_WriteRegister8_Response
Defined in fuchsia.hardware.registers/register-util.fidl
<EMPTY>
TABLES
MaskEntry
Defined in fuchsia.hardware.registers/metadata.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
mask |
Mask
|
|
2 |
mmio_offset |
uint64
|
MMIO offset of mask range. Should be aligned to 4 for 32-bit registers, 8 for 64-bit registers, etc. |
3 |
count |
uint32
|
Number of masks with this mask value. |
4 |
overlap_check_on |
bool
|
Overlap check. If true, checks this mask for overlapping bits defined for all registers. If false, doesn't check. If absent, interpreted as true. |
Metadata
Defined in fuchsia.hardware.registers/metadata.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
registers |
vector<RegistersMetadataEntry>
|
Vector of Registers metadata. One for each register to be published. |
RegistersMetadataEntry
Defined in fuchsia.hardware.registers/metadata.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
string:32
|
Name for binding purposes (BIND_REGISTER_NAME device property). |
2 |
mmio_id |
uint32
|
MMIO ID for MMIO corresponding to register. |
3 |
masks |
vector<MaskEntry>
|
A run length encoded list of masks. Should be in order starting from base address. Masks should all be of the same type. |
UNIONS
Device_ReadRegister16_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_ReadRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister32_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_ReadRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister64_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_ReadRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister8_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_ReadRegister8_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister16_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_WriteRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister32_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_WriteRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister64_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_WriteRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister8_Result strict
Defined in fuchsia.hardware.registers/register-util.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Device_WriteRegister8_Response
|
|
2 |
err |
zx/Status
|
Mask strict
Defined in fuchsia.hardware.registers/metadata.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
r8 |
uint8
|
|
2 |
r16 |
uint16
|
|
3 |
r32 |
uint32
|
|
4 |
r64 |
uint64
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_NAME_LENGTH |
32
|
uint32 |
Maximum length of a |
SERVICES
Service
Defined in fuchsia.hardware.registers/register-util.fidl
Name | Type | Transport |
---|---|---|
device |
fuchsia.hardware.registers/Device
|
Channel |