IntroductionThe AXI USB device IP is an USB device controller IP. It has no support for HOST or OTG mode. This IP can be instantiated on FPGA or Zynq PL. This page describes the usage of AXI USB device IP linux driver.
- Compliant with the USB 2.0 Specification
- Supports High Speed, Full Speed and Low speed
Features supported by driver
- All the HW/IP features are supported by driver
- Enable the AXI USB linux driver in kernel configuration
Device Drivers -> USB Support -> USB Gadget Support -> USB Peripheral Conotroller -> Xilinx USB driver
- Enable Mass storage gadget
Device Drivers -> USB Support -> USB Gadget Support -> Mass Storage Gadget
Device Drivers -> USB Support -> USB Gadget Support -> USB Gadget Drivers -> USB functions configurable through configfs
DevicetreeExample Device tree node:
Host used: Dell Precision Tower 7910
|15.0 MB/sec||22.9 MB/sec|
- compile the kernel and modules. Copy kernel Image and compiled modules to SD card.
- Copy following to SD card: BOOT.bin which has PL bitstream with AXI USB device IP, FSBL and U-Boot. dtb, uramdisk.img (All are provided in attachment).
- Boot ZC702 with SD card.
Follow these steps on the board after linux boots :
- Connect the usb cable to host PC(windows/linux). Host shows the gadget as a mass storage device with 5MB capacity.
The AXI USB driver is currently in sync with mainline kernel 4.9
- Add clock framework support to axi usb driver
- Add suspend resume support