fuchsia.hardware.usb.connector

实体 USB 连接器(插口)的状态,由管理该连接器的端口控制器(例如 USB Type-C 端口控制器 [TCPC])报告。

端口控制器根据连接的设备(例如,Type-C CC 状态和 BC1.2 充电器检测)决定 USB 数据端应如何运行,而 PHY 和控制器等 USB 驱动程序则遵循该决定。电源相关状态(存在、电流限制)通过 fuchsia.hardware.power.usb 单独报告。

添加:HEAD

协议

连接线

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

用于查询静态功能和监控物理 USB 连接器动态状态变化的协议。

GetSpec

返回 USB 连接器的静态硬件特性,这些特性在运行期间不会发生变化。

请求

<EMPTY>

响应

名称类型
payload Connector_GetSpec_Result

观看

挂起获取连接器状态。在首次调用时立即返回,然后在状态自上次返回值以来发生更改时返回。状态转换会按顺序传送,并且不会在调用之间合并(例如,DEVICE -> NONE -> DEVICE 会在下一次调用时传送 NONE,并在随后的调用中传送 DEVICE)。

如果存在,setup_wake_lease 会在服务器处理调用时使系统保持唤醒状态。如果调用立即得到应答(第一个调用始终如此),服务器会将其作为 wake_lease 传回,除非它返回自己的唤醒租约。如果通话处于保持状态,服务器会将其挂断。

如果存在,wake_lease 是客户端在处理返回的状态时应持有的唤醒租约。在支持挂起的系统上,服务器必须在 Spec.wake_on 中的字段每次转换时返回唤醒租约(必须包含 data_role,包括转换为 NONE,以便下游驱动程序可以在挂起之前耗尽传输并关闭电源),或者在未附加服务器租约时立即回复 setup_wake_lease。

返回值:

  • ZX_ERR_BAD_STATE:此通道上已有待处理的 Watch 调用;现有待处理调用保持不变。

请求

名称类型
setup_wake_lease fuchsia.power.system/LeaseToken

响应

名称类型
payload Connector_Watch_Result

STRUCTS

Connector_GetSpec_Response

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

字段类型说明默认
spec Spec 无默认应用

Connector_Watch_Response 资源

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

字段类型说明默认
state ConnectorState 无默认应用
wake_lease fuchsia.power.system/LeaseToken 无默认应用

枚举

DataRole 灵活

类型:uint32

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

连接器背后的控制器应在其中运行的 USB 数据角色。

名称值说明
0

无 USB 数据:未连接任何设备、合作伙伴未提供 USB 数据(例如专用充电器),或尚不允许传输数据(例如充电器检测仍在端口控制器的自有数据开关上运行;充电器检测器借用 SoC PHY 的平台需要未来的 DETECTING 角色或边信道,而不是 NONE)。

1

外围设备:数据线连接到 USB 主机。

2

主机:数据线连接到 USB 设备。

方向灵活

类型:uint32

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

插头在 USB Type-C 插座中的方向,指示合作伙伴连接到哪个 CC 引脚,以便 Type-C 多路复用器可以根据活动模式路由通道。

名称值说明
1

合作伙伴已在 CC1 上关联。

2

配对设备连接到 CC2(插头翻转)。

TABLES

ConnectorState

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

USB 连接器的动态状态。

序数字段类型说明
data_role DataRole

USB 控制器应在其中运行的数据角色。始终由服务器设置。

orientation Orientation

Type-C 插头方向,在合作伙伴的 CC 方向确定后设置(独立于 data_role),在未连接、未知或非 Type-C 时省略。

规格

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

实体 USB 连接器的静态硬件特性和驱动程序功能。

序数字段类型说明
supported_data_roles vector<DataRole>

此连接器支持的数据角色(例如 [DEVICE] 或 [DEVICE, HOST])。

wake_on ConnectorState

ConnectorState 字段,其更改会主动将系统从挂起状态唤醒,并在 Watch 上返回 wake_lease(必须包含 data_role)。只有字段存在(设置与未设置)才重要;表中的实际值会被忽略。

UNIONS

Connector_GetSpec_Result strict

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

序数变体类型说明
response Connector_GetSpec_Response
err zx/Status
framework_err internal

Connector_Watch_Result strict resource

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

序数变体类型说明
response Connector_Watch_Response
err zx/Status
framework_err internal

服务

服务

在 fuchsia.hardware.usb.connector/connector.fidl 中定义

名称类型传输
connector fuchsia.hardware.usb.connector/Connector 渠道