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.

[FAQ] [参考译文] 【常见问题解答】AM69:TDA4VH 如何检查当前 PCIe LTSSM 状态?

Guru**** 2558250 points
Other Parts Discussed in Thread: AM68, SK-AM69, AM69, TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1556737/faq-am69-tda4vh-how-to-check-current-pcie-ltssm-state

器件型号:AM69
Thread 中讨论的其他器件:TDA4VHTDA4VL、AM68、 DRA829TDA4VMDRA821

工具/软件:

我想打印 PCIe 的 LTSSM 状态以查看 PCIe 链路是否处于检测状态、L0 状态等状态 我们如何在 Linux 下做到这一点?

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

    下面是使用 SK-AM69 11.0 Linux SDK 制作的 bash 脚本、该脚本会持续轮询 LTSSM 状态。  将脚本复制到电路板的存储设备中并 使用运行 poll_ltssm_for_change.sh 。 默认情况下、它将轮询 PCIe0 实例的 LTSSM。 正在使用更改为不同 PCIe 实例的用法。  

    e2e.ti.com/.../poll_5F00_ltssm_5F00_for_5F00_change.sh

    4 种不同场景的示例日志:

    1. AM69 PCIe0 实例的示例日志、其中 通过拆焊一些电阻器来创建 不同的 时钟配置、特意在 SK 板上断开与 REFCLK 的外部时钟发生器的连接、并且未连接任何器件。
    2. AM69 PCIe3 实例的示例日志、未更改电路板、未连接器件。
    3. AM69 PCIe3 实例的示例日志、未更改电路板和连接器件。 脚本在器件连接并初始化后运行。
    4. AM69 PCIe3 实例的示例日志、没有更改电路板、并且器件在脚本运行时断开。

    e2e.ti.com/.../8468.Ltssm_5F00_logs.txt

    以上内容适用于:

    • AM69/TDA4VH/J784S4
    • AM68/TDA4VL/J721S2(如果与一起运行)  poll_ltssm_for_change.sh 0x02917014 - J721S2 只有 PCIe1 实例,没有 PCIe0 或其他实例
    • TDA4VM/J721E/DRA829
    • J7200/DRA821(如果使用)   poll_ltssm_for_change.sh 0x02917014  - J7200 只有 PCIe1 实例,没有 PCIe0 或其他 PCIe 实例
    • AM64(如果与一起运行)  poll_ltssm_for_change.sh 0x0F100014  - AM64 有不同的偏移地址,但寄存器值相同

    基于 DRA821 TRM 表 12-2468 的 LTSSM 编码

    免责声明:  Bash 脚本不够快、无法打印出所有状态更改。 尤其是状态在检测和 L0 之间变化。 使用此常见问题解答进行再培训时、有时只会捕获状态变化: 【常见问题解答】AM68、AM67、J722S、J721S2、J784S4、 TDA4VM、TDA4VL、TDA4VH、DRA821:如何在第 1 代 (2.5GT/s)、第 2 代 (5.0GT/s) 和第 3 代 (8.0GT/s) 速度之间重新训练 PCIe 链路速度 。 在任何情况下、脚本都有助于进行基本的故障排除、以查看状态是 L0 还是仍处于检测状态。

    此致、

    Takuma