fuchsia.hardware.ufs.phy

Added: HEAD

PROTOCOLS

UfsPhy

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

GetProperties

Returns the PHY driver's static capabilities. The controller driver calls this once at initialization to decide which power-management features it may use. A PHY driver that does not implement this method is treated as supporting none of the optional features.

Request

<EMPTY>

Response

NameType
payload UfsPhy_GetProperties_Result

Init

Perform the UFS PHY specific initialization which happens before link startup.

Request

NameType
ufs_hci client_end:Ufshci

Response

NameType
payload UfsPhy_Init_Result

PrePowerModeChange

Perform PHY calibration and configuration prior to power mode / gear change.

Request

<EMPTY>

Response

NameType
payload UfsPhy_PrePowerModeChange_Result

Resume

Powers up the UFS power domains and clocks prior to host controller enable and link startup.

Calling Resume while not suspended is a no-op that returns success. On failure the PHY must release anything it acquired during the attempt and remain suspended, so that the caller may either call Suspend or retry Resume.

Request

<EMPTY>

Response

NameType
payload UfsPhy_Resume_Result

Suspend

Powers down the UFS device rails, PHY reset, regulators, clocks, and power domains.

The caller must have stopped the host controller (HCE = 0) before calling this; after it returns the UFSHCI register space must not be accessed until Resume has succeeded. Calling Suspend while already suspended is a no-op. On failure the PHY is still considered suspended (every step is attempted and the first error reported), so the caller must go through Resume to bring it back. Only resources that are actually held are released, so Suspend is also safe to call after a failed Resume (which has already released what it acquired). The host controller is stopped for the whole duration of Suspend and Resume, so Ufshci calls made from within them fail with ZX_ERR_BAD_STATE.

Request

<EMPTY>

Response

NameType
payload UfsPhy_Suspend_Result

Ufshci

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

Interface provided by the UFS MAC (controller driver) to the PHY driver, allowing the PHY driver to send UIC commands (like DME_SET) or access MAC-level registers required for PHY initialization.

DmeGet

Send a UIC DME_GET command to the UFS controller. If the MIB attribute's value has not been set via the DME_SET command, a hardware reset default value is returned by the device. For invalid mib_attribute or gen_selector_index values, a ZX_ERR_INTERNAL error is returned.

Request

NameType
mib_attribute uint16
gen_selector_index uint16

Response

NameType
payload Ufshci_DmeGet_Result

DmeSet

Send a UIC DME_SET command to the UFS controller.

Request

NameType
mib_attribute uint16
gen_selector_index uint16
value uint32

Response

NameType
payload Ufshci_DmeSet_Result

STRUCTS

UfsPhy_Init_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_PrePowerModeChange_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_Resume_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

UfsPhy_Suspend_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

Ufshci_DmeGet_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

FieldTypeDescriptionDefault
value uint32 No default

Ufshci_DmeSet_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

<EMPTY>

TABLES

UfsPhy_GetProperties_Response

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalFieldTypeDescription
supports_suspend_resume bool

Whether Suspend and Resume are implemented, i.e. the PHY can power down the UFS device, PHY and host controller power domains and bring them back up. When unset or false the controller driver only uses link hibernation for system suspend.

UNIONS

UfsPhy_GetProperties_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response UfsPhy_GetProperties_Response
framework_err internal

UfsPhy_Init_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response UfsPhy_Init_Response
err zx/Status
framework_err internal

UfsPhy_PrePowerModeChange_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response UfsPhy_PrePowerModeChange_Response
err zx/Status
framework_err internal

UfsPhy_Resume_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response UfsPhy_Resume_Response
err zx/Status
framework_err internal

UfsPhy_Suspend_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response UfsPhy_Suspend_Response
err zx/Status
framework_err internal

Ufshci_DmeGet_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response Ufshci_DmeGet_Response
err zx/Status
framework_err internal

Ufshci_DmeSet_Result strict

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

OrdinalVariantTypeDescription
response Ufshci_DmeSet_Response
err zx/Status
framework_err internal

SERVICES

Service

Defined in fuchsia.hardware.ufs.phy/ufs_phy.fidl

NameTypeTransport
phy fuchsia.hardware.ufs.phy/UfsPhy Channel
inline_crypto fuchsia.hardware.inlineencryption/Controller Channel