fuchsia.hardware.ufs.phy

新增:HEAD

通訊協定

UfsPhy

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

GetProperties

傳回 PHY 驅動程式庫的靜態功能。控制器驅動程式庫會在初始化時呼叫此方法一次,以決定可能使用的電源管理功能。如果 PHY 驅動程式庫未實作這個方法,系統會視為不支援任何選用功能。

要求

<EMPTY>

回應

名稱類型
payload UfsPhy_GetProperties_Result

Init

執行 UFS PHY 專屬初始化,這項作業會在連結啟動前進行。

要求

名稱類型
ufs_hci client_end:Ufshci

回應

名稱類型
payload UfsPhy_Init_Result

PrePowerModeChange

在變更電源模式 / 檔位前,先執行 PHY 校正和設定。

要求

<EMPTY>

回應

名稱類型
payload UfsPhy_PrePowerModeChange_Result

繼續

在主機控制器啟用和連結啟動前,啟動 UFS 電源域和時鐘。

在未暫停時呼叫 Resume 是無作業,會傳回成功。如果失敗,PHY 必須釋出在嘗試期間取得的所有內容,並保持暫停狀態,以便呼叫端呼叫 Suspend 或重試 Resume。

要求

<EMPTY>

回應

名稱類型
payload UfsPhy_Resume_Result

暫停使用

關閉 UFS 裝置軌、PHY 重設、調節器、時鐘和電源域。

呼叫端必須先停止主機控制器 (HCE = 0),才能呼叫這個函式。函式傳回後,必須等到 Resume 成功,才能存取 UFSHCI 暫存器空間。在已暫停的情況下呼叫 Suspend 不會執行任何操作。如果失敗,PHY 仍會視為暫停 (系統會嘗試每個步驟,並回報第一個錯誤),因此呼叫端必須透過 Resume 才能恢復。只有實際持有的資源才會釋出,因此在 Resume 失敗後 (已釋出取得的資源),也可以安全地呼叫 Suspend。主機控制器在 Suspend 和 Resume 的整個期間都會停止,因此從中發出的 Ufshci 呼叫會失敗,並顯示 ZX_ERR_BAD_STATE。

要求

<EMPTY>

回應

名稱類型
payload UfsPhy_Suspend_Result

Ufshci

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

UFS MAC (控制器驅動程式庫) 提供給 PHY 驅動程式庫的介面,可讓 PHY 驅動程式庫傳送 UIC 指令 (例如 DME_SET),或存取 PHY 初始化所需的 MAC 層級暫存器。

DmeGet

將 UIC DME_GET 指令傳送至 UFS 控制器。如果 MIB 屬性的值未透過 DME_SET 指令設定,裝置會傳回硬體重設預設值。如果 mib_attribute 或 gen_selector_index 值無效,系統會傳回 ZX_ERR_INTERNAL 錯誤。

要求

名稱類型
mib_attribute uint16
gen_selector_index uint16

回應

名稱類型
payload Ufshci_DmeGet_Result

DmeSet

將 UIC DME_SET 指令傳送至 UFS 控制器。

要求

名稱類型
mib_attribute uint16
gen_selector_index uint16
value uint32

回應

名稱類型
payload Ufshci_DmeSet_Result

STRUCTS

UfsPhy_Init_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_PrePowerModeChange_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_Resume_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_Suspend_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

Ufshci_DmeGet_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

欄位類型說明預設
value uint32 無預設值

Ufshci_DmeSet_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

TABLES

UfsPhy_GetProperties_Response

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數欄位類型說明
supports_suspend_resume bool

是否實作 Suspend 和 Resume,也就是 PHY 是否能關閉 UFS 裝置、PHY 和主機控制器電源網域,並重新啟動。如果未設定或設為 false,控制器驅動程式庫只會使用連結休眠功能來暫停系統。

UNIONS

UfsPhy_GetProperties_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response UfsPhy_GetProperties_Response
framework_err internal

UfsPhy_Init_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response UfsPhy_Init_Response
err zx/Status
framework_err internal

UfsPhy_PrePowerModeChange_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response UfsPhy_PrePowerModeChange_Response
err zx/Status
framework_err internal

UfsPhy_Resume_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response UfsPhy_Resume_Response
err zx/Status
framework_err internal

UfsPhy_Suspend_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response UfsPhy_Suspend_Response
err zx/Status
framework_err internal

Ufshci_DmeGet_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response Ufshci_DmeGet_Response
err zx/Status
framework_err internal

Ufshci_DmeSet_Result strict

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

序數Variant類型說明
response Ufshci_DmeSet_Response
err zx/Status
framework_err internal

服務

服務

定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl

名稱類型傳輸
phy fuchsia.hardware.ufs.phy/UfsPhy 版本
inline_crypto fuchsia.hardware.inlineencryption/Controller 版本