We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Observer swdave
Registered: ‎09-18-2018

Can't get ZCU102 USB 3.0 port working in device mode with bare-metal

I am struggling to get the USB 3.0 port working on the ZCU102.  Everything seems to be in place in terms of the jumpers, the design in Vivado and the software.  However, I never see any USB messages on USB sniffer (Beagle USB 480).  With the board connected to my PC (with or without the sniffer), I don’t even see the D+ or D- signals being pulled high on a scope.  The VBUS pin shows +5V as expected.

At this point, everything is based on a bare-metal “Hello, World” application running on the A53 and the hardware design, both straight out of UG1209 Embedded Design Tutorial.    

Here is the I/O Configuration:


I also added the USB0 3.0 port to the Isolation Configuration as shown:


In the SDK, I then added the non-DFU files from the usbpsu example folder to the project as described at the ZynqMp USB Standalone Driver page here:


From inside the main() function in helloworld.c, I called the main function in xusb_intr_example.c.

int main()
    print("Hello World\n\r");
    usb_storage_main();  // main() from xusb_intr_example.c
    return 0;

I am following the jumper settings for the device mode as shown in these pictures:

J7 = OFF

J113 = Pins 1-2

J110 = Pins 1-2


When I step through the code, I don’t see anything suspicious.  No error codes are returned.  However, there is no evidence that anything is happening on the FPGA (USB device) side.  Like I said, the D+/D- pins are both held low.  No interrupts are triggered.

I haven’t tried building the Linux app and running that yet, but that might be next step.

Does anyone have any ideas what could wrong or where to look? 
Does anyone have a binary version I could try just to verify my board?

Thanks in advance,


0 Kudos