Sorry, you need to enable JavaScript to visit this website.

USB Bulk IN/OUT as file from application not working

2 posts / 0 new
Krishnam's picture
USB Bulk IN/OUT as file from application not working

Iam also trying to develop a bulk user driver application using gadgetfs on zc702.
Could you able to find how this can be achieved in Zynq? were you successful in this?
I am actually followed below steps to test the functionality.

We are using Zynq7000 with linux kernel version 4.4, we need to use zynq board as a USB Peripheral device(Slave Device)

Using gadgetfs, chip idea driver enabled the kernel, And Zynq board is booted.

And in the bootlog we found "USB Gadget filesystem, version 24 Aug 2004"
Step 1:
created /dev/gadget and mounted gadgetfs
mkdir /dev/gadget
mount -t gadgetfs gadgetfs /dev/gadget
Step 2:
On zynq i am running usb.c(userspace driver) to test the usb, downloaded from the link ""
Launched the usb.c application using XSDK in debug mode.
In the Kernel configuration, Kernel Debug is enabled and called dump_stack() functions to trace the flow.

It is observed that Zynq USB device is not enumerating on windows or linux host.
The device doesn't respond and hangs in write system call.
For your analysis please find attached log file as reference.

Any input or suggestions or reference for this would be a great help.
Note : All the links that are available/provided by the zynq from xilinx are checked.
I haven't seen not even single link or document explaining how USB OTG can be used as bulk end point which can reach the user space in the Zynq.
All the examples provided such as mass storage, serial, ethernet (RNDIS) or zero or any other driver are managed within the Kernel.
If you have tried any time to use Zynq USB as peripheral and which can handled in the user space application using file system would be a great help.

JFoster's picture
Hello Krishna,

Hello Krishna,

I am going to refer you over to the Xilinx forum as they are the developers of the Zc702 board and will have more experience with it.