I would like to operate a Zybo z7-20 board as a USB gadget device and communicate via a linux gadget driver from a host computer running Ubuntu 20.04. From the zybo reference manual:
9 USB Host/OTG
The Zybo Z7 implements one of the two available PS USB OTG interfaces on the Zynq device. A Microchip USB3320 USB 2.0 Transceiver Chip with an 8-bit ULPI interface is used as the PHY. The PHY features a complete HS-USB Physical Front-End supporting speeds of up to 480Mbs. The PHY is connected to MIO Bank 1/501, which is powered at 1.8V. The usb0 peripheral is used on the PS, connected through MIO[28-39]. The USB OTG interface can act as an embedded host or a peripheral device. The USB mode is controlled from software by manipulating the USB0 peripheral controller in the Zynq PS. When acting as a peripheral, the USB Micro AB connector (J10) should be used to connect to a USB host device, and JP1 and JP2 should not be shorted.
I compiled the petalinux kernel and root filesystem using default settings for USB support, transferred these to the board via microSD, connected J10 to the host PC via a USB cable, and powered the board.
On the petalinux side, I expected to see an entry in /dev like /dev/ttyUSB0 that indicates the USB2.0 is available. Attached is a screenshot of the /dev directory. There's an entry /dev/ttyPS0, which I think associates to the jtag port.
On the ubuntu side, I expected lsusb to indicate a bus/device pair associated with the zybo board. Attached is a screenshot of the output of lsusb on the ubuntu machine. The FTDI entry is present only when the zybo board is powered, but I'm uncertain as to whether this entry is associated with the jtab port.
The third screenshot displays output of lsmod and `modprobe -l | grep -i usb` on the petalinux side. I think the presence of gadget drivers should indicate that the usb driver is present in the kernel.
I'm confused about how to proceed: have I correctly compiled USB gadget support into the petalinux kernel, and if so why don't I see a /dev entry on the petalinux side and a bus/device enumeration on the ubuntu side? Or am I simply misinterpreting the output attached below?
Question
mbritton
Hello:
I would like to operate a Zybo z7-20 board as a USB gadget device and communicate via a linux gadget driver from a host computer running Ubuntu 20.04. From the zybo reference manual:
9 USB Host/OTG
The Zybo Z7 implements one of the two available PS USB OTG interfaces on the Zynq device. A Microchip USB3320 USB 2.0 Transceiver Chip with an 8-bit ULPI interface is used as the PHY. The PHY features a complete HS-USB Physical Front-End supporting speeds of up to 480Mbs. The PHY is connected to MIO Bank 1/501, which is powered at 1.8V. The usb0 peripheral is used on the PS, connected through MIO[28-39]. The USB OTG interface can act as an embedded host or a peripheral device. The USB mode is controlled from software by manipulating the USB0 peripheral controller in the Zynq PS. When acting as a peripheral, the USB Micro AB connector (J10) should be used to connect to a USB host device, and JP1 and JP2 should not be shorted.
I compiled the petalinux kernel and root filesystem using default settings for USB support, transferred these to the board via microSD, connected J10 to the host PC via a USB cable, and powered the board.
On the petalinux side, I expected to see an entry in /dev like /dev/ttyUSB0 that indicates the USB2.0 is available. Attached is a screenshot of the /dev directory. There's an entry /dev/ttyPS0, which I think associates to the jtag port.
On the ubuntu side, I expected lsusb to indicate a bus/device pair associated with the zybo board. Attached is a screenshot of the output of lsusb on the ubuntu machine. The FTDI entry is present only when the zybo board is powered, but I'm uncertain as to whether this entry is associated with the jtab port.
The third screenshot displays output of lsmod and `modprobe -l | grep -i usb` on the petalinux side. I think the presence of gadget drivers should indicate that the usb driver is present in the kernel.
I'm confused about how to proceed: have I correctly compiled USB gadget support into the petalinux kernel, and if so why don't I see a /dev entry on the petalinux side and a bus/device enumeration on the ubuntu side? Or am I simply misinterpreting the output attached below?
Many thanks
Matthew
4 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now