通訊協定
裝置
定義於 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 | 版本 |