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/AM3359:以太网 PHY 问题

Guru**** 2595805 points
Other Parts Discussed in Thread: AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647486/linux-am3359-ethernet-phy-issue

器件型号:AM3359

工具/软件:Linux

大家好

我们设计了自己的板、它具有 AM3359两个 PRU eth 端口、连接到 ksz8895、这是一个 SW 芯片(phy)。

CPU 和 SW 芯片之间的控制接口通过 SPI。

我们的 SDK 是 ti-processor-sdk-linux-rt-am335x-evm-03.01.00.06。

现在以太网正常工作、但在重新启动后的一段时间内、

当 使用 ifconfig 命令时、eth 设备将不显示没有 eth 接口的设备。

以下是两个引导日志文件。

我将引导消息与正常的引导日志文件进行比较

并发现  在 混乱 的情况下:

(1):有很多:

wkup_m3_IPC 44e11324.wkup_m3_IPC:无法获取 rproc 句柄

在正常情况下、此信息只有一行。

(2): 首先加载 remoteproc0/1驱动程序、然后加载 ehternet 驱动程序(可以看到我自己的驱动程序"zdl SPI 0 cs xx")。

我对 PRU 驱动程序了解不多、  

是否有任何机构对如何处理该问题有任何建议?

e2e.ti.com/.../dmesg_5F00_dispeared.txt

e2e.ti.com/.../dmesg_5F00_norma.txt

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

    由于无法连接 phy、因此推理的面出现了混乱:
    "[14.266012] prueth pruss_eth:zdl 无法连接 phy -871916282";
    这是因为 PRUeth 驱动程序在未初始化 SPI 驱动程序时未找到 phy [14.265993]。 SPI 驱动器在"[ 15.557193] zdl 将 SPI 设置为主模式"时启动。

    是否有人知道为什么驱动程序的顺序顺序在某个时间内有所不同?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    外部开关是如何连接的? PRU MII?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、PRU MII。
    我们不使用 MDIO 端口、而是使用 SPI。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Deliand:

    错误消息"...无法连接 phy -871916282"是由于尝试创建物理设备失败而导致的。 phy_attach_Direct 例程检测并返回结果。 您应该修改行和连接。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    恐怕这不是我们可以使用电路板进行测试的用例。 我只能建议您在 Remoteproc 加载 PRU 固件之前移动 SPI 初始化。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Tsvetolin、

    是的、我看到函数 phy_attach_Direct。
    但这不是根本原因。
    我认为逻辑是这样的:
    SPI 从 prueth 开始->当 prueth 初始化时 phy 未就绪->无法连接 phy->没有 eth 接口。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨、Biser & Tsvetolin、

    我已经谷歌过内核驱动程序将启动前面的模块。
    我已经将 SPI 内核内置、并将 prueth 驱动程序保留在模块中、我继续进行测试。

    您是否知道可控制序列顺序的其他方法?
    我找到 BSP 使用系统。 它可以这么做吗?