Type-C、PD、TCPM 与 USB Role Switch

Type-C、PD、TCPM 与 USB Role Switch

1. Type-C Class

typec/class.c导出port、partner、cable、plug、orientation、roles和accessory到sysfs。它记录状态,不直接完成PD policy。

2. TCPM

TCPM是Type-C Port Manager:

-CC attach/detach;
-DRP toggle;
-source/sink状态机;
-USB PD消息;
-PDO/RDO协商;
-hard/soft reset;
-power/data/VCONN role swap;
-altmode discovery。

TCPC driver通过 tcpc_dev读写CC、polarity、VBUS、PD TX/RX。

3. TCPCI

TCPCI是标准寄存器接口。Defconfig列出:

  • TCPCI core;
  • HUSB311;
  • FUSB302;
    -DP Alt Mode。

具体板型只会使用DTS/硬件存在的controller。

4. Role Switch

usb_role_switch提供:

1
2
3
USB_ROLE_NONE
USB_ROLE_HOST
USB_ROLE_DEVICE

Connector/TCPM设置role,DWC3 consumer callback执行模式切换。

5. 数据角色与电源角色

Data Host/Device不等同Power Source/Sink。PD允许:

-DFP+Source;
-UFP+Sink;
-经role swap形成其它组合。

VBUS控制必须遵循协商和过流保护。

6. Orientation和Mux

CC polarity控制SuperSpeed lane翻转;mux/retimer选择USB3或DP Alt Mode。RK3588 USBDP PHY同时承载USB3/DP lanes,需与Type-C mux/DP bridge协调。

7. Extcon

旧平台可用extcon报告USB/USB_HOST;新设计偏向connector graph+role switch。DWC3厂商分支可能同时支持两者,避免重复状态源。

8. DTS

完整链路通常包括:

1
2
3
4
5
6
7
I2C TCPC
-> connector node
-> source PDOs/sink PDOs
-> ports graph
-> DWC3 role-switch
-> PHY/mux/DP
-> VBUS regulator

9. 故障

-只能充电无数据:role/USB2 D+/D-;
-USB2可用USB3失败:orientation/mux/SS PHY;
-反插失败:polarity;
-host无供电:VBUS regulator/PD source;
-角色抖动:CC、电阻、debounce或两套role provider冲突。

10. 安全

PD可请求高电压/功率,必须使用合规TCPC和regulator限制;Alt Mode和USB data authorization需独立策略。

文章互动

阅读 --

留言

0 条留言

正在加载留言…