This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/DP83867IR:无法完成 MII 环回测试

Guru**** 2933120 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/689889/linux-dp83867ir-cannot-complete-mii-loopback-test

器件型号:DP83867IR

工具/软件:Linux

尊敬的专家:

我们在客户电路板上使用 DP83867I+ZYNQ7010 FPGA、FPGA 和 PHY 之间的接口为 RGMII。 现在、我们发现 PHY 寄存器可以通过 MDIO 正常访问、而网络连接无法连接。

1.拔插和拔插 RJ45时,Zynq OS 中有相应的指示:链路向上和链路向下。

2.从 PC ping 客户电路板、并在 Linux 中通过 ifconfig 命令检查、查找 RX 封装始终在增加、而 TX 不变。

我们计划使用 MII 环回来测试物理信号环路。 根据数据表中的流程:

a)      禁用自协商。                                   

b)      禁用 Auto-MDIX                  

c)      将 LOOPCR 设置为0xE720

d)      CTRL BIT14软重启

一旦 LOOPCR 被设定为0xE720、我们发现 PHY 在复位前不能再通过 MDIO 访问。

您能不能帮助我检查上述步骤中是否有任何错误、或者澄清 MII 环回测试的正确生产者、非常感谢。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肯特、您好!

    当您写入寄存器0xFE 时、是否使用扩展寄存器访问?
    当您说 PHY 不可访问时、这是否意味着您在读取任何寄存器时没有收到响应?
    如果返回的值为0xFFFF 或0x0?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ross、

    感谢您的回答。

    我不确定寄存器0xFE 的访问模式、因为我在 u-boot 下使用 "MII Read"和"MII write"命令。 我需要尽快查看代码和反馈。

    当读取和写入寄存器0-16时、所有返回值都是正确的。

    写入寄存器0xFE 后,无响应。   "MII 写入0xF 0xFE 0xE720"

    然后改回读寄存器0、也没有响应。

    在我们复位 PHY 之前、通信会恢复。  

    谢谢。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肯特、您好!

    检查以确保您对该寄存器使用扩展寄存器访问。
    这可能是问题所在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肯特、您好!

    您是否能够检查此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ross:

    很抱歉我耽误了时间。 我通过针对 MII 回送测试的扩展寄存器访问模式来设置寄存器、并且发现 RX/DX 没有数据包。  我还通过设置以下寄存器以另一种方式进行测试、但也失败了。

    1. 地址0x0016 = 0x0004
    2. 地址0x0000 = 0x0140
    3. 地址0x001F = 0x4000