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.

[参考译文] AM5728:同时使用两个 PCIe 端口

Guru**** 2584275 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588371/am5728-simultaneous-use-of-both-pcie-ports

器件型号:AM5728

你(们)好

我将设计一个主板、将 AM5728用作 CPU、将 Linux 用作操作系统。 我将在其中使用一些 PCIe 和 PCI 插槽。 我想确保使用 PCIe 交换机和 PCIe 转 PCI 桥接器。 我计划将 PEX8609 用作 PCIe 开关(它已与 iMX6Q CPU 搭配使用)、并将 TI XIO2001 用作 PCIe 转 PCI 桥接器。

1-是否可以同时在 x1中操作 PCIESS1和 PCIESS2?

2-是否可以通过 PCIe 交换机将 x4 PCIe 外设卡(EP)连接到 AM5728?

3-是否需要对 Linux 内核或驱动程序进行一些更改才能使以下系统正常工作?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PCIe 专家已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Aidin、

    是的、AM5728可以启用两个 PCIe 端口。

    AM5728仅涉及连接到它的设备。 它将枚举电桥和开关并检测下游器件。 AM5728将显示其 PCIe 端口能够支持 x1。 我认为下游 x4 PCIe 无法从其功能中获得很大的好处。

    更改将出现在 DTS 文件中、以配置两个 PCIe 端口。 TI AM5728 GP EVM 仅配置了1个 PCIe 端口。

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

    您好 Rex

    非常感谢您提供的信息。 在制作硬件之前、我想在 EVM 上运行一些测试。 我在附近有 Pericom PCIe 交换机和网桥卡。  

    我将一个带有 PI7C9X2G404SL 芯片的 Pericom PCIe x1至3 x1开关卡插入 EVM、但操作系统未检测到它。 我还在  EVM 中插入了一个 Pericom PCIe x1至带有 PI7C9X111SL 芯片的 PCI 桥接卡、但操作系统也没有检测到它。

    我已经使用2个不同的 WiFi 卡测试了 EVM 的 PCIe 模块、看起来 PCIe 总线处于活动状态。 但我无法从开关或电桥获得任何响应。  

    我还将 ASIX MCS9901 miniPCIe 插入到了 EVM 中、但没有响应。

    我提到的所有卡在 PC 中都可以正常工作。

    我已经检查了 EVM 的原理图。 它似乎只是使用 PERSTn 信号、没有 WAKEn 和 CLKREQn。 DTS 文件中只有 PERSTn 条目。 这是否会导致 PCIe 外设模块出现任何问题?

    感谢你的帮助

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

    只是一个更新:我们可以与 PI7C9X111SL PCIe 通信到 PCI 桥接芯片和连接到它的外设卡。 问题来自电源接头。 我们正在尝试从其他模块中获取答案、但没有发现任何问题。

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

    当未检测到设备时、很可能是因为其驱动程序未启用/安装。 我在"ASIX MC9901 Linux"上进行了快速谷歌搜索、在我看来、需要驱动程序并从 ASIX 网站下载。 请参阅 processors.wiki.ti.com/.../PCIe_Debugging 上的"PCIe Debugging (PCIe 调试)"文档 。 不同器件的不同之处在于、但基本概念是相同的。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Aldin、
    如果您已经全部工作、请告知我们...感谢您使用我们的 AM57x。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我已成功地将 PCIe 连接到 PCI 桥接器、并且我使用了2个不同的 PCI 卡。 他们被成功识别、我可以毫无问题地与他们沟通。

    但我无法将 PCIe 开关连接到 AM5728。 Linux 未识别 PCIe 交换机、我还无法确定它。

    有什么建议吗?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Rex
    我们知道驱动程序的安装。 我们已经编译了 AM5728的驱动程序、并检查了它(#insmod)是否在目标上运行。 问题是、PCIe 总线上甚至未检测到 ASIX 端点器件。 lspci 命令的输出未显示该命令。 但是、即使未安装驱动程序、lspci 命令的输出也应显示器件。 例如、我使用 Intel Wi-Fi 5100卡、它被 lspci 检测到(该卡的驱动程序不适用于 ARM 平台、而 Intel 只是为 x86和 x64平台提供了 ucode)。
    我怀疑 ASIX 使用的控制信号有问题,因为 AM5728 PCIe 仅提供 PERST#,不支持 WAKE#和 CLKREQ#等其他信号。

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

    我们没有这款 ASIX 器件的相关经验、但我下载了它的 Linux 驱动程序并查看了该软件包。 您是否按照自述文件中的步骤交叉编译模块并重建内核? 这是我唯一能想到的东西。
    我不熟悉硬件信号来判断它们是否重要、但如果重要、是否会导致与其他终端器件的兼容性、而不仅仅是 ASIX?

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

    我刚刚与硬件工程师核实了 WAKE#和 CLKREQ#信号、是否有可能是未检测到器件的原因、他的回答是:

    它们需要根据 ASIX 数据手册设置这些引脚。 我不熟悉该设备,因此我无法说他们是否会使其无法被识别(但我怀疑)。

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

    是的、交叉编译模块的过程已正确完成。 但是、无论模块是否在内核中、都应检测到 PCIe EP。 我的主要问题是链路上未检测到设备。
    也未检测到 PCIe 开关。
    我再次检查了 PCIe 规格、它只是从 RC 到 EP 所需的 PERST#信号、WAKE#和 CLKREQ#不是强制性的、因为它们是从 EP 输出的。
    我尝试找出它。 我可能会更改器件并在这里通知您。