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:IT LAN LAN 上行/下行问题支持-紧急!

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/718739/linux-dp83867ir-it-lan-lan-up-down-issue-support--urgent

器件型号:DP83867IR

工具/软件:Linux

我们的客户遇到紧急问题、需要帮助!

他们的公司有一个 RSB-468项目和15件产品、并发现6件 LAN 上/下故障。 具体描述为:
禁用 LAN、然后启用 LAN,LAN 将不起作用、必须多次重新启动或启用、然后功能正常。
(__LW_AT__)TI LAN PHY DP83867IRRGZT

1.用户环境:android6.0 (kernel3.10),如果配置 eth0 down/up,则将随机解决该问题。    

2.他们的工程师配置了类似这个 μ:的寄存器

       //地址掩码值

       0x0014 0x200 0x200

       0x0018 0x0x0x65b

       0x001e 0x200 0x200

       0x0032 0x3 0x3

       0x0086 0xff 0x80

       0x0170 0x1f00 0x0000

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

    您是否有该设计的原理图? 我想查看您的原理图。

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

    e2e.ti.com/.../SCHEMATIC1-_5F00_-17_5F00_-LAN_5F00_DP83867IRR.pdf

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

    感谢您提供原理图。 我有一些注释:

    根据原理图、DP83867的 CLK_OUT 会路由到 MAC。 寄存器配置显示通道 A 恢复的时钟正在发送到 MAC。 MAC 模块的时钟要求是什么?

    另外、您能否给我一张有关连接失败情况的屏幕截图? 我无法判断故障是通过链路位、寄存器访问还是通过数据进入 MAC。

    请在故障期间提供寄存器地址0x0至0x1f 的寄存器值、并包括0x32、0x86、0x170

    正在使用哪种电缆? 电缆中是否全部有4对? 哪个链路合作伙伴连接到 DP83867?

    设置照片以及视频(如果可能)都很好。

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

    将 eth0设置为 down、然后设置为 up、没有连接到1000M 的 LAN

    连接 到 CPU 的第18个引脚 CLK_OUT 作为 GMAC 内部的参考时钟;
    配置平台为 ARM+DP83867。

    该寄存器为:
    0x006E:0x5

    0x006F:0x100

    发生故障时、寄存器为0xFFFF

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

    方框图就是这样、有关网络的信息是在1000M 的情况下使用 A/B/C/D 4对 LAN;在10M 和100M 的情况下使用 A/B 2对 LAN。

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

    感谢您提供信息。

    如果 PHY 用所有 F 对寄存器读取做出响应、则 PHY 和 MAC 之间的通信出现问题。 PHY 处于复位或断电状态、或 PHY 未达到 PHY ID。 由于 MDIO 在这种情况下不工作、表明链路已断开的指示可能不准确。

    我不是 Linux/Android 专家、因此我不清楚 ifconfig 如何禁用 DP83867。 如果通过频带复位线路或将复位线路保持在 PHY 上来禁用 PHY、同时 RGMII 上存在数据、则 DP83867可能会捆绑到不同的 PHY ID。

    如果您的限流电阻器与 RGMII 信号一致、则可以移除这些电阻器、您可以测试此行为。 移除限流电阻后、DP83867应在每个复位脉冲期间捆绑到相同的 PHY ID 中。

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

    您好、Rob

    感谢您的帮助、客户对这些功能进行了一些说明:


    禁用意味着下拉 PHY 的第43个引脚、因此使 PHY 处于复位模式,启用意味着释放复位。

    关于 PHY 地址模式,正如前面提供的原理图所示,、没有 RX_D0和 RX_D2,的上拉或下拉电阻器、并且状态都在数据表记录的第46页中打开、这也意味着电平设置的 PHY_ADD3/2/1/0是由硬件设置的0000。  

    默认状态下,RESET 始终为高电平、无下拉操作,SW 为00,、其 PHY_ADD3/2/1/0为0000。

    ,、当 RESET 下拉,,RX_D0和 RX_D2的电压约为200mV,、因此它介于 mode0和 mode1,之间、SW 为05 μ s、因此它是 PHY_ADD3/2/1/0IS 0101原因是什么?

    附加的是触发复位的波形从禁用到启用。  此致。

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

    "但当 RESET 下拉,RX_D0和 RX_D2的电压约为200mV"

    这可能是由连接的 MAC 引脚上的内部上拉电阻引起的。 DP83867具有9k 的内部下拉电阻。 看到 RX_D0的电压为~200mV、这表示由于 VDDIO = 1.8V、RK3288在这些线路上具有等效的内部上拉电阻~72k。

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

    客户更新了问题:
    RK3288 MAC 有一个上拉电阻器、其范围如下所示、因此如何确保 TI_83867的 PHY_ID 在 RESET?后不被修改

    并且他们在同一电路板上尝试了0000~1111 Ω 的 PHY_ID (内部上拉电阻为72KΩ Ω)、并发现如果包含 mode1 (0000/0001/0010/0011/0100/1000/1100)、则在复位后将修改 PHY_ID。

    由于 MAC 中的上拉电阻器范围,除了下拉电阻器之外,TI_83867的数据表中还包括9K±25%(6.75K~11.25K)的下拉电阻器,因此很难验证每种情况,
    那么、如果在 PHY_ID=0000中有实用的解决方案吗?

    例如:
    组合1:CPU RPU=100K、PHY RPD=9K、断开时电压为0.149V、当在 Mode1范围内复位时 PHY_ID 正常。
    组合2:CPU RPU=50K、PHY RPD=10K、断开时电压为0.3V、当 mode2范围内复位时 PHY_ID 异常。

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

    尊敬的 Rob:

    我们的客户验证了解决方案、但他们需要评估可行性和风险、因此我真的需要您的帮助。

    启动过程:

    旧解决方案:引导,上拉复位和 PWDN 硬件控制位。 然后在 CPU 初始化之后和配置 PHY 之前下拉复位并将复位释放为高电平。

    修改了解决方案:BOOT,上拉复位和 PWDN 硬件控制位。 SW 无下拉操作。

    在系统:中运行

    旧解决方案:禁用是下拉 PHY 的第43个引脚复位以使 PHY 处于复位模式、使能是释放复位。

    修改后的解决方案:禁用是为了下拉 PHY 的第44引脚 PWDN 以使 PHY 处于 PWDN 模式、启用是为了释放 PWDN。

    此致。