ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
本節(jié)介紹一些基本的以太網(wǎng) PHY 調(diào)試步驟,旨在確保 PHY 已初始化并正確運行。
要檢查的第一個區(qū)域是以太網(wǎng) PHY 的電源和時鐘輸出信號。如果可能,請查閱以太網(wǎng) PHY 供應(yīng)商的故障排除指南。例如,TI DP83869 以太網(wǎng) PHY 的故障排除指南演示了如何對 DP83869 PHY 進行基本評估。
出于討論目的,這里以 DP83869 故障排除指南 作為以太網(wǎng) PHY 電壓和時鐘基本調(diào)試的示例。
以太網(wǎng) PHY 上有一些外設(shè)引腳需要密切關(guān)注。參考故障排除指南的外設(shè)引腳檢查 部分有這些引腳的具體說明。參考故障排除指南中還提供了更多詳細信息。
ethtool
實用程序(例如 ethtool eth0
)訪問 PHY 寄存器,則無需執(zhí)行此步驟如果已驗證外設(shè)引腳正確并且 MDIO 總線正確發(fā)送信號,但是未與 PHY 進行通信,那么下一個調(diào)試步驟是檢查 MDIO 驅(qū)動程序和所選的 PHY 驅(qū)動程序。節(jié) 5介紹了對 MDIO 驅(qū)動程序和通信的分析。在如何集成 Linux 驅(qū)動程序 應(yīng)用手冊的 dmesg | grep -i mdio
部分提供了一個額外的參考,其中介紹了一個 MDIO 交互示例。
處于 RGMII 模式時,請?zhí)貏e注意 MAC - PHY 接口。這里的關(guān)鍵調(diào)試元素是從 PHY 到 MAC 的 RX 時鐘需要相對于 RX 數(shù)據(jù)延遲。如果該時序不正確,則會導(dǎo)致以太網(wǎng)幀的接收出現(xiàn)問題。諸如丟幀或 RX CRC 錯誤等錯誤將在 MAC 層被測量到。在 RGMII 接口模式下運行時,TI 基于 Arm? 的處理器 MAC 會自動對 TX 時鐘施加相對于 TX 數(shù)據(jù)的 2ns 延遲。另一個注意事項是電路板布局布線以及時鐘和數(shù)據(jù)線布線長度對于定義正確的時鐘延遲至關(guān)重要。高速接口布局指南 應(yīng)用手冊提供了有關(guān)高速布局重要性的信息。
電路板 DTS 定義了由 PHY 驅(qū)動程序使用的 RX 時鐘延遲信息。有關(guān)如何配置 RX 時鐘延遲的示例,請參閱如何集成 Linux 驅(qū)動程序 應(yīng)用手冊。
以下代碼片段是關(guān)于如何配置 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 以太網(wǎng) PHY 數(shù)據(jù)表,其中定義了必要的 RX 時鐘延遲。
章節(jié)摘要:
如何驗證以太網(wǎng) PHY 是否在運行