通訊協定
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
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
supports_suspend_resume |
bool
|
是否實作 |
UNIONS
UfsPhy_GetProperties_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
UfsPhy_GetProperties_Response
|
|
3 |
framework_err |
internal
|
UfsPhy_Init_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
UfsPhy_Init_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_PrePowerModeChange_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
UfsPhy_PrePowerModeChange_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_Resume_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
UfsPhy_Resume_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_Suspend_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
UfsPhy_Suspend_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Ufshci_DmeGet_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Ufshci_DmeGet_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Ufshci_DmeSet_Result strict
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Ufshci_DmeSet_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
服務
服務
定義於 fuchsia.hardware.ufs.phy/ufs_phy.fidl
| 名稱 | 類型 | 傳輸 |
|---|---|---|
| phy |
fuchsia.hardware.ufs.phy/UfsPhy
|
版本 |
| inline_crypto |
fuchsia.hardware.inlineencryption/Controller
|
版本 |