fuchsia.hardware.sdio

新增時間:HEAD

PROTOCOLS

裝置

定義於 fuchsia.hardware.sdio/sdio.fidl

AckInBandIntr

如上所示。開始等待中斷後,用戶端應呼叫 AckInBandIntr() 物件,以防這個函式有待處理的頻內中斷問題。

要求

<空白>

DisableFn

要求

<空白>

回應

名稱類型
payload Device_DisableFn_Result

DisableFnIntr

要求

<空白>

回應

名稱類型
payload Device_DisableFnIntr_Result

DoRwByte

要求

名稱類型
write bool
addr uint32
write_byte uint8

回應

名稱類型
payload Device_DoRwByte_Result

DoRwTxn

用戶端負責執行下列快取作業:

讀取要求之後:

  • 使用 ZX_CACHE_FLUSH_DATA 呼叫 zx_cache_flush |在符合下列條件的緩衝區上 ZX_CACHE_FLUSH_INVALIDATE 已由用戶端對應。
  • 對所有其他緩衝區使用 ZX_VMO_OP_CACHE_CLEAN_INVALIDATE 呼叫 zx_vmo_op_range。

請注意,在 DoRwTxn 傳回之前,將資料寫入緩衝區的任何部分 接收的資料。

在寫入要求之前:

  • 在已經對應到相關緩衝區的緩衝區上,使用 ZX_CACHE_FLUSH_DATA 呼叫 zx_cache_flush 用戶端。
  • 在所有其他緩衝區上使用 ZX_VMO_OP_CACHE_CLEAN 呼叫 zx_vmo_op_range。

要求

名稱類型
txn SdioRwTxn

回應

名稱類型
payload Device_DoRwTxn_Result

DoVendorControlRwByte

讀取或寫入供應商 CCCR 註冊資料庫。addr 必須位於 [0xF0, 0xFF]。

要求

名稱類型
write bool
addr uint8
write_byte uint8

回應

名稱類型
payload Device_DoVendorControlRwByte_Result

EnableFn

要求

<空白>

回應

名稱類型
payload Device_EnableFn_Result

EnableFnIntr

要求

<空白>

回應

名稱類型
payload Device_EnableFnIntr_Result

GetBlockSize

要求

<空白>

回應

名稱類型
payload Device_GetBlockSize_Result

GetDevHwInfo

要求

<空白>

回應

名稱類型
payload Device_GetDevHwInfo_Result

GetInBandIntr

傳回 SDIO 驅動程式在卡片訊號時觸發的虛擬中斷情形 對應至這個函式的中斷情形。不會觸發額外的干擾 直到呼叫 AckInBandIntr() 為止

要求

<空白>

回應

名稱類型
payload Device_GetInBandIntr_Result

IntrPending

如果函式 fn_idx 中有中斷情形,則傳回 true,否則傳回 false。

要求

<空白>

回應

名稱類型
payload Device_IntrPending_Result

IoAbort

下列函式可存取函式 0 的卡片通用控制暫存器 (CCCR)。 取消在指定函式上發生的 I/O 作業。

要求

<空白>

回應

名稱類型
payload Device_IoAbort_Result

PerformTuning

在背景執行微調。用戶端可以使用這個選項來更新主機控制器延遲 設定,避免公車誤點因溫度或其他因素而發生變化例如: 用戶端可定期呼叫此憑證,或僅於回應資料 CRC 錯誤時呼叫此金鑰。包括 此呼叫花費的時間 (以及封鎖其他要求的時間長度) 端視控制器而定

如果對 PerformTuning() 的其他呼叫已經待處理,則傳回 ZX_ERR_ALREADY_BOUND。 如果未正確設定 SDMMC 驅動程式庫程式的調整程序,系統會傳回 ZX_OK 或錯誤值 (請參閱 SDMMC 通訊協定)。

要求

<空白>

回應

名稱類型
payload Device_PerformTuning_Result

RegisterVmo

要求

名稱類型
vmo_id uint32
vmo handle<vmo>
offset uint64
size uint64
vmo_rights uint32

回應

名稱類型
payload Device_RegisterVmo_Result

RequestCardReset

要求核心驅動程式強制重設卡片並執行 SDIO 初始化 序列重新啟動卡片後,系統會呼叫回呼,並啟動 在此同時,來自此用戶端的所有 IO 呼叫都會傳回 ZX_ERR_SHOULD_WAIT。如果發生錯誤 發生時間,則所有後續的 IO 呼叫都會傳回 ZX_ERR_IO_NOT_PRESENT。 這時如要復原,只能再次呼叫 RequestCardReset()

SDIO 核心驅動程式會等待所有用戶端呼叫這個方法,然後才會執行 重設及重新初始化。重設後,用戶端必須自行執行 再次初始化步驟,例如呼叫 EnableFnIntr()UpdateBlockSize()

無論重設狀態為何,您一律能呼叫 VMO 註冊方法。

