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 | USB_ROLE_NONE |
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 | I2C TCPC |
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需独立策略。
正在加载留言…