全功能TYPEC接口

我能否使用USB_DRD组的信号,做一个全功能TYPEC接口,可以接标准扩展坞(比如扩展USB,DP显示),也可以做普通的烧录接口

你好,可以的。

要实现这个功能,硬件上需要使用 USB_DRD 信号 + DP (DisplayPort) 信号,并搭配一颗 Type-C 物理层协议与数据切换芯片(目前K3 全功能TypeC 已适配的是 ANX7447,选用其他需要额外软件适配)。

可以参考我们的Pico-ITX的USB PortD 连接方案,只是把PortD接入7447信号的部分改成DRD的0组
(DRD的1组是用于内置正反插的,使用ANX7447这种TypeC芯片自带Mux的话就只使用到0组)。image

这需要搭配一个 ANNX7447 芯片(TypeC CC协商芯片,支持DP、PD对外对内供电,USB3.0正反插)。如果开发板没有EC芯片控制7447的话,特别需要注意7447的出厂固件必须自带硬件自主完成全功能(根据需求配置PD供电协商、DP等),以及I2C接入主控的I2C供debug使用。

在U-Boot下支持烧录。

进入Kernel后,支持DP、USB3.0/2.0 Host, 可以接HUB供放电(具体供电策略取决ANX7447芯片内置固件或外部EC驱动控制),但是注意的是ANX7447的支持,Linux下DRD组PortA只做Host功能,不支持OTG动态切换,可以手动切换做Host (外接其他Hub、USB设备)Or Device模式(使用K3作为一个ADB、MTP、共享网卡USB设备等功能)。

参考:

  1. 软件适配参考: USB 通用开发指南
  2. Pico-ITX 方案硬件资料参考: 硬件设计资源