RK3588 USB Device Tree 与板级配置

RK3588 USB Device Tree 与板级配置

1. 启用规则

必须同时启用完整链路:

1
2
3
4
5
6
7
controller wrapper
+ DWC3 child / EHCI/OHCI
+ PHY parent
+ PHY port child
+ power domain/clocks/resets
+ VBUS regulator
+ connector/TCPC/role source

漏一个节点常表现为probe defer、PHY missing或只支持USB2。

2. EVB示例

rk3588-evb.dtsi启用:

  • u2phy0/1 OTG;
  • u2phy2/3 host;
    -两组EHCI/OHCI;
    -USBDP PHY0/1的DP和U3 child;
    -DRD0、DRD1;
    -host3_0;
    -DRD0覆盖为OTG。

RK3588S EVB没有DRD1/PHY1。

3. DWC3

1
2
3
4
5
6
&usbdrd3_0 { status = "okay"; };

&usbdrd_dwc3_0 {
dr_mode = "otg";
status = "okay";
};

父wrapper和子core都必须enabled。

4. USB2 Host

EHCI和OHCI应成对启用,且对应 u2phyN_host enabled。只开EHCI可能丢失FS/LS设备。

5. USB3 PHY

DRD0需:

1
2
&usbdp_phy0 { status = "okay"; };
&usbdp_phy0_u3 { status = "okay"; };

DP child是否启用取决于同一PHY是否承载DP。

6. Type-C

OTG Type-C还需:

-TCPC I2C node;
-connector capabilities/PDO;
-interrupt GPIO;
-VBUS regulator;
-orientation/mux graph;
-DWC3 usb-role-switch或BSP支持的extcon;
-DP endpoint graph。

具体板型可能用FUSB302、HUSB311或其它芯片。

7. Fixed Host口

固定Type-A Host无需PD,但需要正确VBUS enable和过流设计。不要把dr_mode="host"当作自动供电。

8. Maximum speed

可用 maximum-speed = "high-speed"限制到USB2以定位SS问题。它是诊断/产品约束,不修复PHY、lane或SI缺陷。

9. Quirks

保留SoC .dtsi中的 snps,*quirk,除非有芯片版本、TRM和回归测试支持修改。

10. Binding差异

本树 rockchip,dwc3.yaml没有列 rockchip,rk3588-dwc3,且描述的是较旧的扁平DWC3节点/ref_clk命名;RK3588 DTS实际使用父wrapper(rk3588-dwc3, rk3399-dwc3)加snps,dwc3子节点,并用ref/suspend/bus。因此 dtbs_check可能暴露厂商binding滞后,不能据schema缺项删除运行所需节点,应同步修订binding并核对driver。

11. 最终DT

1
2
dtc -I fs -O dts /sys/firmware/devicetree/base > running.dts
grep -n -E 'usb@|usbdrd|usb2-phy|usbdp|typec|connector' running.dts

板级include覆盖很多,运行DTB是最终事实。

文章互动

阅读 --

留言

0 条留言

正在加载留言…