通訊協定
裝置
定義於 fuchsia.hardware.platform.device/platform-device.fidl
GetBoardInfo
傳回裝置所連接主面板的相關資訊。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Device_GetBoardInfo_Result
|
GetBtiById
傳回指定 |index| 的公車交易發起者 (bti) 控制代碼。
- 如果 |index| 等於或大於 btis 數量,則為「
ZX_ERR_OUT_OF_RANGE
」錯誤。 - 如果擷取的 bti 無效,傳回
ZX_ERR_INTERNAL
錯誤。
要求
名稱 | 類型 |
---|---|
index |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetBtiById_Result
|
GetBtiByName
傳回給定的 |name| 的公車交易發起者 (bti) 控制代碼。
- 如果 |name| 是空字串,則傳回
ZX_ERR_INVALID_ARGS
錯誤。 - 找不到 |name| 時,發生錯誤
ZX_ERR_OUT_OF_RANGE
。 - 如果擷取的 bti 無效,傳回
ZX_ERR_INTERNAL
錯誤。
要求
名稱 | 類型 |
---|---|
name |
string[128]
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetBtiByName_Result
|
GetInterruptById
傳回特定 |index| 的中斷控制代碼。|flags| 會以 |options| 參數的形式轉送至 zx_interrupt_create
。
- 如果 |index| 等於或大於中斷次數,則為「
ZX_ERR_OUT_OF_RANGE
」錯誤。 - 如果擷取的中斷事件無效,則傳回
ZX_ERR_INTERNAL
錯誤。
要求
名稱 | 類型 |
---|---|
index |
uint32
|
flags |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetInterruptById_Result
|
GetInterruptByName
傳回給定的 |name| 的中斷控制代碼。|flags| 會以 |options| 參數的形式轉送至 zx_interrupt_create
。
- 如果 |name| 是空字串,則傳回
ZX_ERR_INVALID_ARGS
錯誤。 - 找不到 |name| 時,發生錯誤
ZX_ERR_OUT_OF_RANGE
。 - 如果擷取的中斷事件無效,則傳回
ZX_ERR_INTERNAL
錯誤。
要求
名稱 | 類型 |
---|---|
name |
string[128]
|
flags |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetInterruptByName_Result
|
GetMmioById
傳回指定 |index| 的記憶體對應 IO (MMIO) 資源。
- 如果 |index| 等於或大於 mmios 數量,就會顯示「
ZX_ERR_OUT_OF_RANGE
」錯誤。 - 如果擷取的 mmio 無效,則為
ZX_ERR_INTERNAL
錯誤。 - 如果擷取的 mmio 基本位址為 NULL,則傳回錯誤
ZX_ERR_NOT_FOUND
。
要求
名稱 | 類型 |
---|---|
index |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetMmioById_Result
|
GetMmioByName
傳回指定 |name| 的記憶體對應 IO (MMIO) 資源。
- 如果 |name| 是空字串,則傳回
ZX_ERR_INVALID_ARGS
錯誤。 - 找不到 |name| 時,發生錯誤
ZX_ERR_OUT_OF_RANGE
。 - 如果擷取的 mmio 無效,則為
ZX_ERR_INTERNAL
錯誤。 - 如果擷取的 mmio 基本位址為 NULL,則傳回錯誤
ZX_ERR_NOT_FOUND
。
要求
名稱 | 類型 |
---|---|
name |
string[128]
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetMmioByName_Result
|
GetNodeDeviceInfo
傳回驅動程式庫所繫結節點的裝置相關資訊。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Device_GetNodeDeviceInfo_Result
|
GetPowerConfiguration
傳回驅動程式庫所繫結裝置的電源設定。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
payload |
Device_GetPowerConfiguration_Result
|
GetSmcById
傳回指定 |index| 的安全監控呼叫 (smc) 控制代碼。
- 如果 |index| 等於或大於 smcs 數量,系統會顯示「
ZX_ERR_OUT_OF_RANGE
」錯誤。 - 如果擷取的 smc 無效,傳回
ZX_ERR_INTERNAL
錯誤訊息。
要求
名稱 | 類型 |
---|---|
index |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetSmcById_Result
|
GetSmcByName
傳回給定的 |name| 安全監控呼叫 (smc) 控制代碼。
- 如果 |name| 是空字串,則傳回
ZX_ERR_INVALID_ARGS
錯誤。 - 找不到 |name| 時,發生錯誤
ZX_ERR_OUT_OF_RANGE
。 - 如果擷取的 smc 無效,傳回
ZX_ERR_INTERNAL
錯誤訊息。
要求
名稱 | 類型 |
---|---|
name |
string[128]
|
回應
名稱 | 類型 |
---|---|
payload |
Device_GetSmcByName_Result
|
結構化
Device_GetBtiById_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
bti |
handle<bti>
|
無預設 |
Device_GetBtiByName_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
bti |
handle<bti>
|
無預設 |
Device_GetInterruptById_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
irq |
handle<interrupt>
|
無預設 |
Device_GetInterruptByName_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
irq |
handle<interrupt>
|
無預設 |
Device_GetPowerConfiguration_Response
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
config |
vector<fuchsia.hardware.power/PowerElementConfiguration>[32]
|
無預設 |
Device_GetSmcById_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
smc |
handle<resource>
|
無預設 |
Device_GetSmcByName_Response 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
smc |
handle<resource>
|
無預設 |
資料表
BoardInfo
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
vid |
uint32
|
董事會的供應商 ID。 |
2 |
pid |
uint32
|
主面板的產品 ID。 |
3 |
board_name |
string[32]
|
開機映像檔平台 ID 記錄中的電路板名稱 (或是 x86 平台上的 BIOS 中)。 |
4 |
board_revision |
uint32
|
主面板專屬修訂版本編號。 |
Mmio 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
offset |
zx/Off
|
VMO 開始 mmio 區域開始時的偏移值。 |
2 |
size |
uint64
|
mmio 區域的大小。 |
3 |
vmo |
handle<vmo>
|
應對應到驅動程式位址空間的虛擬記憶體物件。 |
NodeDeviceInfo
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
vid |
uint32
|
供應商 ID (在 //zircon/system/ulib/ddk-platform-defs/include/lib/ddk/platform-defs.h 中指定)。 |
2 |
pid |
uint32
|
平台 ID,由 //zircon/system/ulib/ddk-platform-defs/include/lib/ddk/platform-defs 指定。 |
3 |
did |
uint32
|
裝置 ID,就在 //zircon/system/ulib/ddk-platform-defs/include/lib/ddk/platform-defs 中指定。 |
4 |
mmio_count |
uint32
|
提供給裝置的 MMIO 區域數量。 |
5 |
irq_count |
uint32
|
提供給這部裝置的干擾次數。 |
6 |
bti_count |
uint32
|
提供給本裝置的客運交易次數。 |
7 |
smc_count |
uint32
|
提供給這部裝置的安全監控通話資源數量。 |
8 |
metadata_count |
uint32
|
與這部裝置相關聯的中繼資料 blob 數量。 |
9 |
name |
string[32]
|
為這部裝置提供的主面板驅動程式庫名稱。 |
聯合國
Device_GetBoardInfo_Result 嚴格
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
BoardInfo
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetBtiById_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetBtiById_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetBtiByName_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetBtiByName_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetInterruptById_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetInterruptById_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetInterruptByName_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetInterruptByName_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetMmioById_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Mmio
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetMmioByName_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Mmio
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetNodeDeviceInfo_Result 嚴格
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
NodeDeviceInfo
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetPowerConfiguration_Result 嚴格
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetPowerConfiguration_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetSmcById_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetSmcById_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Device_GetSmcByName_Result 嚴格 資源
定義於 fuchsia.hardware.platform.device/platform-device.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Device_GetSmcByName_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
服務
服務
定義於 fuchsia.hardware.platform.device/platform-device.fidl
名稱 | 類型 | 傳輸 |
---|---|---|
device |
fuchsia.hardware.platform.device/Device
|
版本 |