请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:PHYTC-3P-PHYCORE-AM335X 在内核4.x 中、有一个 DTS 选项可将 RMII 配置为使用外部时钟:
phy_SEL{&
RMII-时钟-外部;
};
在内核5.10中、已被弃用、并被 phy-gmii-SEL 取代:
dT-bindings:net:TI:弃用 cpsw-phy-SEL bindings
cpsw-phy-SEL 驱动程序已替换为新的 PHY 驱动程序 phy-gmii-SEL、因此弃用 cpsw-phy-SEL 绑定。
RMII-clock-ext 似乎不是 phy-gmii-SEL 驱动程序中的选项。
我们如何确定外部时钟已启用? 我的理解是内部时钟具有太多的抖动。
在50%的启动时、我们注意到 Eth0上的连接速度非常慢。 如果我们执行 ifconfig eth0 down;ifconfig eth0 up 序列、连接将恢复并再次快速。
我们使用了 ethtool 和铁鲨来发现、当连接缓慢时、我们会遇到许多 CRC 错误。 当我们重新启动链路时、CRC 错误消失、速度正常。
在出现类似问题的几个帖子中、他们的解决方案是启用外部 RMII 时钟。 但是、对于 Linux 5.10、我们不确定如何使用新驱动程序启用它、或者检查它是否启用。
相关帖子: