ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
本节介绍一些基本的以太网 PHY 调试步骤,旨在确保 PHY 已初始化并正确运行。
要检查的第一个区域是以太网 PHY 的电源和时钟输出信号。如果可能,请查阅以太网 PHY 供应商的故障排除指南。例如,TI DP83869 以太网 PHY 的故障排除指南演示了如何对 DP83869 PHY 进行基本评估。
出于讨论目的,这里以 DP83869 故障排除指南 作为以太网 PHY 电压和时钟基本调试的示例。
以太网 PHY 上有一些外设引脚需要密切关注。参考故障排除指南的外设引脚检查 部分有这些引脚的具体说明。参考故障排除指南中还提供了更多详细信息。
ethtool
实用程序(例如 ethtool eth0
)访问 PHY 寄存器,则无需执行此步骤如果已验证外设引脚正确并且 MDIO 总线正确发送信号,但是未与 PHY 进行通信,那么下一个调试步骤是检查 MDIO 驱动程序和所选的 PHY 驱动程序。节 5介绍了对 MDIO 驱动程序和通信的分析。在如何集成 Linux 驱动程序 应用手册的 dmesg | grep -i mdio
部分提供了一个额外的参考,其中介绍了一个 MDIO 交互示例。
处于 RGMII 模式时,请特别注意 MAC - PHY 接口。这里的关键调试元素是从 PHY 到 MAC 的 RX 时钟需要相对于 RX 数据延迟。如果该时序不正确,则会导致以太网帧的接收出现问题。诸如丢帧或 RX CRC 错误等错误将在 MAC 层被测量到。在 RGMII 接口模式下运行时,TI 基于 Arm® 的处理器 MAC 会自动对 TX 时钟施加相对于 TX 数据的 2ns 延迟。另一个注意事项是电路板布局布线以及时钟和数据线布线长度对于定义正确的时钟延迟至关重要。高速接口布局指南 应用手册提供了有关高速布局重要性的信息。
电路板 DTS 定义了由 PHY 驱动程序使用的 RX 时钟延迟信息。有关如何配置 RX 时钟延迟的示例,请参阅如何集成 Linux 驱动程序 应用手册。
以下代码片段是关于如何配置 RX 时钟延迟的 DTS 示例。
(Linux Source tree directory) arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi (a portion from this file)
#include <dt-bindings/net/ti-dp83867.h> <-- Has the macro defines used in the phy node
cpsw3g_phy0: ethernet-phy@0 {
bootph-all;
reg = <0>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; <-- rx clock delay
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
ti,min-output-impedance;
};
此处所需的 RX 时钟延迟的示例参考了 DP83869 以太网 PHY 数据表,其中定义了必要的 RX 时钟延迟。
章节摘要:
如何验证以太网 PHY 是否在运行