I have emphasized the differences. Could these differences cause the lack of USB3.0 communication?
No communication = no identification of USB3.0 devices or even print outs on the terminal
Regards.
Hi,
By two Jetsons I mean two jetson modules connected to our custom board - not at the same time. I configured both of the modules to cfg #3, as you may see above they share the same ODM DATA. But I think that the working one was flashed with 28.1 tree and the non working with 28.2.1.
Anyway these are the differences, between the modules that I’ve found.
Any ideas?
DaneLLL hi,
I’m not sure that I know how to disable and renewable the VBUS. I read the links one of the customers just said that he did it, while another recycled USB2 regulator and the 3rd has shut down the VBUS through kernel code. Could please elaborate?
Thanks.
Hi igal,
You need to check HW layout of USB port. VBUS may be linked to regulator of PMIC or a TX2 GPIO pin. It may be turned on earlier at bootloader stage.
we have the USB1_EN_OC# A18 (per pinmux it is GPIO3_PL.05) pin from the TX2i connected to a USB power-distributor switch which provides the 5[V] to the USB port.
So I understand from you that I have to apply an OFF->ON cycle on this pin after the kernel has completed loading. Am I correct? and how do I do it?
Regards.
DaneLLL, hi,
I have patched correctly and used the correct files for TX2i. As I wrote before I have printed out the actual device tree from each device while it is running. Could you please look back in message #1 and let me know whether the differences can impact this issue?
Hi igal,
From device tree comparison in message #1, it looks not related to USB3 functionality.
So it works on r28.1+TX2 and fails on r28.2.1+TX2i. Is this correct? Since r28.1 does not support TX2, it seems your one module is TX2 and the other is TX2i.
In failure case, do you see any error in kernel log?
I think that I confused you. At first when we got the TX2i the r28.2.1 was not released yet so we used r28.1.
I was just wondering whether it is possible that they have different revisions.
Both CPUs are TX2i.
The only error that I found in the terminal log was
[ 4.499401] xhci-tegra 3530000.xhci: Direct firmware load for tegra18x_xusb_firmware failed with error -2
[ 4.499403] xhci-tegra 3530000.xhci: Falling back to user helper
The VBUS is always ON to both USB ports (USB2.0 and USB3.0).
Though there is no triggering on the module that does not work, while on the other module we do have a triggering process.
Hi igal,
The device tree looks OK. As of now it still looks like VBUS is on too early. Suggest you turn off and turn on VBUS after booting to kernel and see if enumeration gets triggered. Or try to turn VBUS on after xusb fw is loaded.
The following questions are as a result of lack of knowledge so if you could explain I’ll appreciate it:
"...VBUS is on too early" - for which? the Jetson module or the device? I connect the device long after the module is on.
I think that the only way that I can trigger the VBUS is via the A18 GPIO - how do I trigger it via terminal? via code? - any pointers to implemented code if available.
Does A18 has any affect on the module besides the fact that it is used as an GPO?
I don’t enable the OC pin manually it is set in the device tree. I saw that OC is parsed in kernel kernel/t18x/drivers/pinctrl/pinctrl-tegra186-padctl.c.
I could add some printing when the device tree is parsed to see it relative to the xhci-tegra initialization but I do not know where the kernel activate the OC. Do you want me to apply it?