Hi Liming, Gerd, On Tue, Dec 4, 2012 at 12:50 AM, walimis <walimis...@gmail.com> wrote: > On Mon, Dec 03, 2012 at 01:51:00PM +0100, Gerd Hoffmann wrote: >> Hi, >> >>> As said in another mail, I found that the root cause is that xilinx_zynq has >>> two EHCI controller. If we use usb-storage disk, the disk will be attached >>> to >>> the second EHCI controller, which the kernel uses the first EHCI controller >>> by default. >>
I am using a device tree driven kernel with this: ps7_usb_0: ps7-usb@e0002000 { compatible = "xlnx,ps7-usb-1.00.a"; dr_mode = "host"; interrupt-parent = <&ps7_scugic_0>; interrupts = < 0 21 0 >; phy_type = "ulpi"; reg = < 0xe0002000 0x1000 >; xlnx,usb-reset = <0xffffffff>; } ; ps7_usb_1: ps7-usb@e0003000 { compatible = "xlnx,ps7-usb-1.00.a"; dr_mode = "host"; interrupt-parent = <&ps7_scugic_0>; interrupts = < 0 44 0 >; phy_type = "ulpi"; reg = < 0xe0003000 0x1000 >; xlnx,usb-reset = <0xffffffff>; } ; And it now works for me, device successfully attaches to second controller: | usb 2-1: New USB device found, idVendor=46f4, idProduct=0001 | usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 | usb 2-1: Product: QEMU USB HARDDRIVE | usb 2-1: Manufacturer: QEMU | usb 2-1: SerialNumber: 1-1 >>For the linux kernel it shouldn't matter where the usb stick is >>connected. Assuming it finds both ehci controllers. Does it? > Gerd, Is there any documentation out there on how to tell QEMU on command line which EHCI you want your usb-storage to attach to? > The default device tree of linux kernel has only the first ehci controller > support, so the kernel can't detect the second controller. > But the usb-storage disk is attached to the second controller, so that > the disk is failed to be detected by the linux kernel. > > >> >>> For now, qemu doesn't support two EHCI controller, could we remove the >>> second >>> EHCI from xilinx_zynq? >> Prefer not. Just need a better kernel and DTB. This was definitely broken for me recently, but I have pulled patches in my kernel, so I think this has been fixed by the Xilinx kernel devels. Regards, Peter >>Two controllers should work just fine. I'd suggest to find the root > > Yes, they work fine separately, but I don't know how to use them at the > same time (I mean both controller have device attached) as I have > mentioned in the another mail. > > Liming Wang > >>cause instead of doctoring like this. ehci + usb core are fine with two >>controllers & busses, maybe the arch plumbing (device tree?) misses >>something so the linux kernel doesn't find the second ehci controller. >> >>cheers, >> Gerd >> >