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.

[参考译文] TUSB7340:Linux/TUSB7340:USB2.0枚举故障/Xilinx MicroBlaze/PCIe root/xhci-hcd Linux 驱动程序

Guru**** 2390875 points
Other Parts Discussed in Thread: TUSB7340

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1034326/tusb7340-linux-tusb7340-usb2-0-enumeration-failure-xilinx-microblaze-pcie-root-xhci-hcd-linux-driver

器件型号:TUSB7340

您好!

我们在枚举连接到 TUSB7340主机控制器端口的 USB2.0外设时遇到问题。 硬件平台是基于 KCU105/MicroBlaze 的定制板、启用了 PCIe 根复合体(5Gb/s 的 x1链路)。  TUSB7340 PCIe 接口进行正确枚举(我们认为)、但 USB 设备枚举失败。  Linux 内核版本为 v5.4.0 (Xilinx rel-2020.2)、其中包含用于 USB3.0主机的 xhci-hcd 驱动程序。

USB 2.0枚举错误:

USB 1-2:使用 xhci_hcd 的新型高速 USB 器件编号9
USB 1-2:器件描述符读取/64、错误-71
USB USB1-port2:无法枚举 USB 设备

dmesg 输出| grep pci:

XilinX-PCIe 10000000。axi-PCIe:PCIe 链路已启动
XilinX-PCIe 10000000。axi-PCIe:主机桥/amba_pL/axi-PCIe@10000000范围:
Xilinx PCIe 10000000。axi-PCIe:MEM 0x60000000。0x7ffffff -> 0x60000000
XilinX-PCIe 10000000。axi-PCIe:PCI 主机桥至总线0000:00
PCI_bus 0000:00:根总线资源[bus 00-ff]
PCI_BUS 0000:00:根总线资源[mem 0x60000000-0x7fffffff]
PCI 0000:00:00.0:[10ee:8134]类型01类0x060400
PCI 0000:00:00.0:寄存器0x38:[MEM 0x0000-0x000007ff 前缀]
PCI 0000:00:00.0:网桥配置无效([bus 00-00])、重新配置
PCI 0000:01:00.0:[104C:8241]类型00类0x0c0330
PCI 0000:01:00.0:寄存器0x10:[MEM 0x0000-0x0000FFFF 64位]
PCI 0000:01:00.0:寄存器0x18:[MEM 0x00000000-0x00001fff 64位]
PCI 0000:01:00.0:支持 D1 D2
PCI 0000:01:00.0:D0 D1 D2 D3hot 支持 PME#
PCI_bus 0000:01:Busn_res:[bus 01-ff] end 更新为01
PCI 0000:00:00.0:条8:已分配[mem 0x60000000-0x600fff]
PCI 0000:00:00.0:bar 6:已分配[mem 0x60100000-0x601007ff pref]
PCI 0000:01:00.0:条0:已分配[mem 0x60000000-0x6000FFFF 64bit ]
PCI 0000:01:00.0:条码2:已分配[mem 0x60010000-0x60011fff 64位]
PCI 0000:00:00.0:PCI 桥接器至[bus 01]
PCI 0000:00:00.0:桥接器窗口[mem 0x60000000-0x600fff]
pcieport 0000:00:00.0:启用设备(0000 -> 0002)
pcieport 0000:00:00.0:AER:通过 IRQ 6启用
PCI 0000:01:00.0:启用设备(0000 -> 0002)

lspci 和 lsusb 工具的输出如下所示:

root@kcu105_speculate_petalinux_v2:~# lspci -v
00:00.0 PCI 桥接器:Xilinx Corporation Device 8134 (prog-if 00 [正常解码])
标志:总线主控、快速选择器、延迟0、IRQ 6
总线:primary=00、secondary =01、subordinate=01、sec-latiter=0
桥后的 I/O:00000000 - 00000fff [大小= 4K]
网桥后的存储器:60000000-600ffff [size=1M]
桥后的可预取存储器:00000000-000fff [size=1M]
[虚拟] 60100000上的扩展 ROM [已禁用][大小=2K]
功能:[C0] Express 根端口(插槽-)、MSI 00
功能:[100]高级错误报告
功能:[128]供应商特定信息:ID=0000 Rev=0 Len=038
能力:[200]供应商特定信息:ID=0002 Rev=0 Len=038
正在使用的内核驱动程序:pcieport

01:00.0 USB 控制器:德州仪器(TI) TUSB73x0超高速 USB 3.0 xHCI 主机控制器(修订版02)(prog-if 30 [XHCCI])
标志:总线主控、快速选择器、延迟0、IRQ 6
60000000处的存储器(64位、不可预取)[size=64K]
60010000处的存储器(64位、不可预取)[size=8K]
功能:[40]电源管理版本3
功能:[48] MSI:启用-计数=1/8可屏蔽- 64位以上
功能:[70] Express Endpoint、MSI 00
功能:[C0] MSI-X:ENABLE+ Count=8屏蔽-
功能:[100]高级错误报告
功能:[150]器件序列号08-00-28-00-20-00-00
使用中的内核驱动程序:xhci_hcd

root@kcu105_speculate_petalinux_v2:~# lsusb -vv
总线001器件001:ID 1d6b:0002
总线002设备001:ID 1d6b:0003

以前的论坛帖子表明这可能是与硬件相关的问题。  对于愿意提供帮助的人员、我们可以通过 PM 共享原理图。  提前感谢您的任何帮助。

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

    您好!

    如果您可以将原理图发送给我进行审阅、 我或许能够提供帮助。  

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

    您好 Justin、

    您能否检查外露 USB 端口上是否有 VBUS?  您能否检查 DP/DM 线路上的线路状态?

    此致、

    JMMN

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

    您好、Malik、刚刚给您发送了一个包含原理图的 PM。

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

    对于我们的全部四个下行端口、我们使用自供电且永久连接的 USB2.0器件、因此我们将 PWRON#和 OVRCUR#引脚和超高速收发器保持未连接状态。  我们尚未完全检查 DP/DM 线路的线路状态、但我们观察到枚举过程中应该得到的高速器件的线性调频脉冲信号。

    我将向您展示我们的原理图、供您查看。   

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

    您好 Justin、

    您希望在这里或通过 PM 进行更多讨论吗?  

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

    您好、Malik、

    我们可以通过 PM 进行讨论吗? 谢谢。

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

    当然可以! 我将关闭此主题。