UPGRADE YOUR BROWSER

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!

Reply

Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

Visitor
Posts: 5
Registered: ‎08-31-2015

Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

I'm building using Vivado 2015.2, linux-xlnx repo on tag xilinx-v2015.2.01, SDK 2015.2.  I'm trying to get USB to work on my microzed 7010.  

 

When I boot into linux,

 

no USB devices are recognized

 

there is no /dev/bus (let alone /dev/bus/usb)

/sys/bus/usb/ exists

nothing in /sys/bus/usb/devices/

/proc/device-tree/amba/usb@e0002000 exists

 

After setting LIBUSB_DEBUG=9

lsusb returns:

libusb: debug [libusb_init] created default context
libusb: debug [libusb_init] libusb v1.0.19.10903
libusb: error [op_init] could not find usbfs
unable to initialize libusb: -99

dmesg | grep -i usb returns:

[    0.320762] usbcore: registered new interface driver usbfs
[    0.320847] usbcore: registered new interface driver hub
[    0.320943] usbcore: registered new device driver usb
[    1.033036] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.041452] usbcore: registered new interface driver cdc_acm
[    1.045737] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.052499] usbcore: registered new interface driver usb-storage
[    1.057338] e0002000.usb supply vbus not found, using dummy regulator
[    1.168681] usbcore: registered new interface driver usbhid
[    1.172882] usbhid: USB HID core driver

 

my zynq-7000.dtsi contains:

		usb0: usb@e0002000 {
			compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
			status = "disabled";
			clocks = <&clkc 28>;
			interrupt-parent = <&intc>;
			interrupts = <0 21 4>;
			reg = <0xe0002000 0x1000>;
			phy_type = "ulpi";
		};

my system.dts contains:

&usb0 {
	dr_mode = "host";
	phy_type = "ulpi";
	status = "okay";
	usb-reset = <&gpio0 7 0>;
};

Is there something I'm missing?

 

I attempted to follow http://www.wiki.xilinx.com/Zynq+Linux+USB+Device+Driver but to no avail.

Newbie
Posts: 1
Registered: ‎09-04-2015

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

Hi,

 

try to use older usb driver: compatible = "xlnx,ps7-usb-1.00.a", "xlnx,zynq-usb-1.00.a";

It was the solution for me in similar problem.

 

Igor

Visitor
Posts: 5
Registered: ‎08-31-2015

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

Hi Igor,

 

Thanks for the suggestion, but that didn't help.  I still do not get any usb devices showing up in /dev. lsusb still gives the -99 error.

 

I also tried the suggestion at this page: http://stackoverflow.com/questions/25793399/mount-usbfs-on-linux-3-10-kernel

Which was to mount /sys/bus/ to /dev/bus/  but that did not work either.  lsusb returned (instead of erroring out), but it returned nothing, and no devices are detected when I plug them in.

 

the output of 'dmesg | grep -i usb' is exactly the same as before.

 

Any other suggestions?

Visitor
Posts: 5
Registered: ‎08-31-2015

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

I got it to work by doing the following:

 

I checked out the xilinx-v2014.2.01 tag in the linux-xlnx repo.  This repo has the kernel version 3.14.0 instead of the 3.19.0 version in the xilinx-v2015.2 tag.  

 

Once I rebuilt the kernel, the USB started working.

 

I would love to get USB working on the newest kernel, so all suggestions are welcome, and I will try them and report back.

 

Visitor
Posts: 3
Registered: ‎08-19-2015

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

With the latest drivers you also need to specify the USB phy in the device tree.

My dts for a 4.0 kernel looks like this:

 

&ps7_usb_1 {
	status = "okay";
	usb-phy = <&usb_phy1>;
};
usb_phy1: usb-phy@1 {
	compatible = "usb-nop-xceiv";
	status = "okay";
};
Observer
Posts: 30
Registered: ‎11-02-2014

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

Why would Xilinx break a working system? I have exactly this problem right now, and it seems so needless. Why would the a.) Take a big step backwards by breaking something that was working. And then:

b.) Not document the change, warn users, or really do anything to fix a HUGE problem like non-working USB?

Observer
Posts: 30
Registered: ‎11-02-2014

Re: Cannot get USB to work on microzed 7010 with arch linux using 2015.2 tools

Tried the instructions on:

http://www.wiki.xilinx.com/Zynq+Linux+USB+Device+Driver

 

and it still does not work at all. It seems like the bus is not getting power.