3399 的 typec 支持 dp/usb3/usb2,sdk 默认使用 fusb302 来检测接入的设备类型;当设备接入时,fusb302 通过 extcon 传递给 usb 驱动;fusb302 是通过 i2c 外挂的芯片,下面配置是挂到 i2c4 上时打开的配置,若挂在其他 i2c 上则需要对应修改。3399 有两个功能相同的 typec 口,都支持 dp 输出,不过由于 dp 控制器只有一个,所以同一时刻最多只能有一个 typec 口输出 dp 信号。
&i2c4 {
status = "okay";
fusb0: fusb30x@22 {
status = "okay";
};
};
type-c0
typec0 口包括 usb 控制器(&usbdrd3_0); usb3phy(&tcphy0)和 usb2phy (&u2phy0);
若 fusb302 接到 typec0 口时,需配置如下:
&tcphy0 {
extcon = <&fusb0>;
status = "okay";
};
&u2phy0 {
status = "okay";
extcon = <&fusb0>;
};
&usbdrd3_0 {
extcon = <&fusb0>;
status = "okay";
};
type-c1
typec1 口包括 usb 控制器(&usbdrd3_1);usb3phy(&tcphy1)和 usb2phy (&u2phy1);
若 fusb302 接到 typec1 口时,需配置如下:
&tcphy1{
extcon = <&fusb0>;
status = "okay";
};
&u2phy1 {
status = "okay";
extcon = <&fusb0>;
};
&usbdrd3_1 {
extcon = <&fusb0>;
status = "okay";
};