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**** 2551310 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/576104/linux-am5728-setting-pcie-output-clock-from-device-tree

器件型号:AM5728

工具/软件:Linux

在我们的设计中、我们希望让 PCIe 参考时钟成为 ljcb_clkn 和 ljcp_clkp 引脚的输出、但我没有找到明确的方法来启用它。 我使用的是 AM57xx TI SDK、当时我假设需要对器件树进行一些修改、但我不确定需要添加或修改哪些属性。 我知道需要将 ACSPCIE 缓冲器设置为输出、但我不知道这是我可以通过器件树执行的操作。


我发现 这个线程 对于要对器件树进行的更改有一些建议、但似乎只是一个猜测、并且没有验证该建议是否有效。 我也无法自行测试、因为我们尚未收到电路板。

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

    输入和输出由 CTRL_CORE_SMA_SW_6[16:17]控制。 但是、我需要研究一下是否可以通过 DTS 更改它。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我与 Heather 的共同目标是将100MHz 输出的 PCIe 时钟从 AM5728获取到外部 M.2 PCIe 插槽。 本论坛上为实现相同目标而发布的一些类似帖子如下:

    Linux/AM5728:来自 ljcb_clk 引脚的 PCIe 时钟输出
    e2e.ti.com/.../1959949
    AM5728:FPGA 的 PCIe 时钟
    e2e.ti.com/.../575627
    如何使 AM572x PCIe PHY 参考时钟输出?
    e2e.ti.com/.../1959949

    从器件树或在 Linux 中配置此输出 PCIe 时钟似乎并不那么简单、因为需要满足特定的时序要求、并且我怀疑需要配置多个时钟和多个寄存器。 使用 M.2 PCIe 分线板、我可以从中测量 AM5728的时钟输出。 我正在寻找一种解决方案、通过最简单的方法将外部100MHz 时钟输出配置到电路板上的 M.2 PCIe 连接器。 这主要是实现此目标所需的内部器件树或 Linux 源代码修改。 我们的项目需要使其正常工作、以确定是否需要对使用 AM5728处理器的下一个定制板进行硬件修改。 这是 AM5728特有的、与定制板没有太大关系。 我们能否获得一些支持、以便获得 M.2 PCIe 插槽的100MHz 时钟输出?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Anthony、

    我们尚未尝试使用时钟输出。 如果不修改硬件、TI AM5728 EVM 就无法支持它。

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

    是的、这是非常合理的、因为 EVM 板上的 AM5728有一个100MHz 的时钟输入。  当然、制造 AM5728的 TI 已经测试了 AM5728上的时钟输出以进行产品测试。  我正在寻找 AM5728的支持、而不是真正的 EVM。  您能否在 TI 其他地方跟踪此内部生成的时钟如何以100MHz 的频率输出到 PCIe?

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

    您是否能够修改 AM5728 EVM 板以禁用板载100MHz 振荡器并支持我在外部获取此内部 AM5728 100MHz 时钟输出? 我愿意修改我的 EVM 板。 请提供建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anthony、

    TI 已验证了该时钟输出、但未使用 Linux。 我相信它使用裸机或 RTOS CCS 项目来配置 ACSPCIE 参考时钟缓冲器、并将 CTRL_CORE_SMA_SW_6寄存器的 Tx_Rx_Control 字段设置为 Tx 模式。 我正在尝试详细了解如何对其进行测试、并查看我是否可以获得一个 EVM、该 EVM 具有支持这两种模式的填充选项。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    听起来不错。 我将需要同时配置外部100MHz 振荡器和 AM5728内部生成的100MHz 时钟、以确定所有需要更改的内容。 U-Boot 实际上并不是配置的选项。 它必须是 Linux 内核源代码或器件树、如果可以的话、也必须是两者。 任何有效的东西都是我要寻找的东西。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Anthony、

    如果您不介意、我建议您先使用 TI RTOS Proc SDK 验证硬件。 它包含 PDK 下的 PCIe 示例。 您可以使用 CCS 运行 PCIe 示例项目、并确保 CTRL_CORE_SMA_SW_6设置为 Tx Mdoe。 然后、查看是否可以在 ljcb_clkp 和 ljcb_clkn 处测量任何频率。

    RTOS 可从 software-dl.ti.com/.../index_FDS.html 下载。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否需要 JTAG 调试器来下载/编程/运行 TI RTOS CCS 应用? 此硬件已经过验证、当前正在运行 Linux、电路板启动已完成、但 AM5728的 PCIe 时钟输出除外。

    我不理解在这篇文章中首先验证硬件。 ljcb_clkp 和 ljcb_clkn 信号直接连接到 M.2 PCIe 连接器。 在本例中、我们将验证 AM5728硬件。 请先验证硬件、说明您的意思。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Anthony 和团队:

    我听到的是、TRM 表26-61中列出了有关 REFCLK 方向编程的说明。 PCIePHY 子系统低级编程序列。 此序列是否已实现?

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

    我之前看过 TRM 的这一部分、在 Linux 内核~/arch/arm 目录中找到了这个序列、但是我不太幸运找到这个序列。  我再次查看、我并不清楚这个时钟序列初始化在 Linux 内核源树中的位置。  请提供建议。