Trenz Electronic Products > Trenz Electronic FPGA Modules

Linux USB problems with TE0720-03-2IF on TE0701

(1/3) > >>


I am using a TE0720-03-2IF module on a TE0701 carrier for quite some time now. For a new application I need to use the micro-USB port in Host-Controller mode. At the moment I am getting a -99 error code when using lsusb and no USB devices seem to be recognized from the kernel. However, when stopping boot at uboot I can see attached USB devices using "usb start" command and can verify that the USB port is operating in host mode.

Some details about the toolchain:

* Vivado/Petalinux 2019.1 (I would like to refrain from upgrading due to a lot of external IP cores...Never change the Vivado version for a working project)
* FSBL: I use the FSBL from at tag "release-2019.1" and used the FSBL hooks provided here as a patch which is applied by petalinux-build. I can verify that the custom FSBL is used due to the prints on UART during startup. So the USB reset seems to work.
* The devicetree has the entries as listed for the testboard and USB should be in "host" mode within the kernel. dmesg shows that the EHCI driver is loaded.
* Analog devices linux kernel: at version 2019_R1.
I am out of ideas as the most common cause for this problem seems to be the lack of the custom FSBL hooks but as I have these applied and during uboot USB works just fine, I suspect some issue within the analog devices kernel. The strange thing is just that there absolutely no errors within the logs and USB device drivers and EHCI driver loads fine.

Does somebody have any clue or direction to look into?

can you test one time with our reference designs please:
binaries for different assembly variants are included.

Yes, I have tested that and It works fine. As I would expect...

How to proceed? My deviations from test board are as following:

* U-Boot --> Should be the same, the platform-top.h change is applied by petalinux
* FSBL --> Should be the same, I have integrated the TE hooks as a patch
* Bitstream --> Different but is based on the Test Board Design
* Linux Kernel --> Completely different as it is the Xilinx linux kernel modified by Analog Devices and modified by me with additional custom drivers for IP Cores
I still suspect the kernel/kernel config to be an issue, I just don't know where to start/look for details.

check device tree. Unfortunately we document only changes which we must do manually (default device tree and changes from xilinx during xsa import are not included into our documentation):
For kernel we did not change anything which is related to's Xilinx default

Xilinx has some documentation here:
or you check Xilinx device tree git:

PS: Xilinx Linux kernel is changed very often...see Xilinx petalinux release notes from different petalinux versions, we have some links here:



I have your devicetree entries. I'm wondering if the usb reset pin has to be configured. If I see it correctly the USB reset is done via the FSBL which is in turn piped through the CPLD (from the schematics...). Does the linux kernel also has to toggle the reset pin (and if yes which GPIO/MIO Pin does that correspond to?)? I think the problem ist that the EHCI device is never discovered/probed by the kernel. I see a bunch of USB drivers (and also usbfs) loaded in dmesg but it seems the EHCI is never discovered. In the u-boot console everything works fine and the EHCI is working just fine (attached devices are also correctly indentified).


[0] Message Index

[#] Next page

Go to full version