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/AM3352:复位后未初始化以太网 PHY

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642886/linux-am3352-ethernet-phy-not-initialized-after-reset

器件型号:AM3352

工具/软件:Linux

我们有一个自定义 AM335x 板、其中和在 RMII 模式下运行的 LAN8710AI。  我已根据需要修改内核中的板级配置文件以支持板。  下面是我在以太网中观察到的情况:

内核引导一切正常工作后、可以对控制器执行 ping 操作。  

我们有一个控制器 GPIO 连接到  LAN8710AI 的 nRST (系统复位)引脚、如果我将 LAN8710AI 置于复位状态、然后使其退出复位状态、并尝试重新初始化以太网接口;初始化失败

编号
# ifconfig eth0 down
# ifconfig eth0 169.254.1.1 up
[738.345970] net eth0:正在初始化 cpsw 版本1.12 (0)
[738.355700] net eth0:从器件0上找不到 PHY"/ocp/ethernet@4a100000/MDIO@4a101000/Ethernet-phy@0"
[738.369450] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪
编号
编号

有什么关于这个问题的想法吗?  

复位后是否需要重新配置 PHY (LAN8710AI)?

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

    您应该检查的一件事是 PHY 自举电阻器值-它们是否与初始启动时的值相匹配。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "初始启动"时间意味着 Linux 内核启动时间? 还是在 u-boot 中?

     我不确定如何从用户空间读取 PHY 寄存器。

     我们使用的是内核版本4.9.28 (TI 处理器 SDK 4.00.04)

    ________________________________________________________________

    在我原来的帖子中、我漏掉了提到我们有两个以太网接口 eth0和 eth1:

    我已经描述了我们在原始帖子中遇到的 eth0问题、eth1也连接在同一复位线路上。

    因此、用于 eth0和 eth1的 PHY 将  同时复位。

    用于 eth1的 PHY 是 KSZ9031RNX。 复位后、我们发现 eth1正常工作、没有任何问题。

    但是 、带有 PHY LAN8710AI 的 eth0在复位后停止工作。

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

    您能否随附一份包含 DTS 中描述 MDIO 和 EMAC 节点的部分的文档?

    此致、
    Schuyler