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.

[参考译文] AM67:如何分别为 USB 2.0和 USB 3.0启用 USB 测试模式?

Guru**** 2335420 points
Other Parts Discussed in Thread: AM67, TUSB8041, AM69A, SK-AM69
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448649/am67-how-to-enable-usb-test-mode-for-usb-2-0-and-usb-3-0-respectively

器件型号:AM67
主题中讨论的其他器件: DRA821TUSB8041SK-AM69

工具/软件:

Champ、  

客户要求赞扬以启用以下测试项目。  

我假设这是测试数据包和 USB 眼图。  

我们有 u-boot 或 Linux 内核中的测试模式指令吗?  

1.03.

USB

1.03.01.

USB_USB-Speed Host_High

1.03.02.

USB_DROP

1.03.03.

USB3.2 Gen1

Br、Rich

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

    您是否尝试过解锁寄存器并重试命令? 如果您看到 LFPS、那么并不意味着器件处于合规性模式。

    您是否遵循了所述的相同流程、不首先连接示波器、修改寄存器、然后连接示波器以切换模式?

    我可以就此与他们跟进。

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

    Shreyas,  

    如果是因为寄存器被锁定、请建议如何解锁寄存器。  

    我尝试了修改寄存器而根本没有连接示波器。  

    Br、Rich

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

    锁定键0 0x68EF3490
    锁定键1 0xD172BC5A

    要解锁寄存器、请将这些值写入 Kick0和 Kick 1寄存器。 有关不同分区寄存器的偏移值、请参阅 TRM。

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

    "范围需要向控制器发送 LFPS.Ping 来切换合规模式。
    通常、支持 USB 合规性程序的范围提供了自动运行整个 USB 合规性程序的工具。
    在这种情况下、示波器控制发送 LFPS.Ping 并对每个合规模式进行适当的检查。

    如果时钟启用了寄存器访问、则控制器不会锁定寄存器访问。"

    另外、想知道您是否按照 Robert 的建议修改了电路板?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shreyas,

    您是否分别使用 lockkey0和 lockey1引用下面的 kick0和 kick1?  

    锁定键0 0x68EF3490
    锁定键1 0xD172BC5A

    我发现 key0和 key1值与您在这里建议的值不同。  

    您能否提供完整的推荐设置以启用合规性测试?  

    •Key0 = 83E7 0B13h
    •KEY1 = 95A4 F1E0h
    •已锁定=启用写保护
    •已解锁=已禁用写保护

    Br、Rich

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

    丰富、

    请让我知道您从哪里获得狙击手。

    从我所见、AM67寄存器都具有相同的 lockey0、lockkey1值。

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

    Shreyas,  

    我随附的图片来自 AM67x TRM 第12.7.3.3.3.2.1章

    Lockkey0和 Lockkey1 似乎 适用于 PLL 寄存器。   

    锁定键0 0x68EF3490
    锁定键1 0xD172BC5A

    所附图片中是否有 MMR_CTRL 寄存器的密钥?  

    我们需要明确的推荐指令和顺序(使用脚本会很好)来在 Linux 中更改寄存器值。  

    我们无法长时间在 AM67x 上进行 USB 3.0合规性测试、因此我们正在寻找一种方法来实现该目标。  

    AM67x USB3.0合规性测试模式在内部实现的确切方式是什么?  

    我们希望帮助我们的全球客户能够在自己的电路板上进入合规性测试模式。   

    我们可以像 USB 2.0一样在 Linux 中简单推荐吗?  

    Br、Rich  

     

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

    您好 Rich、

    Key0和 Key1用于 CTRL_MMR 寄存器。

    我之前说过、我们测试 USB3.0合规性的方法不是通过 Linux 和寄存器写入来实现。 我已经使用了 CCS 二进制文件。 并且根据 IP 供应商的说法、这与通过修改寄存器来进入 USB3.0合规性模式的方式相同、如前所述。

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

    Shreyas,  

    Key0和 Key1用于 CTRL_MMR 寄存器、我认为我们用于合规性测试的所有寄存器都属于 CTRL_MMR 寄存器。  

    对于通过 CCS 二进制文件进行的 USB 3.0合规性测试、您是在 AM67x EVM 或 Beagle AI 板上运行此测试吗?  

    AM67x EVM 上的 AM67x 和 USB 3.0 Type-A 连接器之间有 USB 3.0集线器。 测试是否可以在 AM67x EVM 上运行?

    您能否为我提供二进制文件、以便在 AM67x EVM 上运行相同的测试?  

    Br、Rich

     

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

    丰富、

    我没有将 EVM 用于 USB3.0合规性测试。 我使用了 SVB 来进行 SERDES 和高速验证。

    您是否希望我发送二进制文件(LFPS 和 CP1模式)来试用?

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

    Shreyas,  

    二进制文件是否也通过 JTAG 在 CCS 上运行?  

    由于 USB 集线器、我们无法在 AM67x EVM 上进行相同的测试。  

    在 DRA821 (J7200) EVM 上、有一个 USB3.1 Type C 端口。  

    我们是否有用于 USB3合规性测试的 DRA821测试程序?  

    Br、Rich

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

    Shreyas,  

    我发现在引导至 Linux 时、CTRL_MMR0寄存器已填充您在下面列出的密钥。  

    相关控制寄存器仍然无法按预期更改。  

     

    锁定键0 0x68EF3490
    锁定键1 0xD172BC5A

    要解锁寄存器、请将这些值写入 Kick0和 Kick 1寄存器。

    root@am67-sk:~# devmem2 0x00101008
    /dev/mem 已打开。
    映射到地址0xffac1f4000的存储器。
    读取地址:0x00101008 (0xffffac1f4008):0x68EF3491
    root@am67-sk:~# devmem2 0x0010100C
    /dev/mem 已打开。
    映射到地址0xffffb369f000的存储器。
    在地址0x0010100C (0xffffb369f00c)处读取:0xD172BC5A

    Br、Rich

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

    Shreyas,  

    TI EVM 上有 USB 集线器、因此客户只能在自己的电路板上进行测试。  

    辅助、客户电路板上不提供 JTAG。   

    我们需要一种在客户端启用 USB 合规性测试的方法。  

    引导加载程序在 SD 卡或 Linux 脚本上运行以启用它是可行的。

    Br、Rich   

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

    您好 Rich、

    我们在专门构建的板上进行了 USB 合规性测试内部测试、并使用 CCS/JTAG 进行测试。

    我附加了2个二进制文件、您可以在 Serdes0 Lane0上生成 LFPS 和 CP1以符合 USB 标准。

    如果您可以试用一下、告诉我吗?

    e2e.ti.com/.../K3_5F00_J7AEN_5F00_BER_5F00_USB_5F00_LFPS_5F00_S0L0.out

    e2e.ti.com/.../USB3_5F00_S0L0_5F00_UDD_5F00_CP1_5F00_INTSSC.out

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

    丰富、

    我想在与同事交谈后再次回顾此 USB3.0合规性流程。

    最初、我提供了如下遵约程序:

    0x31000420h、写入0x0A010340 -该寄存器用于 USB0 (仅具有 USB2.0)

    对于 USB1、您需要修改0x31210490寄存器。

    如前所述、您需要更改这3个字段。

    在主机控制器中启用合规模式  

    -写入 USB3 PORTSC 寄存器设置以下位:                               - PP [9]                               - LWS [16]                               - PLS [8:5]= 0xA

    您不需要对寄存器进行任何解锁。

    devmem2 0x31210490、具有0x0A010340h。

    请尝试以上操作并告诉我。

    另外、我想确认原理图中现在是否已将 USB1连接到 SERDES 引脚、对吗? 之前、USB0连接到 SERDES。

    它是由客户开发的 Linux 还是来自 SDK?  如果我需要复制 PCIe 或其他版本、我需要知道是否使用了任何特定的版本。

    如果还有其他问题、我也会告诉您。

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

    Shreyas,  

    这是我一直询问的 USB3合规性测试问题。  

    对于 USB3合规性测试、应该只有 USB 超高速信号、不应有 USB2.0 DP/DM 信号。  

    为什么我们需要配置仅支持 USB2.0的 USB0或 USB1?  

    下一个是 USB3需要与 USB1绑定的限制、但与 不能  USB 外设启动。  

    在软件方面、USB1 + SERDES0 (USB3.0)是否有任何设置要求?  

    USB1 + SERDES1是否可以用作 USB3.0?

    客户原始原理图使用 USB0 + SERDES0和蓝线 USB1 + SERDES0。 使用最新的 SDK 10.1。  

    我们还想知道使用 USB1 + SERDES0需要更改哪些特定配置、或者它与 EVM 相同、但仅 USB3.0连接到 USB 3.0集线器。  

     

    我在这里总结了测试建议、只是在下面写一个建议、以便实现

     写入 USB3 PORTSC 寄存器设置以下位:                               - PP [9]                                                              - LWS [16]- PLS [8:5]= 0xA

    devmem2 0x31210490、带 0x0A010340

    Br、Rich

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

    Shreyas,

    在寄存器中、USB0部分中的所有寄存器显示 USB2SS、USB1中的所有寄存器显示 USB3p0SS。

    我们将尝试使用客户电路板。   

    USB0

    3100 0420h ->  USB2SS_PORT_XHCI_PORT_20_PORTSC_20   


    3100 0434h -->  USB2SS_PORT_XHCI_PORT_30_PORTPMSC_30 (这仅查找 PM)


    USB1

    3121 0480h -->  usb3p0ss_ctrl_xhci_PORTSC1 USB2

    3121 0490h --> usb3p0ss_ctrl_xhci_PORTSC1 USB3

    Br、Rich

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

    您好 Rich、

    Shreyas 和我在实验室做了一些实验。 我们尚未能够进入 USB 的合规性模式、但会共享您的更新。

    我们沿着2条不同的路径来调试问题:

    1. 使用 USB3.0电气测试装置器件进行合规性测试。 这里有这个硬件: https://www.usb.org/sites/default/files/documents/superspeedtesttopologies.pdf 
      1. 步骤:
        1. 我们已尝试连接到 J7AHP 27x27 (也称为 J742S2或 TDA4VPE)上的 USB-C 端口
        2. 我们在验证 port02确实是 USB3.0后引导 Linux 并运行"echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.10.auto/ports/port02/portsc "
        3. 示波器上没有任何内容
      2. 怀疑/后续步骤
        1. 我们缺少 USB3.0主机测试装置板(又名5"主机测试装置2)、并将其替换为 USB3.0器件测试装置板(又名11"器件测试装置2)和 https://www.usb.org/sites/default/files/documents/superspeedtesttopologies.pdf 中的"主机测试装置1"
        2. 我们怀疑5"器件测试装置2不能替换为11"主机测试装置2
        3. 我们需要找到缺少的硬件
    2. 使用我们从 Cadence 获得的寄存器写入值触发合规性测试
      1. 步骤:
        1. 在 Linux 下、运行"devmem2 0x31210490 w 0x0A010340h"以设置 PP、LWS 和 PLS 字段
        2. 寄存器已部分更新(也即、最高有效位0x0A 部分已更新、但最低有效位0x10340未更新)
      2. 怀疑/后续步骤
        1. 可能是 devmem2的限制? 某些位受到写保护?
        2. 下一步、尝试是否可以通过 CCS 调试器直接更改位

    Bottomline 是 USB 合规模式问题正在进行中、但上面是我们所取得的进展。

    此致、

    Takuma

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

    Takuma

    我尝试了 AM67x SK EVM 上的 devmem2 0x31210490 w 0x0A010340、并获得了与您获得相同的结果。  

      a.在 Linux 下、运行"devmem2 0x31210490 w 0x0A010340h"以设置 PP、LWS 和 PLS 字段。

      b.寄存器已部分更新(也即、最高有效位0x0A 部分已更新、但最低有效位0x10340未更新)

    root@am67-sk:~# lsusb
    Bus 001 Device 001:ID 1d6b:0002 Linux Foundation 2.0根集线器
    Bus 001 Device 002:ID 0451:8142 Texas Instruments、Inc. TUSB8041 4端口集线器
    Bus 002 Device 001:ID 1d6b:0003 Linux Foundation 3.0根集线器
    Bus 002 Device 002:ID 0451:8140 Texas Instruments、Inc. TUSB8041 4端口集线器
    Root@am67-sk:~# devmem2 0x31210490
    /dev/mem 已打开。
    映射到地址0xffff9162d000的存储器。
    读取地址0x31210490 (0xff9162d490):0x00001203
    Root@am67-sk:~# devmem2 0x31210490、带0x0A010340
    /dev/mem 已打开。
    映射到的存储器地址0xff7f7d8000。
    读取地址0x31210490 (0xff7f7d8490):0x00001203
    写入地址0x31210490 (0xffff7f7d8490):0x0A010340、回读0x0A010340
    Root@am67-sk:~# devmem2 0x31210490
    /dev/mem 已打开。
    映射到地址0xffffb2823000的存储器。
    读取地址0x31210490 (0xffb2823490):0x0A001203
    root@am67-sk:~#在 Linux 下运行"devmem2.

    Br、Rich

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

    Takuma  

    我尝试了 AM69x SK EVM、观察到了相同的结果。

    我想这是否是因为 USB 控制器后面还有一个 USB 集线器。  

    Root@AM69A:/opt/edgeai-gst-apps
    root@AM69A:/opt/edgeai-gst-apps devmem2 0x06010490
    /dev/mem 已打开。
    映射到地址0xffffbb83f000的存储器。
    读取地址0x06010490 (0xffffbb83f490):0x00001203
    root@AM69A:/opt/edgeai-gst-apps devmem2 0x06010490 w 0x0a010340
    /dev/mem 已打开。
    存储器映射到地址0xffffbee2c000。
    读取地址0x06010490 (0xffbee2c490):0x00001203
    写入地址0x06010490 (0xffffbee2c490):0x0A010340、回读0x0A010340
    root@AM69A:/opt/edgeai-gst-apps devmem2 0x06010490
    /dev/mem 已打开。
    映射到地址0xff9d002000的存储器。
    在地址0x06010490 (0xff9d002490)处读取:0x0A001203
    Root@AM69A:/opt/edgeai-gst-apps

    Br、Rich

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

    丰富、

    如调用中所述、您需要在写入 devmem 命令后连接主机测试装置以将 USB 置于合规模式。 如果未连接测试装置、寄存器写入将无效。

    我已经在实验室中进行了尝试、如果未连接测试装置、会看到相同的行为;写入操作不会停止。

    请尝试使用测试装置并告诉我。

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

    Shreyas,  

    感谢您提供的指南并验证了 J7AHP (SK-AM69)、并确认了在 DRA821 (J7200) EVM 上同样的过程工作原理。  

    这两个芯片使用相同的 USB3 IP 和相同的寄存器集来使用。   

    我今天已经通过 devmem2推荐并确认了实验室中的 DRA821 EVM。  

    对于 AM67x、您可以指定是否  devmem2 0x31210490、带 0x0A010340 CP0的正确寄存器是什么?  

    其次、下一个进入 CP1的寄存器是什么?   

    devmem2 0x06010490 w 0x0a010340

    devmem2 0x0601812c、具有0x18230c10 (CP1模式)

    第三、我今天不检查回波合规性模式、但它看起来只能启用 CP0、但不确定如何切换到 CP1。  

    是否继续推荐从 CP0切换到 CP1?  

    Br、Rich

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

    J7AHP:

    主机测试装置板或 USB 3.1合规性负载板程序。

    使用 devmem2命令进入兼容性模式:

    确保使用 DIP 开关将 EVM 设置为 USB 主机模式–有关开关设置、请参阅 EVM 指南。

    EVM 未连接到主机测试装置(Type-C 至 TYPEA 连接器保留插入 TYC 端口)

    启动 Linux

    "evmem2 0x06010490 w 0x0a010340"‘D

    将主机测试装置连接到 EVM

    ("evmem2 0x06010490"‘D应读回0x0a000340、以确保进入合规性模式)

    观察结果:

    CP0模式持续–测量 USB 测试套件上的 CP0

    对于 CP1:

    断开并重新启动 EVM

    进入合规模式:

    devmem2 0x06010490 w 0x0a010340

    devmem2 0x0601812c、具有0x18230c10 (CP1模式)

    将测试装置重新连接到 EVM

    观察结果:

    CP1模式(在奈奎斯特频率2.5GHz 时钟下)、但必须在 SERDES 内部启用 SSC。 从 CP0切换到 CP1 (无 BERT 控制 Ping.LFPS)。 USB 控制器未启用 SSC。 在 USB 测试套件上测量。

    回波符合性模式:

    EVM 未连接到测试装置。

    启动 Linux

    回波顺应性>/sys/kernel/debug/usb/xhci/xhci-hcd.x.auto/ports/port02/portsc–x =在../usb/xhci 之后 它会自动填充。

    检查合规性命令:Cat /sys/kernel/debug/usb/xhci/xhci-hcd.x.auto/ports/port02/portsc

    连接测试装置

    观察结果:

    LFPS (和 CP0)模式重复突发

    使用 USB 测试套件测量 LFPS。

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

    丰富、

    对于 AM67、请使用以下特性:

    devmem2 0x31210490、w 0x0a010340 -主机 TX 合规性模式。

    要从 CP0切换到 CP1、请在进入合规模式后进入该模式。
    devmem2 0x3121812c、具有0x18230c10 (CP1)。

    然后将测试装置重新连接到插槽。

    请告诉我。

    是否还要启用 RX 环回模式?

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

    Shreyas,

    如果客户端有 BERT、您是说 USB 也有 RX 环回模式吗?  

    Br、Rich  

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

    您好 Shreyas & Rich、

    很抱歉、我没有密切关注此主题、也不知道您目前在该合规性测试工作中的确切位置、但我不确定以下注意事项是否会对您有所帮助。

    早在2021年、我们就在 AM64x 上进行了 USB3.0合规性测试、下面是我在计算机上看到的关于这项工作的一些注释。

    1.当使用命令"echo compliance >/..../portsc 进入合规性模式时、xHCI 驱动程序会检查 HCC2_CTC 是否已启用、然后再进入合规性模式。  请参见内核驱动程序/usb/host/xhci-debugfs.c 函数 xhci_port_write ()中的以下代码

            if (!strncmp(buf, "compliance", 10)) {
                    /* If CTC is clear, compliance is enabled by default */
                    if (!HCC2_CTC(xhci->hcc_params2))
                            return count;

    在 AM64x 上、由于 drivers/usb/host/xhci.c、函数 xhci_gen_setup()、变量 xhci->hcc_pams2未填充、因为 AM64x 上 xhci 版本为 v1.00、但它确实具有 hcc_pams2:

            if (xhci->hci_version > 0x100)
                    xhci->hcc_params2 = readl(&xhci->cap_regs->hcc_params2);

    因此、我们添加了以下破解以确保 AM64x USB 可以进入合规性模式:

    diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
    index a8d97e23f601..5579d50158e1 100644
    --- a/drivers/usb/host/xhci.c
    +++ b/drivers/usb/host/xhci.c
    @@ -5234,7 +5234,7 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
            xhci->hcc_params = readl(&xhci->cap_regs->hc_capbase);
            xhci->hci_version = HC_VERSION(xhci->hcc_params);
            xhci->hcc_params = readl(&xhci->cap_regs->hcc_params);
    -       if (xhci->hci_version > 0x100)
    +       if (xhci->hci_version >= 0x100)
                    xhci->hcc_params2 = readl(&xhci->cap_regs->hcc_params2);

    2.内核器件树绑定 doc Documentation/devicetree/bindings/phy/cadence cadence-Sierra .yaml 和 phy-cadence-torrent.yaml 具有:

          cdns,ssc-mode:
            description:
              Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC,
              EXTERNAL_SSC or INTERNAL_SSC.

    因此、我们使用以下内核器件树补丁来在 AM64x USB 上启用 SSC:

    diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
    index a1fc366df82e..1844c2f7cc4f 100644
    --- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
    +++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
    @@ -702,6 +702,7 @@ serdes0_usb_link: phy@0 {
                    #phy-cells = <0>;
                    cdns,phy-type = <PHY_TYPE_USB3>;
                    resets = <&serdes_wiz0 1>;
    +               cdns,ssc-mode = <TORRENT_SERDES_INTERNAL_SSC>;
            };
     };

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

    BIN、  

    感谢分享。  

    这些更像是驱动程序实现、我想向用户询问需要使用什么订单和建议/说明来完成客户实验室的合规性测试。  

    对于回波合规性模式、假设以下步骤可以启动 CP0模式、如何在 CP0之后切换到 CP1?

    是否要设置类似的注释?  

    Br、Rich  

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    回波符合性模式:

    EVM 未连接到测试装置。

    启动 Linux

    回波顺应性>/sys/kernel/debug/usb/xhci/xhci-hcd.x.auto/ports/port02/portsc–x =在../usb/xhci 之后 它会自动填充。

    检查合规性命令:Cat /sys/kernel/debug/usb/xhci/xhci-hcd.x.auto/ports/port02/portsc

    连接测试装置

    观察结果:

    LFPS (和 CP0)模式重复突发

    使用 USB 测试套件测量 LFPS。

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

    尊敬的 Bin:

    感谢您提供的有关 Linux 驱动程序设置的大量信息。

    看起来串行器/解串器 PHY 也设置为启用 SSC。 SSC 是在合规模式下始终启用一次、还是仅在 TX 上输出 CP1模式时启用? 因为 CP1模式需要启用 SSC、而不需要启用 CP0模式。 看起来如果启用了 SSC、那么所有 TX 输出都上都将有 SSC?

    丰富、

    对于 CP1模式、 要启用 CP1模式、请在进入合规模式后进入该模式。
    devmem2 0x31210490 w 0x0a010340 -合规模式

    devmem2 0x3121812c、带0x18230c10 -输出奈奎斯特频率时钟信号(2.5GHz -CP1模式)

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

    尊敬的 Shreya:

    很抱歉、但我不知道答案。 我只是帮助硬件人员设置合规性测试、但我不知道硬件模块在内部是如何工作的。

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

    谢谢 Bin。

    底线是 SSC 由 SERDES PHY 启用、而不是由 USB 控制器启用。