AGX Orin使用lsusb无法识别USB

您好。我司设计的AGX Orin单板,使用JetPack6.0 L4T R36.3版本,lsusb无法识别USB信息,插上鼠标有电但是无法使用鼠标键盘。请问要修改哪些地方呢?我们硬件USB做了修改,例如把GPIO3_PM.04复用ORIN_USB_3.0_EN、GPIO3_PG.03复用USB 2.0 Hub Reset、GPIO3_PG.07复用为ORIN_USB_2.0_EN,USB2的port1接了hub芯片、USB3的port2接了hub芯片、USB3.0的Port0的UPHY复用为PCIe。
请问我们应该修改哪些配置?要修改pinmux.dtsi和tegra234-p3737-0000+p3701-0005-nv.dts吗?

这是dmesg打印
demsg打印-no usb.txt (72.7 KB)
我们自己的板子dmesg打印

开发套件的dmesg打印如下:

platform注册tegra-xusb时,really_probe:device_links_check_suppliers报错:
device_links_check_suppliers line 1022 supplier 3520000.padctl not ready

請參考文件
https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=universal#porting-the-universal-serial-bus

3520000.padctl not ready代表你那邊有東西寫錯

您说的这个链接我们之前看过了,没有找到问题点。这个图片是Linux内核platform driver更详细的关键打印,附件是demsg的全部打印:


agx-orin-dmesg-20241015.txt (156.2 KB)

我尝试过修改source/hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dts,因为我们自己的单板没有使用i2c connector,就把它这个节点删掉了,问题现象还是一样:

我们的把usb2.0和usb3.0的hub reset引脚、enable引脚连到别的pin复用了:
ORIN_USB_3.0_EN# GPIO3_PM.04 Output Int PD gpio-428

USB 2.0 Hub Reset# GPIO3_PG.03 Output Int PU gpio-386

ORIN_USB_2.0_EN# GPIO3_PG.07 Output Int PD gpio-390

ORIN_USB_3.0_FAULT# GPIO3_PA.02 Input Z gpio-350
我们不确定这个是否影响这个现象,尝试修改pinmux.dtsi,把这几个gpio的输入输出方向、电平状态进行修改,问题现象还是一样

  1. 你現在的問題比較像是根本沒有理解文件, 只改了一些局部的東西 . Device tree要怎麼trace好像也不太熟.

  2. 請你把你現在所有的usb的接法全部敘述一次. Connector是哪種/ 有沒有要支援otg , 有在用的/沒用的全部都要寫出來

原理图截图如下:



board.dts.txt (315.0 KB)
dtb转为dts

請問最後一張圖紅框裡面的USB3.0_HUB TX/RX是哪接過來的?



能否也請你口頭敘述一下現在到底哪幾根接在一起?

我這邊看到的

usbss2 + usb2-3 → 接到convertor又接到TUSB8041IRGCR?
usb2-0 → 接到type C?
usb2-1 → usb hub?

usbss1 接去的那個port上面的Orin_USB2.0_HUB_P1又是哪邊來的? 另外一個hub?

1、USB2的4个port,port0用作otg,port1接USB2.0 HUB(型号:SL2.1A);port2接USB转UART芯片(型号:CH344Q),port3接HUB 3.0 芯片的USB 2.0接口(型号:TUSB8041RGCR)

USB2 port0(USB0_P/N —— ORIN_USB2_P0_P/N —— 面板Type-C):用作otg烧录版本;

USB2 port1(USB1_P/N —— ORIN_USB2_P1_P/N —— USB2.0 HUB芯片SL2.1A)——面板Type-A USB2.0

USB2 port2(USB2_P/N —— ORIN_USB2_P2_P/N —— CH344Q_USB_DP/N —— CH344Q芯片)——USB 2.0转UART

USB2 port3(USB3_P/N —— ORIN_USB2_P3_P/N —— USB3.0_HUB_DP/N —— USB3.0 HUB芯片TUSB8041RGCR)——面板Type-A USB3.0

2、UPHY的lane:

USB3.2#0复用PCIe外接5G芯片, USB3.2#1直接出面板USB, 先接HUB3.0再出面板USB;

USB3.2#1 (UPHY_RX01_P/N & UPHY_TX01_P/N —— ORIN_USB_SS_P1_RX_P/N )——面板Type-A USB3.0

USB3.2#2 (UPHY_RX20_P/N & UPHY_TX20_P/N —— USB3.0_HUB_RX_P/N & USB3.0_HUB_TX_P/N —— USB3.0 HUB芯片TUSB8041RGCR)——面板Type-A USB3.0

" USB3.2#1直接出面板USB" 是什麼意思? 哪一個相對應的usb2 port跟著它一起接?

【USB3.2#1】和【USB2 port1(HUB2.0芯片SL2.1A)出来的一路USB2.0】组合出1路USB3.0 TypeA接口

這設計是錯的 不能這樣弄

我們的driver沒辦法控制從usb hub再出來的信號

【USB3.2#2】和【USB2 port3】组合后,再接HUB 3.0芯片TUSB8041RGCR,再出4路USB3.0 TypeA接口

我们硬件工程师之前在AGX Orin设计过这个方案扩展USB2.0接口说是可以的。另外请教一下,就算3.0没法用,USB2.0应该能用是吧