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.

[参考译文] AM5728:PCIe Gen2链接失败

Guru**** 2561480 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608073/am5728-pcie-gen2-link-fails

器件型号:AM5728

大家好、TI 专家、

 

我们可以从 E2E 主题的 DK-SAN 评论中获取有关 AM5728上第2代链路故障的详细信息、如下所示。

https://e2e.ti.com/support/arm/sitara_arm/f/791/p/596010/2222020#2222020

 

如果有三个线索、请告诉我们。

 

 

-他们使用"第三方操作系统"及其定制板。 (请参阅随附的 pdf)

   - PCIe_SS1连接到 TI-USB 控制器(TUSB7320IR国民党)。

   - PCIe_SS2连接到 FPGA。

 

-他们引用 PROCESSOR-SDK-RTOS-AM57X 的示例代码、如下所示;

  C:\ti\pdk_am57xx_1_0_6\packets\ti\cSL\examples\pcie \write_loopback\crc\rc_write_loopback_app_main.c

 

问题:

 PCIe 第1代到第2代开关链路到 FPGA 在 PCIe 初始化/链路协商阶段失败、如下所示。

   1:第1代链路在 PCIe 初始化/链路训练阶段建立。

   2:他们想要切换到 Gen2。

       因此、它们设置 PCIECTRL_TI_CONF_IRQSTATUS_RAW_MAIN.MAX_LINK_STE速 率= 0x2的寄存器值。

       然后、它们将0x1设置为 PCIECTRL_TI_CONF_DEVICE_CMD.LTSSM_EN。

       (参考:C:\ti\pdk_am57xx_1_0_6\packages \ti\cSL\examples\pcie \write_loopback\rc\rc_write_loopback_app_main.c)

   3:他们发现了 OK 和 NG 案例。         

       好的:第2代开关成功。

       NG:第2代切换不会发生。

               -保持第1代(它们通过协议分析器监控 PCIe 主线路信号。)

               - PCIECTRL_TI_CONF_IRQSTATUS_RAW_MAIN.LINK_REQ_RST 似乎已设置。

 

OK Case 和 NG Case 的主要区别:(请参阅随附的 pdf)

 - NG:他们在协议分析器上找到来自 FPGA 的"ordered set (Symbol Number4):Autonomous Change/Selectable De-Emphasis> 1。

 -好的:他们在协议分析器上找到来自 FPGA 的"ordered set (Symbol Number4):Autonomous Change/Selectable De-Emphasis> 0。

 

问题:

  1) 1)您是否具有与以下内容相同的经验或评论?

       - PCIe 端点通过"ordered set (Symbol Number4)"发送"自主更改/可选去加重"至 AM5728 (作为 RootComplex)。

       之后 、PCIECTRL_TI_CONF_IRQSTATUS_RAW_MAIN.LINK_REQ_RST 似乎被置位(通过轮询该寄存器地址[0x51802020]来观察)。

          -它们发现了下列的寄存器结果;

              - 0x51802020:LINK_REQ_RST=1、CFG_MSE_EVT=1、CFG_BME_EVT=1、LINK_UP_EVT=1;

              - 0X51802104:LTSSM_STATE[7:2]=0x00;

       AM5728似乎也被复位。

  2) 2) AM5728上是否存在"自主更改/去加重"功能的限制或通知?

  

如果您告诉我们如何解决此问题、我们将不胜感激。

 

此致、

e2e.ti.com/.../PCIE_5F00_Gen2_5F00_fail.pdf

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

    我来自软件方面、让我们先处理您使用的软件、然后再联系硬件人员以获取订购的软件集。 在您的配置中、PCIe 用作两个单独的通道、每个控制器(SS1、SS2)具有一个通道。

    由于 EVM 上的 PCIe 连接器限制、我们的 TI EVM (GP AM572x、IDK 572x、IDK571x)上只有 PCIESS1x1通道或 PCIESS1x2通道。 因此、我们没有任何测试用例展示 PCIe SS2x1的工作原理、但我们帮助客户在自己的电路板上使用该配置。

    根据您的描述、您已经使用了 PCIESS2x1。 您能告诉我您提到了什么代码吗? B1C0模式有一些设置、每个控制器有多少条信道可供我仔细检查:您可以将0x4a002558和0x4a003c3c3c 的寄存器值转储给我。

    此外、您还提到了第1代的工作原理。 我认为您的回答是正确的。 您将第1代切换到第2代的方式与我们的代码不匹配。 请参阅 pdk_am57xx_1_0_6\packages/ti\drv\pcie 例如\samples\src\pcie 样例.c (即查看 PCIe 驱动程序代码、而不是 PCIe CSL 代码)。 函数 pcieSetGen2():

    targetGen = 2;
    dirSpd = 1;

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

    非常感谢您的善意。
    非常感谢您的帮助。
    我将从客户处获取其他信息。

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

    非常感谢您的善意。
    非常感谢您的帮助。

    我们从您的请求中获得了有关寄存器值的详细信息。
    地址:0x4a002558→数据:0x00000001
    地址:0x4a003c3c3c→数据:0x00000000

    如果您告诉我们如何解决此问题、我们将不胜感激。
    如果 AM5728上存在"自主更改/去加重"功能的任何限制或通知、请同时告知我们。

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

    您好!

    寄存器转储适用于 PCIe SS1和 SS2、每个转储控制一个单独的器件。 您是否有任何故障率统计数据? Gen1是否始终在 PCIe SS2上工作?

    在我之前的更新中、

    targetGen = 2;

    dirSpd = 1;

    这是寄存器 PCIECTRL_PL_WIDTH_SPEED_CTL (0x518080c)。 您能否确认他们是否尝试过此设置?

    对于自主更改/去加重、我没有信息、需要查找。

    此致、Eric

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

    您好!

    非常感谢您的善意。
    非常感谢您的帮助。


    我将向客户确认。

    我们还在等待  有关 AM5728上的"自主更改/去加重"功能的更新 通知。

    此致、