實體 USB 連接器 (插座) 的狀態,由管理該連接器的通訊埠控制器回報,例如 USB Type-C 通訊埠控制器 (TCPC)。
連接埠控制器會根據連接的裝置 (例如 Type-C CC 狀態和 BC1.2 充電器偵測),決定 USB 資料端的行為,而 PHY 和控制器等 USB 驅動程式則會遵循這項決定。電源相關狀態 (存在、目前限制) 會透過 fuchsia.hardware.power.usb 分別回報。
通訊協定
連接線
定義於 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 的平台需要未來的 |
裝置 |
1 |
周邊裝置:資料線連接至 USB 主機。 |
HOST |
2 |
主機:資料線已連接至 USB 裝置。 |
方向:彈性
類型:uint32
定義於 fuchsia.hardware.usb.connector/connector.fidl
USB Type-C 插座中插頭的方向,指出合作夥伴連接的 CC 接腳,以便 Type-C 多工器根據有效模式轉送通道。
| 名稱 | 值 | 說明 |
|---|---|---|
一般 |
1 |
合作夥伴已與 CC1 綁定。 |
REVERSE |
2 |
合作夥伴連接至 CC2 (插頭翻轉)。 |
TABLES
ConnectorState
定義於 fuchsia.hardware.usb.connector/connector.fidl
USB 連接器的動態狀態。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
data_role |
DataRole
|
USB 控制器應運作的資料角色。一律由伺服器設定。 |
2 |
orientation |
Orientation
|
Type-C 插頭方向,每當合作夥伴的 CC 方向解析完成時設定 (與 |
規格
定義於 fuchsia.hardware.usb.connector/connector.fidl
實體 USB 連接器的靜態硬體特性和驅動程式庫功能。
| 序數 | 欄位 | 類型 | 說明 |
|---|---|---|---|
1 |
supported_data_roles |
vector<DataRole>
|
這個連接器支援的資料角色 (例如 |
2 |
wake_on |
ConnectorState
|
|
UNIONS
Connector_GetSpec_Result strict
定義於 fuchsia.hardware.usb.connector/connector.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Connector_GetSpec_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Connector_Watch_Result strict resource
定義於 fuchsia.hardware.usb.connector/connector.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Connector_Watch_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
服務
服務
定義於 fuchsia.hardware.usb.connector/connector.fidl
| 名稱 | 類型 | 傳輸 |
|---|---|---|
| connector |
fuchsia.hardware.usb.connector/Connector
|
版本 |