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] [参考译文] 【常见问题解答】AM68、AM67、J722S、J721S2、J784S4、 TDA4VM、TDA4VL、TDA4VH、DRA821:如何在第 1 代 (2.5GT/s)、第 2 代 (5.0GT/s) 和第 3 代 (8.0GT/s) 速度之间重新训练 PCIe 链路速度

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1553181/faq-am68-am67-j722s-j721s2-j784s4-tda4vm-tda4vl-tda4vh-dra821-how-to-retrain-pcie-link-speed-between-gen1-2-5gt-s-gen2-5-0gt-s-and-gen3-8-0gt-s-speeds

器件型号:AM69
Thread 中讨论的其他器件:AM67、AM68 、DRA821、 TDA4VHTDA4VMTDA4VL、

工具/软件:

对于故障排除和调试、我想手动将链路速度配置为与默认值不同的值。 如何针对 AM69 或其他器件(例如 AM68、AM67、J722S、J721S2、J784S4)执行此操作? TDA4VM、TDA4VL、TDA4VH、DRA821)?

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

    以下序列 将在 Linux 中针对不同速度重新训练链路。 请注意、以下指令使用枚举为 0000:00:00.0 的器件(通常是 Jacinto SoC 上的第一个 PCIe 控制器实例)、但如果想要更改其他器件的速度、则应进行更改。

    • setpci -s 0000:00:00.0 CAP_EXP+0x30.5.W=0x1
      • 这会通过设置链路控制 2 寄存器将目标链路速度更改为第 1 代速度 (2.5GT/s)。 可以分别为 Gen2 和 Gen3 速度使用 0x2 或 0x3、而不是 0x1
    • setpci -s 0000:00:00.0 CAP_EXP+0x10.0.W=0x20
      • 这通过设置链路控制寄存器的位 5 来重新训练链路
    • lspci -vv -s 0000:00:00.0 | grep -i speed
      • 这会打印目标速度以及实际设置的速度

    以下是一些示例日志、可供参考、这些日志使用 SK-AM69 板和 9.2 Linux SDK 生成。 但是、这些指令应适用于所有其他运行 Linux 的 Jacinto/Sitara 器件。

    e2e.ti.com/.../linux_5F00_manual_5F00_link_5F00_retraining.txt

    如果要将最大链路速度设置为低于支持的值、并且如果想要使此更改在启动周期内持续存在、则可以更改器件树的 max-link-speed 属性: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi?h=ti-linux-6.1.y#n1351

    下面的示例差异:

    e2e.ti.com/.../0001_2D00_Set_2D00_max_2D00_link_2D00_speed_2D00_to_2D00_gen_2D00_2_2D00_5.0GT_2D00_s_2D00_for_2D00_PCIe0_2D00_port.patch

    和示例日志、其中“Target Link Speed“现在默认设置为 5.0GT/s。

    e2e.ti.com/.../setting_5F00_max_5F00_link_5F00_speed_5F00_to_5F00_pcie_5F00_gen_5F00_2.txt

    警告:上述器件树补丁仅设置 max-link-speed/Target Link Speed。 这不能保证链路以最大链路速度出现。 PCIe 的行为是、它将协商达到 PCIe 连接两侧都可以支持的最高速度。 因此、尽管 PCIe 控制器的最大链路速度在贴片中设置为 5.0GT/s(第 2 代速度)、但如果连接的设备只能支持 2.5GT/s(第 1 代速度)、则两侧将协商为 2.5GT/s 存在链路训练可能失败的例外情况(例如,当尝试协商到第 3 代速度时,链路均衡失败)、这可能会导致 协商的速度降级。

    此致、

    Takuma