實際用於強制重設卡片的方法會因平台或主機板而異;例子 包括切換重設的 GPIO 或自動循環使用卡片。

要求

<空白>

回應

名稱類型
payload Device_RequestCardReset_Result

UnregisterVmo

要求

名稱類型
vmo_id uint32

回應

名稱類型
payload Device_UnregisterVmo_Result

UpdateBlockSize

要求

名稱類型
blk_sz uint16
deflt bool

回應

名稱類型
payload Device_UpdateBlockSize_Result

DriverDevice

定義於 fuchsia.hardware.sdio/sdio.fidl

Device 通訊協定的驅動程式庫傳輸變化版本。

AckInBandIntr

如上所示。開始等待中斷後,用戶端應呼叫 AckInBandIntr() 物件,以防這個函式有待處理的頻內中斷問題。

要求

<空白>

DisableFn

要求

<空白>

回應

名稱類型
payload Device_DisableFn_Result

DisableFnIntr

要求

<空白>

回應

名稱類型
payload Device_DisableFnIntr_Result

DoRwByte

要求

名稱類型
write bool
addr uint32
write_byte uint8

回應

名稱類型
payload Device_DoRwByte_Result

DoRwTxn

用戶端負責執行下列快取作業:

讀取要求之後:

  • 使用 ZX_CACHE_FLUSH_DATA 呼叫 zx_cache_flush |在符合下列條件的緩衝區上 ZX_CACHE_FLUSH_INVALIDATE 已由用戶端對應。
  • 對所有其他緩衝區使用 ZX_VMO_OP_CACHE_CLEAN_INVALIDATE 呼叫 zx_vmo_op_range。

請注意,在 DoRwTxn 傳回之前,將資料寫入緩衝區的任何部分 接收的資料。

在寫入要求之前:

  • 在已經對應到相關緩衝區的緩衝區上,使用 ZX_CACHE_FLUSH_DATA 呼叫 zx_cache_flush 用戶端。
  • 在所有其他緩衝區上使用 ZX_VMO_OP_CACHE_CLEAN 呼叫 zx_vmo_op_range。

要求

名稱類型
txn SdioRwTxn

回應

名稱類型
payload Device_DoRwTxn_Result

DoVendorControlRwByte

讀取或寫入供應商 CCCR 註冊資料庫。addr 必須位於 [0xF0, 0xFF]。

要求

名稱類型
write bool
addr uint8
write_byte uint8

回應

名稱類型
payload Device_DoVendorControlRwByte_Result

EnableFn

要求

<空白>

回應

名稱類型
payload Device_EnableFn_Result

EnableFnIntr

要求

<空白>

回應

名稱類型
payload Device_EnableFnIntr_Result

GetBlockSize

要求

<空白>

回應

名稱類型
payload Device_GetBlockSize_Result

GetDevHwInfo

要求

<空白>

回應

名稱類型
payload Device_GetDevHwInfo_Result

GetInBandIntr

傳回 SDIO 驅動程式在卡片訊號時觸發的虛擬中斷情形 對應至這個函式的中斷情形。不會觸發額外的干擾 直到呼叫 AckInBandIntr() 為止

要求

<空白>

回應

名稱類型
payload Device_GetInBandIntr_Result

IntrPending

如果函式 fn_idx 中有中斷情形,則傳回 true,否則傳回 false。

要求

<空白>

回應

名稱類型
payload Device_IntrPending_Result

IoAbort

下列函式可存取函式 0 的卡片通用控制暫存器 (CCCR)。 取消在指定函式上發生的 I/O 作業。

要求

<空白>

回應

名稱類型
payload Device_IoAbort_Result

PerformTuning

在背景執行微調。用戶端可以使用這個選項來更新主機控制器延遲 設定,避免公車誤點因溫度或其他因素而發生變化例如: 用戶端可定期呼叫此憑證,或僅於回應資料 CRC 錯誤時呼叫此金鑰。包括 此呼叫花費的時間 (以及封鎖其他要求的時間長度) 端視控制器而定

如果對 PerformTuning() 的其他呼叫已經待處理,則傳回 ZX_ERR_ALREADY_BOUND。 如果未正確設定 SDMMC 驅動程式庫程式的調整程序,系統會傳回 ZX_OK 或錯誤值 (請參閱 SDMMC 通訊協定)。

要求

<空白>

回應

名稱類型
payload Device_PerformTuning_Result

RegisterVmo

要求

名稱類型
vmo_id uint32
vmo handle<vmo>
offset uint64
size uint64
vmo_rights uint32

回應

名稱類型
payload Device_RegisterVmo_Result

RequestCardReset

要求核心驅動程式強制重設卡片並執行 SDIO 初始化 序列重新啟動卡片後,系統會呼叫回呼,並啟動 在此同時,來自此用戶端的所有 IO 呼叫都會傳回 ZX_ERR_SHOULD_WAIT。如果發生錯誤 發生時間,則所有後續的 IO 呼叫都會傳回 ZX_ERR_IO_NOT_PRESENT。 這時如要復原,只能再次呼叫 RequestCardReset()

