协议
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
向 UFS 控制器发送 UIC DME_GET 命令。 如果 MIB 属性的值未通过 DME_SET 命令设置,设备会返回硬件重置默认值。 如果 mib_attribute 或 gen_selector_index 值无效,系统会返回 ZX_ERR_INTERNAL 错误。
请求
| 名称 | 类型 |
|---|---|
mib_attribute |
uint16
|
gen_selector_index |
uint16
|
响应
| 名称 | 类型 |
|---|---|
payload |
Ufshci_DmeGet_Result
|
DmeSet
向 UFS 控制器发送 UIC DME_SET 命令。
请求
| 名称 | 类型 |
|---|---|
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 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
UfsPhy_GetProperties_Response
|
|
3 |
framework_err |
internal
|
UfsPhy_Init_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
UfsPhy_Init_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_PrePowerModeChange_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
UfsPhy_PrePowerModeChange_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_Resume_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
UfsPhy_Resume_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
UfsPhy_Suspend_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
UfsPhy_Suspend_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Ufshci_DmeGet_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Ufshci_DmeGet_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Ufshci_DmeSet_Result strict
在 fuchsia.hardware.ufs.phy/ufs_phy.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
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
|
渠道 |