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/DP8.3822万HF:DP8.3822万HF FX无法正常工作。

Guru**** 2463330 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/591228/linux-dp83822hf-dp83822hf-fx-not-working

部件号:DP8.3822万HF
主题中讨论的其他部件: DP8.3822万IF

工具/软件:Linux

你(们)好

我正在使用AM572x定制板

 并且,DP 8.3822万HF连接到RPU2 eth0/eth1

我有疑问。

问题1.  GENCFG (0x465)"phy_read"值无效。

    当我设置 "phy_write(phydev,0x465,0x1)"时,该值未更改;

=== DP8.3822万HF_READ_STATUS 761=
BMCR(0x0):0x3100
BMSR (0x1):0x7849
PHYIDR1(0x2):0x2000
PHYIDR2 (0x3):0xa240
CR1 (0x9):0x0
CR2 (0xA):0x4100
PHYSCR(0x11):0x4100
RCSR (0x17):0x41
LEDCR (0x18):0x400
PHYCR (0x19):0x21
GENCFG(0x465):0xffffffea
===================

问题2. DP8.3822万HF注册值正确。
    但是 ,我不知道FX为什么不起作用。

此致

John

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

    有问题的寄存器0x465是一个扩展寄存器,因此具有与状态转储中的其它寄存器不同的访问方法。

    我不确定AM572x MDIO访问是如何创建的,但您可能必须使用DP8.3822万HF数据表的“8.4 .2.5 读取(无开机自检增量)操作”一节中描述的间接访问方法。

    我不确定你在第2季度的问题是什么。 您能详细说明吗?

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

    感谢您的回复。

    我需要在FX模式下操作DP8.3822万HF。


    问题2. 我向CR寄存器写入了0x4000,但它不起作用。
    除了FX_EN之外,是否还有其他设置?


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

    您只需设置寄存器地址0xA的位[14]即可启用FX模式。 您说您写了0x4000,但有一个不应修改的保留字段。

    请读取0xA寄存器的默认值,然后设置位[14],不要更改任何其他位。

    您是否还可以提供一个仅PHY的示意图?

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

    您好,Rodrigues,

    我已经设置了位[14],并且不更改任何其他位。

     

    CR2注册值为0x4100。

    除了FX_EN之外,是否还有其他设置?

    ---------------- 注册集代码----------------------------------

    Val = phy_read (phydev,0xA);

    Val |= 0x4000;

    PHY_WRITE (phydev,0xA,val);

    ----------------------------------

    原理图文件。

    e2e.ti.com/.../PRU2_5F00_1_5F00_FX.PDF

    === DP8.3822万HF_READ_STATUS 761=

    BMCR(0x0):0x3100

    BMSR (0x1):0x7849

    PHYIDR1(0x2):0x2000

    PHYIDR2 (0x3):0xa240

    CR1 (0x9):0x0

    CR2 (0xA):0x4100

    PHYSCR(0x11):0x4100

    RCSR (0x17):0x41

    LEDCR (0x18):0x400

    PHYCR (0x19):0x21

    GENCFG(0x465):0xffffffea

    ===================

    祝您一切顺利,

    John

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

    看起来您正在正确设置寄存器0xA,但我确实有一个问题。 示意图显示了仅用于PHY的磁珠和10nF盖。 请实施DP8.3822万数据表要求的CAP数十载数据。

    从TX切换到FX模式时,PHY可能会缺少电流并导致故障。

    您是否还可以将PHY绑带至FX模式而不是更改寄存器? 您还可以从设计中移除磁珠,并将其替换为0欧姆电阻器。

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

    您好,Rodrigues,

    我尝试了两种(FX Boot strap / DP8.3822万数据表指南)。

    但是,FX模式不起作用。

    我有疑问。

    如何配置DP8.3822万HF的'PECL端接电阻'

     

    此致,

    John

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

    DP8.3822万IF和DP8.3822万HF都是当前模式线路驱动器。
    它们不是PECL,因此具有不同的偏置。
    从所附的原理图来看,您似乎没有正确地偏置PHY。
    有关正确光纤连接的信息,请参阅数据表中的第89页(第9.2 2节)。

    您需要在TD和RD引脚上使用50欧姆端接,并带有0.1uF直流阻塞盖。

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

    我尝试了这两种(50 ohm /0.1uF cap)。
    但是,FX模式不起作用。

    尝试通过MDIO读取寄存器0x0001基本模式状态寄存器时,结果为0x7849,表示链路和自动协商位已关闭。 LED指示灯显示链接和自动协商已完成。

    也有类似的情况。
    网址: e2e.ti.com/.../203.2488万

    但我不知道为什么Read 0x01寄存器需要两次读取。
    这是否与此问题有关?

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

    BMSR需要2次读取,因为链路位为低锁定,用于调试目的。 您必须始终阅读BMSR两次才能查看链路状态。

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

    我试了两次读。 (BMSR:0x7849)
    但FX不起作用。

    还有其他解决办法吗?
    请告诉我。

    此致,
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道SFP模块信号。

    我想知道phy (TD+,TD-,RD+,RD-)之间SFP模块的波形信号。

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

    您的问题之一可能是您的SFP有LOS信号。 在您之前在线程中发布的图表中,SFP显示了LOS或信号引脚丢失。 DP8.3822万HF支持SD针脚或信号检测。

    SFP的LOS输出必须反转,以向DP8.3822万HF提供正确的SD输入,以指示光纤链路可用。 可以通过将寄存器0x465中的bit[0]更改为1来实现此操作。

    另外,您将RX_ER引脚捆扎到哪个模式?

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

    SFP的LOS输出必须反转,以向DP8.3822万HF提供正确的SD输入,以指示光纤链路可用
    ->我已经完成了。

    可以通过将寄存器0x465中的bit[0]更改为1来实现此操作。
    ->我尝试了两者。 (将寄存器0x465中的位[0]更改为1或0。)
    ->但是,FX不起作用

    另外,您将RX_ER引脚捆扎到哪个模式?
    ->我使用了RX_ER引脚模式1。 它是RGMII_EN '0'和SD_DIS '0'。


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

    我有疑问。

    DP8.3822万HF不是PECL。
    但是,大多数SFP模块都是PECL类型。

    我应该使用哪种类型的模块?

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

    822是当前模式线路驱动程序,并且大多数SFP是PECL,这并不重要。
    这就是您使用直流阻隔电容器的原因。 请参阅DP8.3822万HF数据表中的示例图。
    您将看到我们建议使用0.1uF DC阻塞盖。

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

    我解决了问题。

    问题是phy addr都是'0'。 (PRU2-0 ADDR:0 / PRU2-1 ADDR:0)

    这是我的错误。

    此致,
    John Kim