ZHCADI5 December   2023 DP83869HM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1DP83869 应用概述
  5. 2排查应用问题
    1. 2.1 配置正确的运行模式
    2. 2.2 原理图和布局检查清单
    3. 2.3 元件检查清单
    4. 2.4 外设引脚检查
      1. 2.4.1 电源
      2. 2.4.2 RBIAS 电压和电阻
      3. 2.4.3 探测 XI 时钟
      4. 2.4.4 探测 RESET_N 信号
      5. 2.4.5 在初始化期间探测 Strap 配置引脚
      6. 2.4.6 探测串行管理接口信号(MDC、MDIO)
      7. 2.4.7 探测 MDI 信号
    5. 2.5 具有各种环回模式的内置自检
    6. 2.6 调试 MAC 接口
      1. 2.6.1 RGMII
      2. 2.6.2 SGMII
  6. 3澄清了运行模式
    1. 3.1 桥接模式
    2. 3.2 光纤配置
      1. 3.2.1 光纤寄存器
  7. 4工具和参考
    1. 4.1 DP83869HM 寄存器访问
    2. 4.2 扩展寄存器访问
      1. 4.2.1 读取(无后增量)操作
      2. 4.2.2 写入(无后增量)操作
    3. 4.3 Linux 上的软件和驱动程序调试
      1. 4.3.1 普通端子输出
  8. 5总结
  9. 6参考资料

普通端子输出

以下部分旨在提供可用于调试驱动程序相关问题的常见终端命令。

$ dmesg | grep "mdio"

可能的输出之一如下所示:

$ mdio_bus xxx.ethernet-x: MDIO device at address 8 is missing

该消息指示 PHY 未在 MDIO 总线上找到,这可能是由多个问题引起的。一种常见原因是器件树缺失或不正确,但也可能是由于 PHY 无法正常工作或 SMI 连接不良。

一旦可以在 MDIO 总线上检测到 PHY,另一个常见错误消息如下所示:

$ Generic PHY xxx.ethernet-x: attached PHY driver [Generic PHY]

该消息指示相应 PHY 的驱动程序文件未正确加载或根本不存在,并且加载到通用驱动程序中的 Linux 很可能无法与 PHY 配合使用。在这种情况下,请验证驱动程序是否已成功编译,是否是在构建 Linux 时添加,以及驱动程序是否与所使用的 PHY 型号相匹配。

最后,可能显示如下消息:

am65-cpsw-nuss 8000000.ethernet eth1: PHY [mdio_mux-0.1:03] driver [TI DP83869] (irq=POLL)

该消息显示 PHY 已加载正确的驱动程序并成功检测到。运行 ifconfig 验证网络接口是否存在。当 PHY 成功识别为网络适配器时的示例 ifconfig 输出:

root@am64xx-evm:~# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 34:08:e1:80:b5:f8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 70:ff:76:1e:9e:a6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 90  bytes 6824 (6.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 6824 (6.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0