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/AM5728:可动态加载的 PCIe 驱动程序

Guru**** 2589300 points
Other Parts Discussed in Thread: XIO2001

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/585029/linux-am5728-dynamically-loadable-pcie-driver

器件型号:AM5728
Thread 中讨论的其他器件:XIO2001

工具/软件:Linux

我们有一个自定义 AM572x 电路板、其子卡通过 PCIe 连接到 AM572x

我们计划在处理器启动后为 PCIe 卡加电。 但看起来 AM572x 内核具有本机 PCIe 驱动程序、该驱动程序仅在引导期间对器件进行访问和探测。

我们正在寻找一个可加载 PCIe 内核模块、该模块可以在我们的卡上电后稍后插入。 是否 有适用于 PCIe 的可加载内核模块?

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

    您好、Brad、

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

    PCIe 卡本身具有一个内核驱动程序、如果您需要、该内核驱动程序可以是可加载模块。 插入 PCIe 卡后、可通过 modprobe 命令激活此模块。

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

    我们通过 PCIe 接口将 XIO2001芯片组连接到 AM572X 处理器、而在 XIO2001的另一侧连接了2个 MPCI 卡。

    在本例中、处理器在启动期间通过 PCIe 配置 XIO2001。 我们没有用于 XIO2001的单独驱动程序。 为了节能、我们希望先打开处理器、然后启用 XIO2001电源。 当我们这么做时、无法通过 PCIe 接口检测到 XIO2001。

    下面是我们系统的流程。

    AM572X-->XIO2001->MPCI 卡(2个)

    谢谢

    Amrendra

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

    我认为这是热插拔功能、不认为硬件和软件都支持。

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

    我刚刚在内部进行了检查。 这不是热插拔的。 一旦 XiO 的电源打开且复位后、RC 应该能够枚举桥接器和所有下游设备、作为 PCI 总线(重新)扫描的一部分。 这对于该硬件设计而言过于特殊、TI 无法使用现有平台对其进行测试。

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

    TI 硬件工程师认为它支持次级下行总线复位。 枚举应如下所示:

    XiO 已通电。
    (等待)
    RC 断言 PCIe 复位至 XiO。
    (等待)
    RC 执行总线扫描、枚举"新"XiO 桥接器。
    RC 写入 XiO PCI PRST#位。 下行 PCI 设备被复位。
    (等待)
    RC (重新)执行总线扫描、枚举"新"PCI 设备。

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

    您好 Rex

    在中、XIO2001的系统复位通过处理器(AM572X)板进行控制。  首先为处理器 板加电、然后为 XIO2001板加电 、 然后将 RESET 置为 XIO2001。 此步骤不会在下游总线上重新扫描器件。

    RC 是否代表复位线路上的(电阻器和电容器)电路。

    谢谢

    Amrendra

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

    大家好、Amrendra、

    根复合体当前不会重新扫描。 它预计终点 已经上升。 我们建议在我的早期职位上采取步骤。 遗憾的是、TI 无法使用现有硬件测试这些步骤。

    雷克斯

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

    您好 Rex

    需要对您之前的输入进行一些澄清、我的查询在下面是内联的。

    XiO 已通电。
    (等待)

    Amrendra:是否建议等待时间使用最短时间?


     RC 断言 PCIe 复位至 XiO。
    (等待)

    Amrendra:当您说 PCIe 重置为 XiO 时、这意味着发出 PERSTn (H11) 信号吗?  或者 有一些 不同。


    RC 执行总线扫描、枚举"新"XiO 桥接器。

    AMRENDra:我假设此扫描是自动完成的、或者需要从处理器端执行任何操作。


    RC 写入 XiO PCI PRST#位。 下行 PCI 设备被复位。
    (等待)

    AMRENDRA:我们板上的 XIO2001以默认配置运行。  是来自处理器 的 PCIe 驱动程序、它可以写入 XIO2001 特定的寄存器。


    RC (重新)执行总线扫描、枚举"新"PCI 设备。

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

    由于设计非常具体、涉及 XiO、因此我们没有关于其工作方式的具体信息。 我们认为 XiO 支持二级下行总线重置。 因此、硬件工程师设想并建议了枚举步骤。

    如果 EP 在 RC 之前启动、扫描将自动进行。 由于 EP 在 RC 启动后出现、并且 RC 已完成扫描、因此步骤中的扫描将是重新扫描、需要在逻辑中进行编码。

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

    您好 Rex

    如何执行步骤"RC 写入 XiO PCI PRST#位。 上一帖子中提到的"下行 PCI 设备已重置"?

    这将通过 RC 的 PCIe 接口实现吗?

    谢谢

    Amrendra

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

    我查看了 XIO2001用户指南、您认为偏移量0x3E 处的桥接控制寄存器的 SRST 位可以吗?

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

    您好 Rex

    没错、但现在我们不控制/修改 RC 中 XIO2001的任何寄存器。 XIO2001正在使用默认设置运行。 如何从 RC 修改 XIO2001寄存器?

    XIO2001有一个 I2C 主接口、因此我们无法从 RC 控制它。 我们能否通过 RC 的 PCIe 接口修改 XIO2001寄存器?

    谢谢

    Amrendra

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

    请参阅 AM572x TRM 、www.ti.com/.../spruhz6h.pdf。 所有端点器件寄存器都映射到 AM572x 器件上的 PCIe_SSX。

    雷克斯