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.

[参考译文] DP83869HM:定义模式的 Linux Phy 驱动程序错误。

Guru**** 2392475 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1309031/dp83869hm-linux-phy-driver-bug-defining-the-mode

器件型号:DP83869HM
主题中讨论的其他器件:DP83869

我将使用 Linux 5.15内核、并尝试通过在 SGMII (SGMII 转铜缆)配置下运行的 DP83869 PHY 获取以太网链路。  

我已为此配置设置了搭接。  我没有在器件树中明确设置模式、如文档所示:

TI、运算模式
说明:
      PHY 的工作模式。  如果未设置此位、则工序
      由搭接设置模式。 请参阅 dt-bindings/net/ti-dp83869.h 以了解值

不过、当我首次加载驱动程序时、它会以 RGMII 模式出现。  事实证明、驱动程序函数 dp83869_set_straped_mode 阅读 Strap 配置_STS 但在位0-2中查找模式、而不是在正确的位9-11中查找。  

   VAL = PHY_READ_MMD (phydev、DP83869_DEVADDR、DP83869_STAP_STS1);
   如果(val < 0)
      返回 val;

   dp83869->mode = val 和 DP83869_stap_OP_mode_mask; // val 和0x7

这看起来像是内核错误、或者我是否遗漏了某个东西?
我注意到它在6.x 内核中仍然是这样的。  是否有任何计划来修复此错误?

 
(我可以通过显式设置模式来解决这一问题、但如果正确、可能节省了大量时间。)

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

    尊敬的 Doug:

    很抱歉你必须解决这个问题。 如果可以通过调整 OP_MODE_MASK 来修复此问题、请执行此操作。 我们意识到了这个问题、目前正在努力更新869驱动程序。  

    此致、

    阿尔瓦罗