RK3588 Type-C一线通,DP显示输出实战指南

描述

摘要:RK3588的Type-C接口不仅是数据传输通道,更是一路强大的DisplayPort视频输出接口。本文将手把手教你如何通过Type-C实现DP视频输出,让你使用眺望电子RK3588开发板轻松使用扩展坞连接显示器。

一、方案概述
 

RK3588 是瑞芯微旗舰级高性能处理器,其Type-C接口内置了USB 3.1 + DP Alt Mode双模支持能力。通过简单的软件配置,即可将Type-C接口切换为DP视频输出模式,实现一线通(One Cable)的视频传输方案。

适用场景:

便携显示器连接

一线通扩展坞方案

嵌入式显示终端

多屏异显系统

二、核心配置步骤
 

眺望电子RK3588评估板的typec0和typec1接口均支持dp输出,下面以typec0为例,演示如何配置dp输出。

RK3588

 

 2.1  启用DP控制器

首先需要在设备树中使能DP0接口,并将其绑定到VOP的Video Port2:

  •  

&dp0 {    status = "okay";};&dp0_in_vp2 {    status = "okay";};

备注:RK3588支持多路视频输出,通过dp0_in_vpX可以灵活配置DP输出绑定的显示通道。

 2.2  配置USB-Combo PHY

Type-C的DP功能依赖于USB-Combo PHY的灵活复用能力。以下是核心配置:

 

&usbdp_phy0 {    status = "okay";    orientation-switch;          // 支持正反插切换    rockchip,dp-lane-mux = <2 3>; // 配置DP Lane复用    svid = <0xff01>;             // DP Alt Mode SVID
    // SBU引脚上下拉控制GPIO    sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;    sbu2-dc-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
    // 端口连接配置    port {        #address-cells = <1>;        #size-cells = <0>;
        usbdp_phy0_orientation_switch: endpoint@0 {            reg = <0>;            remote-endpoint = <&usbc0_orien_sw>;        };
        usbdp_phy0_dp_altmode_mux: endpoint@1 {            reg = <1>;            remote-endpoint = <&dp0_altmode_mux>;        };    };};
&usbdp_phy0_dp {    status = "okay";};
&usbdp_phy0_u3 {    status = "okay";};

技术要点解析:

Type-C的SBU1/SBU2引脚与DP的AUX_CH通道是复用的:

●正插:AUX_CH_P → SBU1,AUX_CH_N → SBU2

●反插:AUX_CH_P → SBU2,AUX_CH_N → SBU1

根据DP协议规范,AUX_CH_P需下拉,AUX_CH_N需上拉。因此PHY驱动会根据插入方向动态调整SBU引脚的上下拉状态——这就是为什么需要配置sbu1-dc-gpios和sbu2-dc-gpios。

 2.3  配置PD控制器(fusb302)

Type-C接口需要通过Type-C的CC检测和PD协商来配置lane和HPD的状态,所以DP Alt Mode的激活需要Type-C PD(Power Delivery)协商配合。RK3588评估板当前支持fusb302和husb311两种PD芯片:

 

&i2c2 { status = "okay"; usbc0: fusb302@22 {  compatible = "fcs,fusb302";  reg = <0x22>;  interrupt-parent = <&gpio1>;  interrupts = ;  pinctrl-names = "default";  pinctrl-0 = <&usbc0_int>;  vbus-supply = <&vbus5v0_typec0>;  status = "okay";   ports {   #address-cells = <1>;   #size-cells = <0>;    port@0 {    reg = <0>;    usbc0_role_sw: endpoint@0 {     remote-endpoint = <&dwc3_0_role_switch>;    };   };  };   usb_con0: connector {   compatible = "usb-c-connector";   label = "USB-C";   data-role = "dual";   power-role = "dual";   try-power-role = "sink";   op-sink-microwatt = <1000000>;   sink-pdos =    ;   source-pdos =    ;    altmodes {    #address-cells = <1>;    #size-cells = <0>;     altmode@0 {     reg = <0>;     svid = <0xff01>;     vdo = <0xffffffff>;    };   };    ports {    #address-cells = <1>;    #size-cells = <0>;     port@0 {     reg = <0>;     usbc0_orien_sw: endpoint {     remote-endpoint = <&usbdp_phy0_orientation_switch>;     };    };     port@1 {     reg = <1>;     dp0_altmode_mux: endpoint {     remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;     };    };   };  }; };};

三、内核配置清单

 

确保以下内核配置已启用:

 

CONFIG_PHY_ROCKCHIP_INNO_USB2CONFIG_PHY_ROCKCHIP_INNO_USB3CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHYCONFIG_PHY_ROCKCHIP_NANENG_USB2CONFIG_PHY_ROCKCHIP_TYPECCONFIG_PHY_ROCKCHIP_USBCONFIG_PHY_ROCKCHIP_USBDPCONFIG_USB_DWC2CONFIG_USB_DWC2_DUAL_ROLECONFIG_USB_DWC3CONFIG_USB_DWC3_DUAL_ROLECONFIG_USB_DWC3_HAPSCONFIG_USB_DWC3_OF_SIMPLE

配置完成后重新编译内核即可。

四、调试技巧

 

● 查看VOP状态

  •  

cat /sys/kernel/debug/dri/0/summary

● 检查DP连接状态

  •  

cat /sys/kernel/debug/dp/status

● 重要注意事项

开机Logo限制,当前驱动不支持Type-C接口的DP开机Logo显示,系统启动后的桌面显示不受影响。

五、结语

 

RK3588通过Type-C实现DP输出,为嵌入式设备提供了简洁高效的显示扩展方案。配合Type-C一线通显示器,可大幅减少设备连接线缆,提升产品便携性和专业感。

如需获取完整的《Rockchip RK3588 DP 软件开发指南》参考文档,或者SDK支持或硬件设计参考,欢迎联系我司技术支持团队。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分