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

智慧手錶

連接器狀態的 Hanging Get。在第一次呼叫時立即傳回,然後在狀態自上次傳回的值變更時傳回。狀態轉換會依序傳送,且不會在呼叫之間合併 (例如,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 無預設值

ENUMS

DataRole flexible

類型: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

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

Connector_Watch_Result strict resource

定義於 fuchsia.hardware.usb.connector/connector.fidl

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

服務

服務

定義於 fuchsia.hardware.usb.connector/connector.fidl

名稱類型傳輸
connector fuchsia.hardware.usb.connector/Connector 版本