您好!
我的客户设计了基于 Keystone II 器件的新处理器板、即 AM5K2E04。 目前,我们正处于项目启动阶段,即我们正在尝试启动并运行所有相关的硬件单元。 遗憾的是、我们在启用 Keystone 处理器的 PCI Express 控制器时遇到问题。
我们的板充当 PCIe 根复合体、并使用 Keystone 的两个 PCIe 接口。 PCIe 0连接到 FPGA、PCI#1连接到 PCIe 开关。 两个接口均使用2通道 PCIe 第2代。 我们的问题是、Keystone 的 PCIe 接口都无法与其通信伙伴建立稳定的物理连接。
为了了解这一点,我们修改了引导加载程序(uBoot),使其能够持续监控 PCIe 控制器的状态。
引导加载程序执行以下操作:
- 它将两个控制器切换到根复数模式
- 它使用 TI 提供的设置初始化 SerDes
- 它启用 PCIe 电源域
- 它会触发 PCIe 链路训练
之后、引导加载 程序进入无限循环、在该循环中、它持续读取和输出许多 PCIe 调试寄存器、最重要的是该循环中的物理链路状态(LTSSM)、我们可以看到链路训练需要非常非常非常长的时间(秒!)。 即使链路出现、它通常也会在一段时间(有时是秒、有时是分钟)后中断。 所有这些几乎都是不确定的。
因此,我们认为可能存在硬件问题。 但是、我们如何继续诊断这种情况呢?
我们的问题是:
- 您对如何解决与 PCIe 链路训练/物理层问题相关的问题有什么建议吗?
- 在初始化 SerDes PHY 时、是否需要考虑任何因素?
SerDes 规范(spruho3a.pdf)规定,客户*切勿*使用除 TI 提供的设置之外的任何设置。 客户是否有任何已知的使用案例需要特殊的 PHY 设置?
谢谢