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.

[参考译文] J722SXH01EVM:u-boot 中的 PCIe 基准时钟

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1582200/j722sxh01evm-pcie-reference-clock-in-u-boot

器件型号: J722SXH01EVM

在 u-boot 中启动 PCIe 接口时、我们已经确定了时钟线路的作用、即使 u-boot 正在启用时钟并且没有在软件中收到错误、PCIe 线路的时钟也没有启动。

是否必须执行其他操作来启用来自 u-boot 的时钟?

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

    您好、Matthew、

    很可能未设置串行器/解串器 REFCLK 启用。 您可以查看 0F01 040Ch 寄存器吗?

    此致、

    Takuma

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

    下面是我在运行 PCI enum 后从 u-boot 中看到的这个寄存器的内容:


    => MD.l 0x0f010400 1.
    0f010400: 698a1801                            .

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

    您好、Matthew、

    您可以尝试写入 0xf1000000 吗?

    此致、

    Takuma

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

    您好、

    我已经尝试将该值写入该寄存器、似乎没有意义。



    => mw.l 0x43004070 0xF1000000
    => MD.l 0x43004070 1.
    43004070:0000000

    我还尝试先启动解锁寄存器:

    => mw.l 0x43005008 0x68EF3490
    => mw.l 0x4300500c 0xD172BC5A
    => mw.l 0x43004070 0xF1000000
    => MD.l 0x43004070 1.
    43004070:0000000

    我还通过读取命令在 pcie_cdns_ti.c 中直接在代码中尝试了此操作、之后的值不会改变。

    是否有一些特殊方法可以将缺少的值写入该寄存器?

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

    您好、Matthew、

    我认为寄存器没有被锁定、因此应该执行读取/写入操作。  

    在任何情况下、都为我们的 SDK 团队创建了内部 Jira、让我们看看是否可以为未来的 SDK 版本包含该功能。 此处链接 Jira 链接、外部无法访问、但用于内部跟踪: jira.itg.ti.com/.../JACINTOREQ-9131  

    此致、

    Takuma

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

    尊敬的 Takuma:

    是否有关于此问题的任何更新?

    当 Linux 启用时、我使用了跟踪函数来查看编程到串行器/解串器和 PCIe 寄存器中的值、并在 u-boot 中添加了代码以执行相同的序列、但 u-boot 的示波器中绝不会出现 PCIe 时钟。

    是否有任何使用 i2c 或直接寄存器写入的手动过程应该可以启用我可以测试的 PCIe 时钟线?

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

    您好、Matthew、

    U-Boot 中的 PCIe NVMe 支持将是一个低优先级项目、因为通常不支持 PCIe 引导。 因此、用例仅限于您尝试从 NVMe 引导文件系统这样的情况、在这些情况下存在替代方法(例如将文件系统保留在 eMMC 或 OSPI 中)。

    此致、

    Takuma