嵌入式爱好者

Type-C to Type-A USB 3.1/DP DTS配置

2023-10-31 15:00| 发布者: C.S151| 查看: 222| 评论: 0

类目: RK3588系列产品  >  Linux     文档编号: 1189

Type-A接口与Type-C接口相比,缺少了CC引脚与一组TX、RX差分线,所以首先不能采用PD芯片识别主从设备,而是靠VBUS_DET这个引脚识别是否为主从设备,其次由于少了两组数据线,直接沿用OK3588-Common.dtsi中的默认配置的结果就是主从不识别且无法烧写。
首先是主从不识别的问题,主要是由于I2C5下依旧挂载着usbc302芯片的设备节点,所以需要先注释掉usbc1节点以及与其相关的endpiont节点,但是即使删除这个节点也依旧会有VBUS不供电的问题(在此时是可以识别成从设备的,但是做主设备时不会对从设备供电),原因是由于VBUS供电的控制引脚注册在usbc1节点里,注释掉后,不会有驱动知道该通过哪个引脚控制打开VBUS供电,也就无法与从设备通信。
其次是数据线少了2lane的问题,Type-C接口通过SBU信号线实现dp接口与USB3.0接口复用,所以USB3.0PHY的信号线会出现复用的几种模式,具体可以查阅硬件手册,但是SBU信号线识别需要PD芯片的驱动,而没有PD芯片的我们可以利用其中的占用模式,只需要让dp_phy0占用其中的2lane即可使USB3.0只用其中剩下的2lane接入到Type-A口的信号脚,所以想让TYPE-A口识别主从设备的伪代码如下:
&i2c5 {
...
/deleted node/ usbc1: fusb302@22
...
}
&u2phy0 {
...
vbus-supply = <&vbus5v0_typec0>; //这个是VBUS控制脚,之前是由PD芯片驱动控制,现在注册到usb3.0phy中。
}
&usbdp_phy0 {
...
/deleted node/ port
/add node/ rockchip,dp-lane-mux = <2 3>; //用于占用多余的两lane使得此时的usb3.0PHY只用其中的1 2lane收发数据。
...
}
&usbdrd_dwc3_0 {
...
/deleted node/ port
...
}

已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 12:02

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部