通訊協定
裝置
定義於 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
這個外掛程式能從暫存器寬度的特定 MMIO 偏移 (等於 8、16、32 和 64 位元變化版本) 中讀取登錄資料。|offset| :要讀取的 MMIO 基數偏移。偏移值必須對齊註冊起點。舉例來說,如果是 32 位元,偏移量必須能以 4 除盡,而如果是 64 位元,則偏移量必須能以 8 除盡。如果未達成上述要求,讀取作業就會失敗。|遮罩|:要閱讀的位元遮罩。舉例來說,如要讀取 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 偏移將登錄寫入暫存器。|偏移|:與要寫入的 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 偏移。應與 4 (適用於 32 位元暫存器、64 位元暫存器) 對齊 4 等。 |
3 |
count |
uint32
|
具有此遮罩值的遮罩數量。 |
4 |
overlap_check_on |
bool
|
重疊檢查。如果為 true,系統會檢查這個遮罩中是否有針對所有暫存器定義的重疊位元。如果是,則請勿檢查。如果從缺,系統會解讀為 true。 |
Metadata
定義於 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 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_ReadRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister32_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_ReadRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister64_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_ReadRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_ReadRegister8_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_ReadRegister8_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister16_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_WriteRegister16_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister32_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_WriteRegister32_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister64_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_WriteRegister64_Response
|
|
2 |
err |
zx/Status
|
Device_WriteRegister8_Result 嚴格
在 fuchsia.hardware.registers/register-util.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_WriteRegister8_Response
|
|
2 |
err |
zx/Status
|
遮罩嚴格
在 fuchsia.hardware.registers/metadata.fidl 中定義
序數 | Variant | 類型 | 說明 |
---|---|---|---|
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
|
版本 |