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**** 2379010 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

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

    丰富、

    Linux 引导后、可输入以下命令以使 USB2.0符合测试数据包的要求。 在本例中、USB 已配置为主机模式。

    devmem2 0x31000420、带0xA0
    devmem2 0x31000020、带0x4
    devmem2 0x31000424、带0x40000000

    请告诉我这样是否成功发送了测试数据包。

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

    您可以输入以下命令来输入 USB2.0、以确保其符合测试数据包。devmem2 0x31000420 w 0xA0 devmem2 0x31000020 w 0x4 devmem2 0x31000424 w 0x40000000

    如何为 USB 3.0 眼图启用 USB 测试模式 、与相同

    USB 2.0 还是其他?

    谢谢  

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

    Guojuan,

    您是否能够使用提供的命令测试 USB2p0测试模式?  

    USB3p0在数据吞吐量以及控制器、子系统方面都不同于 USB2.0。 USB3.0使用 SERDES 引脚来实现超高速、并具有不同的合规要求。

    其中一种方法是使用低速 LFPS 信号(低频周期信号)、然后是在5G 速度下采用 CP0、CP1测试模式。

    当处于 PMA 隔离模式时、可以在寄存器 PHY_PMA_ISO_Xcvr_CTRL[29]中启用 LFPS。 CP0是一种启用了展频的5G 信号模式、CP1是不带 SSC 的5G 时钟信号(1/0)。  

    我们有示波器测试软件来验证 USB3.0信号(LFPS、CP0、CP1)的电气合规性。 我不确定是否有没有测试软件套件进行测试的方法。 在将器件投放市场之前、我们已在 PVT 中验证 USB3p0。

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

    USB2p0 预计将于1月10日进行测试。

    您能否提供 用于测试 USB3.0眼图以及如何使用它的软件包?

    谢谢。

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

    Guojuan,

    请参阅 LeCroy QPHY USB 测试手册。

    https://cdn.teledynelecroy.com/files/manuals/qualiphyusb3manual.pdf

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

    此 PDF 用于 x86

    我们需要 u-boot 或 Linux 内核来存储 USB3.0眼图

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

    Shreyas,  

    测试手册适用于示波器、我认为问题现在来自 DUT 端(AM67x)、它是否需要运行任何软件或说明才能进入 USB3.0的测试模式。 (对于测试模式、建议使用 USB2.0、对于 USB3是否也有类似的建议)

    Br、Rich   

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

    您好 Rich、

    1月3日、国娟的问题是关于软件包以及如何使用它、所以我粘贴了我们使用的 LeCroy 手册。

    关于测试 USB3.0的软件说明,我在1月2日回复了说明。 我使用 CCS 进行 USB 3.0验证。 我尚未使用 Linux 来实现 USB 3.0、也不知道是否有一组将器件置于测试合规性模式的指令。

    由于 USB 3.0使用 SERDES TX/RX 引脚、因此我们需要输出使用 SERDES 包装器生成的 LFPS、CP0和 CP1模式。

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

    阅读 xHCI 文档时、

    "仅当端口处于断开状态、然后写入 PORTSC 寄存器并将 PLS 字段设置为合规模式且 LWS 设置为‘1'时、才会在 LFPS ping 超时后进入合规模式。

    从 AM67 TRM Excel 工作表中、

    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 16 LWS
    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 8:5

    端口链路状态[PLS]、RWS。 默认值= RxDetect ['5']。 此字段用于对端口进行电源管理并反映其当前链路状态。 当端口处于 Enabled 状态时、系统软件可以通过写入该字段来设置链路 U 状态。 系统软件也可以写入该字段来强制端口从"禁用"状态转换为"断开连接"状态。
               写入值:  
               0:链路应从任何 U 状态转换到 U0状态。
               3:链路应从 U0状态转换到 U3状态。 此操作有选择地暂停连接到此端口的设备。 当端口链路状态为 U3时、集线器不会将下行方向的流量传播到此端口、但集线器应响应来自该端口的恢复信号。
               5:如果端口处于禁用状态[PLS =禁用、PP ="1"]、则链路应转换到 RxDetect 状态、端口应转换到断开状态、否则忽略。
               1-2,4,6-15:忽略。   
               状态编码:
               0:链路处于 U0状态、
               1:链路处于 U1状态、
               2:链路处于 U2状态、
               3:链路处于 U3状态[设备已暂停]、
               4:链路处于禁用状态,
               5:链路处于 RxDetect 状态、
               6:链路处于非活动状态、
               7:链路处于轮询状态,
               8:链路处于恢复状态、
               9:链路处于热复位状态、
               10链路处于合规模式状态、
               11:链路处于测试模式状态、
               12-14:保留、
               15:链接处于恢复状态。
               注意:端口链路状态写入选通[LWS]也应设置为"1"才能写入此字段。 如果 PP ="0"、则此字段未定义。
               注意:在转换完成之前、不会反映不同状态之间的转换。
               有关 PLS 转换条件、请参阅 xHCI 规范的第4.19节。 有关使用此字段的更多信息、请参阅第4.15.2节和第4.23.5节。

    请参阅 xHCI 规范:

    https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf

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

    Shreyas,  

    感谢您的反馈。  

    您提到"我使用 CCS 进行了 USB 3.0验证、 我还没有使用 Linux 进行 USB 3.0、也不知道是否有一组将设备置于测试合规性模式的说明。"  

    稍后、您指出了要为进入 合规模式而设置的寄存器。  

    "仅当端口处于断开状态、然后写入 PORTSC 寄存器并将 PLS 字段设置为合规模式且 LWS 设置为‘1'时、才会在 LFPS ping 超时后进入合规模式。

    从 AM67 TRM Excel 工作表中、

    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 16 LWS
    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 8:5

    您是否使用 CCS 为合规性测试执行所有寄存器设置? 如果客户保留了 JTAG、我们是否有说明指南供客户如何通过 CCS 执行此操作?  

    客户通常不会保留 JTAG、是否可以在 u-boot 或内核中称赞行指令来执行相同的操作?

    Br、Rich   

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

    您好 Rich、

    是的,我为我创造的混乱道歉。 我最初回复您、不知道是否有办法在使用 CCS 之外进入合规性模式。 后来我回来阅读了提到合规模式入口的 xHCI 文档、然后回到 TRM 以找出需要设置为合规模式入口的 PLS 和 LWS 寄存器。

    我使用 CCS 进行 USB3.0合规性测试。 在 CCS 中、我们有 API 来设置 SERDES TX 以输出 LFPS 信号、将器件置于环回状态并通过 AWG 或 BERT 输出 CP0图形、还用于输出 CP1图形。

    是否可以在 Linux 中尝试这些寄存器并查看器件是否可以进入合规性模式? 您是否还具有合规性测试所需的 USB SQUID 测试装置?

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

    Shreyas,  

    否、我们没有用于合规性测试的 USB 测试装置。  

    对于 Linux 中的寄存器设置 、如果它只是在寄存器中设置两位、而不是在设置序列中设置、我们应该能够管理该设置。  

    请在 CCS 中向我们共享代码、我们可以参考来修改指令。  

    Br、Rich

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

    我可以与您共享二进制文件、但没有测试装置、不确定您是否可以运行合规性测试。

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

    Shreyas,  

    我不想使用二进制文件、客户希望使用 Linux 注释。  

    我的目的是检查您设置的寄存器和程序。 我不确定是否可以翻译为 Linux、但我会尝试一下。  

    客户拥有测试功能、如果可能、我将向他们提供 Linux 注释。  

    所有客户都需要进行此 USB 3.0合规性测试。  

    建议为基于 Linux 的测试过程创建完整文档。   

    Br、Rich

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

    丰富、

    在地址0x31000420h 中、写入0x0A010340。 此命令应将 SoC 置于 USB3.0合规性模式、然后您可以连接 USB 测试装置。

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

    Shreyas,  

    好的、因此只需设置一个寄存器即可进入 USB 3.0合规性模式。  

    devmem2 0x31000420、带0xA0010340  

    Br、Rich

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

    丰富、

    一个寄存器、但它涉及不同的字段以使器件符合合规性要求。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 devmem2 0x31000420 w 0xA0010340 测试 USB3.0: 

    存在
    信号输出、但信号波形无法固定、并且在使用 SI 测试装置切换图案时会显示错误
    现在有更多 LFPS 信号、它不应该完全进入 USB 合规性模式 



    串行端口打印: 
    USB USB3-port1:无法启用。可能 USB 电缆损坏 



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

    您是否在 TX 引脚上看到了 LFPS 信号输出? 可以切换到不同的模式?

    USB 电缆是否经过认证?

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

    标准 USB 测试电缆、其他项目也通过此测试。Ω 进行了测试 
    使用软件包,没有其他波形输出,只有 LFPS 波形将显示如图所示当装置刚刚连接
    您可以看到 LFPS 波形、但无法切断其他模式。μ s
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shreyas,  

    "是否可以在 Linux 中尝试这些寄存器并查看器件是否可以进入合规性模式? 您是否还具有合规性测试所需的 USB SQUID 测试装置?"

    客户尝试按照建议在 Linux 中设置寄存器、AM67x 会进入测试模式。 它们具有测试装置、但结果如报告所示。


    "我们有 API、用于设置 SERDES TX 以输出 LFPS 信号、将器件置于环回模式并通过 AWG 或 BERT 输出 CP0图形、还用于输出 CP1图形。"

    您提到了有关 API 的 信息、若要将寄存器0x31000420设置为0xA0010340、 这是否只是一个条件、不同的测试模式是否会有其他设置?   

    您是否可以尝试 为 Linux 设置测试并提供说明 作为指南?  

    Br、Rich

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

    LFPS 波形是否通过了合规性测试?

    示波器上是否有软件测试套件? 测试套件将为器件提供 ping、以将波形从 Cp0更改为 CP1。

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

    Shreyas,  

    是、LFPS 波形通过了合规性测试。  

    是的、客户在示波器上安装了软件测试套件、客户还使用 Rockchip SOC 完成了测试。

    根据客户、问题现在是在 LFPS 之后、测试套件启用测试项、但可能没有 ping AM67x 来通知 AM67x USB 更改波形。 是否遗漏了任何特定操作?  

    我们是否有测试套件的说明或操作指南?  

    Br、Rich

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

    丰富、

    我将进一步深入研究并向您提供最新信息。

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

    丰富、

    请尝试使用 J722S TRM Excel 工作表中的此寄存器。

    USB_VBP2AHB_WRAP_CONTROLLER_VBP_USB3_CORE_GBL_GPIPE_GUSB3PIPECTL.HstPrtCMPl[30]= 1b'1。

    此功能无需在 USB 3.0电缆上使用测试装置即可测试 PIPE PHY 合规性模式。

    该位启用 SS 端口链路的合规性状态。 默认情况下、该引脚必须设置为1'b0。

    在合规性实验室测试中、SS 端口链路在上电后未通过第一个轮询序列后进入合规性状态。 运行合规性测试时、将该位设置为0。

    使用此功能的顺序如下:
     - 1. 断开所有插入的设备。
     - 2. 执行 USBCMD.HCRST 或片上电复位。
     - 3. 设置 PORTSC.PLS=0xA。
     - 4. 设置 PORTSC.PP=0。
     - 5. 设置 GUSB3PIPECTL。 HstPrtCMPl=1。 这会将链路置于合规性状态。
    要推进合规性模式、请按照以下顺序操作[切换 SET GUSB3PIPECTL。 HstPrtCMPl]:
     - 1. 设置 GUSB3PIPECTL.HstPrtCmpl=0。
     - 2. 设置 GUSB3PIPECTL.HstPrtCmpl=1。 这会将链路推进到下一个合规性模式。
    要退出合规性状态、请执行 USBCMD.HCRST 或片上电复位。

    请告诉我。

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

    我们是否需要在 TDA4上参考此 E2E?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941445/tda4vm-usb-2-0-host-test-mode-usb-3-0-host-compliance-pattern

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

    您好 

    当我们执行此类命令时:

    //首先读取、它将为我们0x5。

    根@ecu1270-f14ffe:~# devmem2 0x31000020
    /dev/mem 已打开。
    映射到地址0xffff80817000的存储器。
    地址0x31000020 (0xff80817020)处的值:0x5

    //使用值0x4写入、它将读回为0x5。
    root@ecu1270-f14ffe:~# devmem2 0x31000020 w 0x4
    /dev/mem 已打开。
    映射到地址0xff9d69b000的存储器。
    地址0x31000020 (0xffff9d69b020)处的值:0x5
    写入0x4;读回0x4
    根@ecu1270-f14ffe:~#

    简而言之、写入寄存器不工作会导致 USB3.0失败测试。

    是否有其他方法来解决此问题?

    BR Rio

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

    根据该 E2E:

    e2e.ti.com/.../5450292

    -->只有 USB1和 serdes0可用于支持 USB3.0、USB0用于支持 USB2.0。

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

    Shreyas,  

    我们尝试通过 devmem2在具有 Linux SDK 10.1 wic 映像的 EVM 上的 Linux 内核中设置寄存器、我们发现即使在具有 TI 预编译映像的 EVM 上也无法成功修改寄存器。  

    我想知道在修改之前是否需要解锁这些区域寄存器?  

     

    root@am67-sk:~# uname -A

    Linux am67-SK 6.6.44-ti-01478-g541c20281af7-dirty #1 SMP 抢占周四11月14日19:20:24 UTC 2024 AArch64 GNU/Linux

    root@am67-sk:~# devmem 0x31000420

    -sh:devmem:未找到命令

    Root@am67-sk:~# devmem2 0x31000420

    /dev/mem 已打开。

    映射到地址0xff85c7b000的存储器。

    读取地址 0x31000420 (0xff85c7b420):0x00000280

    root@am67-sk:~# devmem2 0x31000420、带0xFFFF

    /dev/mem 已打开。

    映射到地址0xffff8e09f000的存储器。

    读取地址 0x31000420 (0xff8e09f420):0x00000280

    在地址0x31000420 (0xff8e09f420)处写入:0x0000FFFF、回读0x0000FFFF

    root@am67-sk:~# devmem2 0x31000420、具有0xFFFFFFFF

    /dev/mem 已打开。

    映射到地址0xff9cc4d000的存储器。

    读取地址 0x31000420 (0xff9cc4d420):0x0000C290

    在地址0x31000420 (0xffff9cc4d420)处写入:0xFFFFFFFF、回读0xFFFFFFFF

    Root@am67-sk:~# devmem2 0x31000420

    /dev/mem 已打开。

    映射到地址0xffffb4ec7000的存储器。

    读取地址 0x31000420 (0xffb4ec7420):0x0000C290

    Root@am67-sk:~# devmem2 0x31000420、带0x5A5A5A5A5A

    /dev/mem 已打开。

    存储器映射到地址0xffffb8cd4000。

    在地址 0x31000420 (0xffffb8cd4420)处读取:0x0000C290

    在地址0x31000420 (0xffffb8cd4420)处写入:0x5A5A5A5A、回读0x5A5A5A5A5A

    Root@am67-sk:~# devmem2 0x31000420

    /dev/mem 已打开。

    映射到地址0xff96e07000的存储器。

    读取地址 0x31000420 (0xff96e07420):0x0000C290

    root@am67-sk:~# devmem2 0x31000400

    /dev/mem 已打开。

    存储器映射到地址0xffff8104e000。

    读取地址 0x31000400 (0xff8104e400):0x00000000

    root@am67-sk:~# devmem2 0x31000400、带0x5A5A5A5A5A

    /dev/mem 已打开。

    存储器映射到地址0xff9cff6000。

    读取地址 0x31000400 (0xff9cff6400):0x00000000

    在地址0x31000400 (0xff9cff6400)处写入:0x5A5A5A5A、回读0x5A5A5A5A5A

    root@am67-sk:~# devmem2 0x31000400

    /dev/mem 已打开。

    映射到地址0xffffad73d000的存储器。

    读取地址 0x31000400 (0xffad73d400):0x00000000

    Root@am67-sk:~# devmem2 0x31000020

    /dev/mem 已打开。

    存储器映射到地址0xff86ad5000。

    读取地址 0x31000020 (0xff86ad5020):0x00000000

    root@am67-sk:~# devmem2 0x31000020、带0xFFFF

    /dev/mem 已打开。

    映射到地址0xffffb1328000的存储器。

    读取地址 0x31000020 (0xffb1328020):0x00000000

    在地址0x31000020 (0xffffb1328020)处写入:0x0000FFFF、回读0x0000FFFF

    Root@am67-sk:~# devmem2 0x31000020

    /dev/mem 已打开。

    地址0xffffa6fa2000映射的存储器。

    读取地址 0x31000020 (0xffa6fa2020):0x00000000

    root@am67-sk:~# sudo devmem2 0x31000020

    /dev/mem 已打开。

    存储器映射到地址0xffffa56c5000。

    读取地址 0x31000020 (0xffa56c5020):0x00000000

    root@am67-sk:~# sudo devmem2 0x31000020、带0xFFFFFFF

    /dev/mem 已打开。

    映射到地址0xffac4c4000的存储器。

    读取地址 0x31000020 (0xffffac4c4020):0x00000000

    在地址0x31000020 (0xffffac4c4020)处写入:0x0FFFFFFF、回读0x0FFFFFFF

    root@am67-sk:~# sudo devmem2 0x31000020

    /dev/mem 已打开。

    映射到地址0xffffa3ff6000的存储器。

    读取地址 0x31000020 (0xffffa3ff6020):0x00000000

    root@am67-sk:~#

    启动并尝试另一项测试

    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    存储器映射到地址0xff89277000。
    读取地址0x31000420 (0xff89277420):0x00000280
    root@am67-sk:~# devmem2 0x31000420、w 0x0000FFFF
    /dev/mem 已打开。
    地址0xffffbbe16000映射的存储器。
    读取地址0x31000420 (0xffbbe16420):0x00000280
    在地址0x31000420 (0xffbbe16420)处写入:0x0000FFFF、回读0x0000FFFF
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    映射到地址0xff92d7a000的存储器。
    读取地址0x31000420 (0xff92d7a420):0x0000C290
    root@am67-sk:~# devmem2 0x31000420 w 0x00000000
    /dev/mem 已打开。
    地址0xffffb1fd2000映射的存储器。
    读取地址0x31000420 (0xffb1fd2420):0x0000C290
    在地址0x31000420 (0xffb1fd2420)处写入:0x00000000、回读0x00000000
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    映射到地址0xffff8edbc000的存储器。
    读取地址0x31000420 (0xffff8edbc420):0x0000C290
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    映射到地址0xff80e59000的存储器。
    读取地址0x31000420 (0xff80e59420):0x0000C290
    root@am67-sk:~# devmem2 0x31000420、w 0x0000
    /dev/mem 已打开。
    映射到地址0xff8a61c000的存储器。
    读取地址0x31000420 (0xff8a61c420):0x0000C290
    在地址0x31000420 (0xff8a61c420)处写入:0x00000000、回读0x00000000
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    存储器映射到地址0xff9737d000。
    读取地址0x31000420 (0xff9737d420):0x0000C290
    root@am67-sk:~# devmem2 0x31000400
    /dev/mem 已打开。
    存储器映射到地址0xff86380000。
    读取地址0x31000400 (0xff86380400):0x00000000

    Br、Rich

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

    Shreyas,  

    您现在是否回到办公室?  

    在这里,我想添加一个补充,因为拼写错误,我最初使用了错误的值,然后我纠正它,你在这篇文章. 我发现其他供应商也使用相同的建议和相同的设置值。  

    devmem2 0x31000420、w 0xA0010340  => devmem2 0x31000420、w 0x 0A010340

    然而,它仍然不起作用。

    那么我们看到 TDA4在 Rio 发布的帖子。

    我们在实验室中测试寄存器设置、发现寄存器无法修改为设定值、因此我们在 AM67x SK EVM 上进行测试、并发现寄存器设置问题。  

    在修改0x31000420之前、我们是否需要执行解锁过程?  

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

    Shreyas,  

    此外、您可以引导我查看 Excel 工作表吗? 在哪里可以找到它?  

    我有一个 Excel 可能从你,但我找不到你在这里显示的注册表.  

    寄存器地址是什么? 哪个工作表编号?  

    请尝试使用 J722S TRM Excel 工作表中的此寄存器。

    USB_VBP2AHB_WRAP_CONTROLLER_VBP_USB3_CORE_GBL_GPIPE_GUSB3PIPECTL.HstPrtCMPl[30]= 1b'1。

    Br、Rich

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

    丰富、

    寄存器 xls 与 TRM 一同压缩:

     Document-pdfAcrobat J722S TDA4VEN TDA4AEN AM67处理器器件版本1.0技术参考手册(修订版 A)  

    相关的寄存器位于选项卡139_USB0中、其名称为 USB2SS_GBL_GPIPE_GUSB3PIPECTL。

    此致、

    Kyle

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

    Kyle、  

    谢谢、我找到了 USB2SS_GBL_GPIPE_GUSB3PIPECTL 的寄存器。 它是0x3100C2C0。  

    读出的值为0x010E0002。  

    我可以使用  devmem2 0x3100C2C0 (具有0x410E0002)将位30设置为1。  

    但是、设置 LWS 和 PLS 有问题。  

    我尝试使用"执行 USBCMD.HCRST 或片上电复位"。  

    运行 devmem2 0x31000020 (带0x2)以复位 USB、但发现 USB 中的寄存器值未更改回默认值。  

    设置 LWS 和 PLS 是否有任何限制或前提条件?  

     

    Br、Rich

    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 16 LWS
    3100 0420h 32 0h USB2SS_PORT USB2SS_PORT_XHCI_PORT_20_PORTSC_20 8:5

    root@am67-sk:~# root
    -sh:root:未找到命令
    root@am67-sk:~#
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    存储器映射到地址0xff8b279000。
    读取地址0x31000420 (0xff8b279420):0x00000280
    root@am67-sk:~# devmem2 0x3100C2C0
    /dev/mem 已打开。
    映射到地址0xffffb33dc000的内存。
    读取地址0x3100C2C0 (0xffb33dc2c0):0x010E0002
    root@am67-sk:~# devmem2 0x3100C2C0、w 0x410E0002
    /dev/mem 已打开。
    存储器映射到地址0xffffb5d89000。
    读取地址0x3100C2C0 (0xffb5d892c0):0x010E0002
    写入地址0x3100C2C0 (0xffb5d892c0):0x410E0002、回读地址0x410E0002
    root@am67-sk:~# devmem2 0x3100C2C0
    /dev/mem 已打开。
    映射到地址0xffff9d2f5000的存储器。
    读取地址0x3100C2C0 (0xff9d2f52c0):0x410E0002
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    映射到地址0xff89288000的存储器。
    读取地址0x31000420 (0xff89288420):0x00000280
    Root@am67-sk:~# devmem2 0x31000420、带0x00000340
    /dev/mem 已打开。
    映射到地址0xffffb544f000的存储器。
    读取地址0x31000420 (0xffffb544f420):0x00000280
    写入地址0x31000420 (0xffffb544f420):0x00000340、回读0x00000340
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    映射到地址0xffa79e4000的存储器。
    读取地址0x31000420 (0xffa79e4420):0x00000280

    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    存储器映射到地址0xffff97912000。
    读取地址0x31000420 (0xffff97912420):0x00000280
    Root@am67-sk:~# devmem2 0x31000020
    /dev/mem 已打开。
    映射到地址0xff98b82000的存储器。
    读取地址0x31000020 (0xff98b82020):0x00000000
    root@am67-sk:~# devmem2 0x3100C2C0
    /dev/mem 已打开。
    地址0xffffb2e6f000映射的存储器。
    读取地址0x3100C2C0 (0xffb2e6f2c0):0x010E0002
    root@am67-sk:~#
    root@am67-sk:~# devmem2 0x31000020、带0x2
    /dev/mem 已打开。
    映射到地址0xffffbe170000的存储器。
    读取地址0x31000020 (0xffbe170020):0x00000000
    写入地址0x31000020 (0xffbe170020):0x00000002、回读0x00000002
    Root@am67-sk:~# devmem2 0x31000020
    /dev/mem 已打开。
    存储器映射到地址0xff970a6000。
    读取地址0x31000020 (0xff970a6020):0x00000000
    root@am67-sk:~# devmem2 0x3100C2C0
    /dev/mem 已打开。
    映射到地址0xffffb1115000的存储器。
    读取地址0x3100C2C0 (0xffb11152c0):0x010E0002
    Root@am67-sk:~# devmem2 0x31000420
    /dev/mem 已打开。
    存储器映射到地址0xff965ee000。
    读取地址0x31000420 (0xff965ee420):0x00000280
    root@am67-sk:~#

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

    您好 Rich、

    我们为什么要修改寄存器 usb0寄存器的一个快速问题? 使用 USB1支持 USB3。

    此致
    Diwakar

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

    Diwakar、  

    这是我对寄存器 Excel 表的好奇心。  

    以上就是这个 e2e 主题的说明。  

    Br、Rich

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

    Diwakar、  

    有一个旧的 e2e 主题指示测试建议

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941445/tda4vm-usb-2-0-host-test-mode-usb-3-0-host-compliance-pattern

    我查看 AM67x EVM 上的 Linux 内核、发现有两个端口、我想知道端口是映射到 USB0和 USB1还是 SERDES0还是 SERDES1?

    哪个端口是 USB3.0?   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port01/portsc   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port02/portsc    

    次级时、我想知道 USB3测试是否使用 USB2信号? USB3可以在没有 USB2连接的情况下直接测试吗?  

    这是因为还有其他线程声明 USB3.0只能与 USB1配合使用、而不能与 USB0配合使用、客户电路板使用 USB0与 USB3.0 SS。  

    USB2.0信号对于 USB3.0合规性测试是否是必需的?  

    Br、Rich  

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

    您好、Rich

    您是否可以获得原理图、尤其是 USB 部分的原理图。

    此致
    Diwakar

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

    USB3.0将向后兼容 USB2.0;但是、USB2.0和 USB3.0将在 USB 子系统中具有单独的控制器。

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

    Shreyas,  

    是的、这就是为什么我会问 USB3.0为什么只能与 USB2.0 (USB1)配合使用、而不能与 USB2.0 (USB0)配合使用。 这是 AM67x 的限制吗?  

    次级、在执行 USB3.0合规性测试时、是否只会测量 USB3.0单通道波形? USB3.0合规性测试是否需要 USB 2.0 DP/DM?  

    客户现在将 USB2.0 (USB0)与 USB 3.0信号组合到 USB3.0主机连接器、它可以在 Linux 中正常工作、以支持大容量存储器件、并且速度为5GHz。  

    Diwakar、  

    我会将原理图以邮件形式发送给您。  

    Br、Rich  

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

    丰富、

    将仅测量 USB3.0单通道波形

    我不知道您在这里说的是测量的单通道波形。

    USB3.0不需要 USB2.0 DP/DM。 USB3.0使用 SERDES TX/RX 引脚进行数据。

    USB0支持 USB2.0、并且 SERDES 引脚连接到 USB1实例。

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

    Shreyas,  

    你的最新陈述就是 我所问的。  

    USB0支持 USB2.0、并且 SERDES 引脚连接到 USB1实例

    在 AM67x TRM 中、图中显示 USB3.0端口与 USB0绑定。  

    是否有文档指示 USB3.0仅连接到 USB1端口、而 USB0端口只能像 USB2.0那样工作?   

    推荐  

    Br、Rich

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

    Shreyas,  

    为了让建议进入合规性测试、为什么有两个端口?  

    端口01和端口02是否表示 USB0和 USB1?  

    对于 USB3测试、端口02是否是适合使用的端口?   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port01/portsc   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port02/portsc    

    由于 USB1连接到 USB3集线器、因此我们无法在 EVM 上直接获得 USB3输出、因此我们无法在 EVM 上验证此特性。  

    Br、Rich

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

    我已经与 IP 团队联系以确认 TDA4VEN 上有2个 USB 实例;USB0仅支持单个 USB2p0SS、另一个同时支持 USB2p0和 USB3p0并实例化为 USB1、将其连接到 SERDES 引脚。

    在 TI EVM 上、您是对的、USB1通过 USB_Hub、因此无法验证 SoC 的 USB3.0。

    USB1应为 Port02。

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

    Shreyas,  

    客户尝试在 USB0 + SERDES0和 USB1 (蓝线)+ SERSES0时都推荐。  

    不在 U3接口上获取 USB 测试图形。   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port01/portsc   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port02/portsc    

    团队能否审核建议并确认 AM67x 上如何启用 USB 3.0测试模式?

    客户需要一种通过 UART 控制台进入测试模式的简单方法。  

    Br、Rich

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

    Shreyas,  

    我们仍无法完成 AM67x 的 USB 3.0合规性测试。  

    是否有经过验证的方法来执行合规性测试?  

    Br、Rich

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

    让我向供应商提出请求、以指导您完成此操作。

    如果我理解正确、到目前为止、您的 LFPS 正常工作、但无法转到 CP0/CP1模式以在 SERDES 引脚上输出正确吗?

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

    Shreyas,  

    客户认为、无论 DUT 是否已连接、都将观察到 LFPS。  

    是的、连接后、测试设备(运行测试套件)无法使 AM67x USB 转换到"U3 SS"引脚上的 CP0/CP1模式。

    Br、Rich   

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

    丰富、

    根据客户、无论 DUT 是否连接、都将观察到 LFPS。  [/报价]

    我没有遵循这一说法。 DUT 已(或未)连接到您所指的测试装置?  

    是的、连接后、测试设备(运行测试套件)不能有 AM67x USB 转至"U3 SS"引脚上的 CP0/CP1模式。

    我理解这一个。 无 CP0/CP1模式输出。  

    收到供应商的回复后、我会回复。

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

    丰富、

    下面是我收到的回复。

    "对于 USB 控制器和 PHY 设备模式:默认情况下启用并支持合规性测试。  

    对于 USB 控制器和 PHY 主机模式:-在未连接设备/合规性工具(例如示波器/试验程序)的情况下打开 SoC 电源

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

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

    -连接合规性工具 (例如范围)-从现在起,合规性工具(例如范围)应控制合规性模式的输入和切换合规性模式

    -如果控制器已通过读取 USB3 PORTSC 寄存器进入合规模式、则可以进行检查。 如果 PLS 为0xA、则控制器处于合规模式。"

    我相信您已经尝试过这种方法、只能看到 LFPS 信号、但看不到 CP0/CP1模式?

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

    Shreyas,  

    写入 USB3 PORTSC 是原始方法、遇到的问题是无法相应地修改寄存器。  

    寄存器似乎不完全可修改。

    因此 PORTSC 方法的语句只有正确的一半。 我们尝试修改寄存器、但可能无法成功修改寄存器设置、因此可能无法进入合规模式。  

     

    对于这种方法、请检查并验证您这边 TI EVM 上的建议、帮助确定限制是什么、还是寄存器映射存在问题。 我们一直在这里。  

    对于第二种方法、我们也无法使其正常工作。 我们需要其中一个才能发挥作用。  

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port01/portsc   

    root@am67-sk:~# echo compliance >/sys/kernel/debug/usb/xhci/xhci-hcd.7.auto/ports/port02/portsc    

    Br、Rich