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.

[参考译文] DP83TG720S-Q1:器件针对 RGMII 模式进行了配置、以 SGMII 模式运行、可以##39;t 进行更改

Guru**** 2487425 points
Other Parts Discussed in Thread: DP83TG720S-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1417393/dp83tg720s-q1-device-is-strapped-for-rgmii-mode-comes-up-in-sgmii-mode-can-t-be-changed

器件型号:DP83TG720S-Q1

工具与软件:

我们有一个 DP83TG720S-Q1 PHY、它在硬件复位后以 SGMII 模式启动。 从 U-Boot 中、寄存器0x45D (SOR_VECTOR_1)回读为0x2008、以表示

SGMII_EN=1、RGMII_EN=0、MAC_MODE=0x0=SGMII、PHY_AD=0x8

不过、我们需要 PHY 在 RGMII 模式下运行、我们认为是为此设置了电阻器搭接。

从 U-Boot 读取寄存器0x45d:

 

UBoot>MII 写入0x8 0xd 1f;

        MII 写入0x8 0xe 0x45d;

       MII 写入0x8 0xd 0x401F;

       MII 读取0x8 0xe

2008.

 

我们看到过此论坛帖子: DP83TG720R-Q1:MAC 地址和 RGMII 模式选择、上拉电阻器-接口论坛-接口- TI E2E 支持论坛

 并尝试按照以下顺序从 U-Boot 将 PHY 置于 RGMII 模式:

 

GPIO 清除21  #置位 PHY 复位线

GPIO set 21;   # deassert reset

 

#清除0x608中的第9位以禁用 SGMII

MII 写入0x8 0xd 1f;

MII 写入0x8 0xe 0x608;

MII 写入0x8 0xd 0x401F;

MII 写入0x8 0xe 0x7B;

 

#设置0x600中的位3 以启用 RGMII

MII 写入0x8 0xd 1f;

MII 写入0x8 0xe 0x600;

MII 写入0x8 0xd 0x401F;

MII 写入0x8 0xe 0x128

当我们读回这两个寄存器时、它们会匹配我们写入的值(分别为0x7B 和0x128)、但寄存器0x45d 始终回读为0x2008。 我还尝试了写入 BMCR 位15以在执行此操作后软复位 PHY、并且仍然在0x45d 中看到0x2008。 此外、我们没有看到与 MAC 进行通信、且 PHY 仍然显示为 SGMII 模式。

电源上升时间完全在数据表规格范围内、我们已确认当 PHY 对搭接电阻器进行采样时、RGMII 线路为静态(FPGA 侧具有高阻抗)。 我们已使用示波器探测了 RGMII 线路、并确认 PHY 清楚地处于 SGMII 模式。

对于如何将 PHY 切换到 RGMII 模式、或者为什么它进入到错误的模式、您有什么想法吗?

谢谢!  

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

    我们确定该问题已通过添加2.49k 自举电阻器得到解决。 通过 MDIO 更改模式的已发布程序不起作用、这仍然令人担忧。