fuchsia.hardware.registers

新增時間:HEAD

通訊協定

裝置

定義於 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

序數廣闊類型說明
mask Mask
mmio_offset uint64

遮罩範圍的 MMIO 偏移。應與 4 (適用於 32 位元暫存器、64 位元暫存器) 對齊 4 等。

count uint32

具有此遮罩值的遮罩數量。

overlap_check_on bool

重疊檢查。如果為 true,系統會檢查這個遮罩中是否有針對所有暫存器定義的重疊位元。如果是,則請勿檢查。如果從缺,系統會解讀為 true。

Metadata

定義於 fuchsia.hardware.registers/metadata.fidl

序數廣闊類型說明
registers vector<RegistersMetadataEntry>

暫存器中繼資料。每個暫存器要發布一個。

RegistersMetadataEntry

定義於 fuchsia.hardware.registers/metadata.fidl

序數廣闊類型說明
name string[32]

繫結用途的名稱 (BIND_REGISTER_NAME 裝置屬性)。

mmio_id uint32

要註冊的 MMIO MMIO ID。

masks vector<MaskEntry>

已執行長度已編碼的遮罩清單。必須以基本地址為順序排列。遮罩應全部屬於相同類型。

聯合國

Device_ReadRegister16_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_ReadRegister16_Response
err zx/Status

Device_ReadRegister32_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_ReadRegister32_Response
err zx/Status

Device_ReadRegister64_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_ReadRegister64_Response
err zx/Status

Device_ReadRegister8_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_ReadRegister8_Response
err zx/Status

Device_WriteRegister16_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_WriteRegister16_Response
err zx/Status

Device_WriteRegister32_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_WriteRegister32_Response
err zx/Status

Device_WriteRegister64_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_WriteRegister64_Response
err zx/Status

Device_WriteRegister8_Result 嚴格

fuchsia.hardware.registers/register-util.fidl 中定義

序數Variant類型說明
response Device_WriteRegister8_Response
err zx/Status

遮罩嚴格

fuchsia.hardware.registers/metadata.fidl 中定義

序數Variant類型說明
r8 uint8
r16 uint16
r32 uint32
r64 uint64

觀測站

名稱物超所值類型說明
MAX_NAME_LENGTH 32 uint32

name 字串的長度上限。

服務

服務

fuchsia.hardware.registers/register-util.fidl 中定義

名稱類型傳輸
裝置 fuchsia.hardware.registers/Device 版本