SDIO 核心驅動程式會等待所有用戶端呼叫這個方法,然後才會執行 重設及重新初始化。重設後,用戶端必須自行執行 再次初始化步驟,例如呼叫 EnableFnIntr()UpdateBlockSize()

無論重設狀態為何,您一律能呼叫 VMO 註冊方法。

實際用於強制重設卡片的方法會因平台或主機板而異;例子 包括切換重設的 GPIO 或自動循環使用卡片。

要求

<空白>

回應

名稱類型
payload Device_RequestCardReset_Result

UnregisterVmo

要求

名稱類型
vmo_id uint32

回應

名稱類型
payload Device_UnregisterVmo_Result

UpdateBlockSize

要求

名稱類型
blk_sz uint16
deflt bool

回應

名稱類型
payload Device_UpdateBlockSize_Result

結構

Device_DisableFnIntr_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_DisableFn_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_DoRwByte_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
read_byte uint8 無預設

Device_DoRwTxn_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_DoVendorControlRwByte_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
read_byte uint8 無預設

Device_EnableFnIntr_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_EnableFn_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_GetBlockSize_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
cur_blk_size uint16 無預設

Device_GetDevHwInfo_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
hw_info SdioHwInfo 無預設

Device_GetInBandIntr_Response 資源

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
irq handle<interrupt> 無預設

Device_IntrPending_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
pending bool 無預設

Device_IoAbort_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_PerformTuning_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_RegisterVmo_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_RequestCardReset_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

Device_UnregisterVmo_Response 資源

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
vmo handle<vmo> 無預設

Device_UpdateBlockSize_Response

定義於 fuchsia.hardware.sdio/sdio.fidl

<空白>

SdioDeviceHwInfo

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
num_funcs uint32

包括 Func 0 等 sdio 基金的數量

無預設
sdio_vsn uint32 無預設
cccr_vsn uint32 無預設
caps SdioDeviceCapabilities 無預設
max_tran_speed uint32 無預設

SdioFuncHwInfo

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
manufacturer_id uint32 無預設
product_id uint32 無預設
max_blk_size uint32 無預設
fn_intf_code uint8 無預設

SdioHwInfo

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
dev_hw_info SdioDeviceHwInfo 無預設
func_hw_info SdioFuncHwInfo 無預設
host_max_transfer_size uint32 無預設

SdioRwTxn 資源

定義於 fuchsia.hardware.sdio/sdio.fidl

欄位類型說明預設
addr uint32 無預設
incr bool 無預設
write bool 無預設
buffers vector<fuchsia.hardware.sdmmc/SdmmcBufferRegion> 無預設

聯合國

Device_DisableFnIntr_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_DisableFnIntr_Response
err zx/Status

Device_DisableFn_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_DisableFn_Response
err zx/Status

Device_DoRwByte_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_DoRwByte_Response
err zx/Status

Device_DoRwTxn_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_DoRwTxn_Response
err zx/Status

Device_DoVendorControlRwByte_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_DoVendorControlRwByte_Response
err zx/Status

Device_EnableFnIntr_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_EnableFnIntr_Response
err zx/Status

Device_EnableFn_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_EnableFn_Response
err zx/Status

Device_GetBlockSize_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_GetBlockSize_Response
err zx/Status

Device_GetDevHwInfo_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_GetDevHwInfo_Response
err zx/Status

Device_GetInBandIntr_Result 嚴格 資源

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_GetInBandIntr_Response
err zx/Status

Device_IntrPending_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_IntrPending_Response
err zx/Status

Device_IoAbort_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_IoAbort_Response
err zx/Status

Device_PerformTuning_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_PerformTuning_Response
err zx/Status

Device_RegisterVmo_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_RegisterVmo_Response
err zx/Status

Device_RequestCardReset_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_RequestCardReset_Response
err zx/Status

Device_UnregisterVmo_Result 嚴格 資源

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_UnregisterVmo_Response
err zx/Status

Device_UpdateBlockSize_Result 嚴格

定義於 fuchsia.hardware.sdio/sdio.fidl

OrdinalVariant類型說明
response Device_UpdateBlockSize_Response
err zx/Status

商業智慧

SdioDeviceCapabilities 嚴格

類型:uint32

定義於 fuchsia.hardware.sdio/sdio.fidl

名稱說明
1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536

觀測站

名稱類型說明
SDIO_MAX_FUNCS 8 uint8

服務

DriverService

定義於 fuchsia.hardware.sdio/sdio.fidl

名稱類型傳輸
裝置 fuchsia.hardware.sdio/DriverDevice 駕駛座

服務

定義於 fuchsia.hardware.sdio/sdio.fidl

名稱類型傳輸
裝置 fuchsia.hardware.sdio/Device 頻道