cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pthomas
Adventurer
Adventurer
5,915 Views
Registered: ‎04-22-2015

Zynq 7000 USB with mainline kernel is broken

Hello,

 

I'm trying to get the USB port up and running on a Zedboard. I'm able to do this for the Xilinx kernel, but am unable to get it to work for a mainline 4.9 kernel. I went as far as to copy the .config from the Xilinx kernel to the 4.9 kernel. There doesn't appear to be any missing drivers, so it's not clear what is going wrong.

 

I've matched the devicetree configuration as well.

 

Am I missing something, or is mainline USB functionality really broken?

 

The actual point in the log where they differ is where the Xilinx kernel says "Found TI TUSB1210 ULPI transceiver". Below is a snippet of the two dmesg logs.

 

4.9 Kernel log:

# dmesg | grep -i usb
[    0.035129] usbcore: registered new interface driver usbfs
[    0.035205] usbcore: registered new interface driver hub
[    0.035273] usbcore: registered new device driver usb
[    0.736949] usbcore: registered new interface driver asix
[    0.741043] usbcore: registered new interface driver ax88179_178a
[    0.745799] usbcore: registered new interface driver cdc_ether
[    0.750331] usbcore: registered new interface driver net1080
[    0.754650] usbcore: registered new interface driver cdc_subset
[    0.759275] usbcore: registered new interface driver zaurus
[    0.763526] usbcore: registered new interface driver cdc_ncm
[    0.767919] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.776311] usbcore: registered new interface driver usb-storage
[    0.781136] e0002000.usb supply vbus not found, using dummy regulator
[    0.878560] usbcore: registered new interface driver usbhid
[    0.882740] usbhid: USB HID core driver

Xilinx Kernel log:
# dmesg | grep -i usb
[    0.162783] usbcore: registered new interface driver usbfs
[    0.162863] usbcore: registered new interface driver hub
[    0.162925] usbcore: registered new device driver usb
[    0.899839] usbcore: registered new interface driver asix
[    0.903958] usbcore: registered new interface driver ax88179_178a
[    0.908727] usbcore: registered new interface driver cdc_ether
[    0.913267] usbcore: registered new interface driver net1080
[    0.917598] usbcore: registered new interface driver cdc_subset
[    0.922233] usbcore: registered new interface driver zaurus
[    0.926519] usbcore: registered new interface driver cdc_ncm
[    0.931191] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.939608] usbcore: registered new interface driver usb-storage
[    0.944494] e0002000.usb supply vbus not found, using dummy regulator
[    0.954093] Found TI TUSB1210 ULPI transceiver.
[    0.963577] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    0.980625] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    0.985442] hub 1-0:1.0: USB hub found
[    1.088959] usbcore: registered new interface driver usbhid
[    1.093199] usbhid: USB HID core driver
[    1.300619] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    4.881529] asix 1-1:1.0 eth1: register 'asix' at usb-ci_hdrc.0-1, ASIX AX88772B USB 2.0 Ethernet, 00:00:10:00:67:cd

5 Replies
pthomas
Adventurer
Adventurer
5,822 Views
Registered: ‎04-22-2015

OK, here is a patch that can be used for mainline kernels for anyone interested.

 

I'm sure there's some disagreements keeping this from being committed upstream, but it would sure be nice.

 

thanks,

Paul

usdmx
Visitor
Visitor
5,543 Views
Registered: ‎02-15-2017

Can I use this for Kernel 4.6?

And what should I do with the file?

 

Regards

Sebastian

0 Kudos
pthomas
Adventurer
Adventurer
5,333 Views
Registered: ‎04-22-2015

Should work fine. You just need to do:
patch -p1 < 0001-add-ulpi-phy-for-zynq-style-USB-vbus-control

From within your kernel source directory
0 Kudos
jawbone_101
Adventurer
Adventurer
5,238 Views
Registered: ‎05-07-2008

Paul,

Thank you very much sir!!!

0 Kudos
aronfeher
Visitor
Visitor
3,869 Views
Registered: ‎12-09-2015

Hello everyone.

 

I'm trying to build mainline Linux (4.9.24) for the ZYBO devboard, and got the same USB problem. I applied the provided patch, and modified the zynq-zybo.dts as the patch did the zynq-zed.dts, recompiled the kernel, still got the same problem. No power on the USB, lsusb returns nothing, and dmesg | grep usb returns:

 

[0.360624] usbcore: registered new interface driver usbfs

[0.361023] usbcore: registered new interface driver hub

[0.361212] usbcore: registered new device driver hub

[1.725854] ehci_hcd: USB 2.0 'Enchanced' Host Controller (EHCI) Driver

[1.731185] usbcore: registered new interface driver usb-storage

[1.829075] usbcore: registered new interface driver usbhid

[1.835365] usbhid: USB HID core driver

 

Any advice?

 

Thank you in advance.

0 Kudos