根据两个DTS文件的对比分析,rk3399-sx390-0926(USB无电)与rk3399-hs530r(USB有电)的USB电源管理差异主要集中在以下核心配置维度:
1. 电源域(Power Domains)配置差异
rk3399-sx390-0926:
- USB控制器(如EHCI/OHCI)的
power-domains配置为0x16 0x0e或0x16 0x18,对应电源域节点未在文件中显式定义(需结合硬件设计验证)。 - USB3 PHY的
power-domains配置为0x16 0x08或0x16 0x09,但未关联具体的电源域控制逻辑(如PMIC通道或PMU寄存器)。 - 电源域节点(如
/power-management@ff310000/power-controller/power-domain@25)未在文件中明确关联到USB控制器。
- USB控制器(如EHCI/OHCI)的
rk3399-hs530r:
- USB DWC3控制器的
power-domains直接引用0x08 0x125(对应usb3-otg电源域),且电源域节点在文件中显式定义(如/power-management@ff310000/power-controller/power-domain@25)。 - USB3 PHY的
power-domains配置为0x18 0x08或0x18 0x09,并关联到具体的电源域控制逻辑(如usb3-phy-power-domain)。 - 电源域节点明确配置了时钟和复位信号(如
resets = <0x08 0x95>),确保电源域可动态管理。
- USB DWC3控制器的
关键差异:hs530r的USB电源域配置更完整,直接关联到硬件电源管理单元(PMU/PMIC),而sx390-0926的电源域配置缺失或未正确引用,导致USB无法上电。
2. 时钟与复位配置差异
sx3390-0926:
- USB控制器时钟配置(如
hclk_host0、usbphy0_480m)虽存在,但未与电源域状态联动(如时钟未在电源域启用后自动开启)。 - 部分PHY节点(如
USB3 PHY 0)的resets配置缺失,导致复位逻辑不完整。
- USB控制器时钟配置(如
hs530r:
- USB控制器时钟(如
ref_clk、suspend_clk)与电源域状态强关联(如assigned-clocks确保时钟在电源域启用后生效)。 - USB3 PHY的
resets配置完整(如uphy、uphy-pipe复位信号),确保PHY初始化顺序正确。
- USB控制器时钟(如
关键差异:hs530r的时钟和复位配置与电源域状态紧密联动,而sx390-0926的配置缺乏联动逻辑,导致USB无法正常上电。
3. PHY配置差异
sx3390-0926:
- USB2 PHY的
phy-supply未配置(如phy-supply = <0x95>缺失),导致PHY供电电压不稳定。 - USB3 PHY的
rockchip,grf配置缺失,影响PHY寄存器访问。
- USB2 PHY的
hs530r:
- USB2 PHY的
phy-supply明确配置(如phy-supply = <0x95>),确保PHY供电稳定。 - USB3 PHY的
rockchip,grf配置完整(如reg = <0x15>),确保PHY寄存器可被正确访问。
- USB2 PHY的
关键差异:hs530r的PHY配置更完整,确保供电和寄存器访问正常,而sx390-0926的PHY配置缺失导致功能异常。
4. 状态(Status)配置差异
sx3390-0926:
- 部分USB控制器(如
USB EHCI Controller 0)的status虽为okay,但依赖的电源域未启用,实际处于无效状态。
- 部分USB控制器(如
hs530r:
- 所有USB控制器的
status均为okay,且依赖的电源域、时钟、复位均配置完整,确保状态有效。
- 所有USB控制器的
关键差异:hs530r的status配置与底层硬件状态一致,而sx390-0926的status可能因依赖配置缺失而失效。
结论与建议
- 根本原因:sx390-0926的USB电源域、时钟、复位及PHY配置不完整或未正确关联,导致USB无法上电;hs530r的配置更完整且逻辑严密,确保USB正常工作。
修复建议:
- 在sx390-0926的DTS中补充USB电源域节点定义(如
/power-management@ff310000/power-controller/power-domain@25),并关联到USB控制器。 - 完善USB控制器的
power-domains、resets和assigned-clocks配置,确保与电源域状态联动。 - 补充USB PHY的
phy-supply和rockchip,grf配置,确保供电和寄存器访问正常。 - 验证所有配置的
phandle和#phy-cells引用是否有效(如0x16、0x18等值是否对应实际节点)。
- 在sx390-0926的DTS中补充USB电源域节点定义(如
通过以上配置修正,可确保sx390-0926的USB电源管理逻辑与hs530r一致,解决USB无电问题。
评论 (0)