...
The source code for the driver is included with the Vitis Unified Software Platform installation and being available in the Xilinx Github repository.
Driver Name | Path in Vitis | Path in Github |
---|---|---|
usbpsu | <Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/usbpsu | https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/usbpsu |
Note: To view the sources for a particular release, use the rel-version tag in github. For example, for the 2020.1 release, the proper version of the code is: https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/usbpsu
The driver source code is organized into different folders. The table below shows the usbpsu driver source organization.
Directory | Description |
---|---|
doc | Provides the API and data structure details |
data | Driver .tcl and .mdd file |
examples | Example applications that show how to use the driver features |
src | Driver source files |
Driver Implementation
For a full list of features supported by this IP,
...
Examples Path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/usbpsu/examples
Test Name | Example Source | Description |
---|---|---|
USB Mass-Storage Gadget - Poll Mode | This example does a basic read and writes test from the USB drive in polled mode. | |
USB Mass-Storage Gadget - Interrupt Mode | This example does a basic read and writes test from the USB drive in interrupt mode. | |
USB Dfu: Only ZynqMp | This example does firmware download in dfu mode when USB boot mode set. This is a reference example. | |
USB Composite Gadget | This example shows mass storage and hid (keyboard) gadget features in USB composite mode. |
Example | Depandent source files (https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/usbpsu/examples) |
---|---|
xusb_intr_example.c | xusb_class_storage.c,xusb_class_storage.h,xusb_ch9_storage.c,xusb_ch9_storage.h,xusb_ch9.c,xusb_ch9.h,xusb_wrapper.c,xusb_wrapper.h |
xusb_poll_example.c | xusb_class_storage.c,xusb_class_storage.h,xusb_ch9_storage.c,xusb_ch9_storage.h,xusb_ch9.c,xusb_ch9.h,xusb_wrapper.c,xusb_wrapper.h |
xusb_dfu_example.c | xusb_class_dfu.c,xusb_class_dfu.h,xusb_ch9_dfu.c,xusb_ch9_dfu.h,xusb_ch9.c,xusb_ch9.h,xusb_wrapper.c,xusb_wrapper.h |
xusb_composite_example.c | xusb_ch9_composite.c,xusb_ch9_composite.h,xusb_class_composite.c,xusb_class_composite.h,xusb_ch9.c,xusb_ch9.h,xusb_wrapper.c,xusb_wrapper.h |
Example Application Usage
...
Expected Output
Device Log:
USB Composite Device Start... |
---|
Connect the board to a standard host(Windows/Linux) machine USB port.
Host Log (Linux):
[13539.237627] usb 1-3.3: new high-speed USB device number 14 using xhci_hcd root@xhdbfarmrkx4:/home/piyushm# mkfs.vfat -I /dev/sdc root@xhdbfarmrkx4:/home/piyushm# mount /dev/sdc /mnt/ |
---|
USB DFU Testing
The below gives the testing procedure of zynqmp USB DFU example
...
USB 2.0:
...
USB 3.0:
...
Change Log
2023.2
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2023.2/doc/ChangeLog#L321
2023.1
https://github.com/Xilinx/embeddedsw/blob/xilinx_v2023.1/doc/ChangeLog#L153
...