QUICC Engine USB Host controller
Guilherme Maciel Ferreira
guilherme.maciel.ferreira at gmail.com
Wed Jun 13 08:26:10 EST 2012
Hi guys,
I'm struggling to make the QUICC engine USB host controller to work.
Thus, I came here in the hope to get some light =)
I am working on MPC8321 processor and kernel 2.6.32. Comparing against
the mainstream version, I applied some patches to fix some pŕoblems in
the FHCI driver, then it got running.
Now, it seems that the driver detects a new device, but is not able to
get its description. I'm aware that the driver uses the timer to
synchronize its packets exchange, but I couldn't find the proper timer
clock frequency. I've already tried every value I could derive from
the documentation, once as long as I am concerned there is no way to
measure it.
Here follows a relevant dmesg USB driver output, where there is a timeout error:
[ 24.396373] usbcore: registered new interface driver usbfs
[ 24.405860] usbcore: registered new interface driver hub
[ 24.414642] usbcore: registered new device driver usb
[ 24.706132] fsl,usb-fhci e01006c0.usb: at 0xcbaf66c0, irq 23
[ 24.721953] fsl,usb-fhci e01006c0.usb: FHCI HOST Controller
[ 24.734528] fsl,usb-fhci e01006c0.usb: new USB bus registered,
assigned bus number 1
[ 24.745942] fsl,usb-fhci e01006c0.usb: irq 23, io mem 0x00000000
[ 24.853738] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
[ 24.860623] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 24.867902] usb usb1: Product: FHCI HOST Controller
[ 24.872836] usb usb1: Manufacturer: Linux 2.6.32 fsl,usb-fhci
[ 24.878633] usb usb1: SerialNumber: e01006c0.usb
[ 24.937686] usb usb1: configuration #1 chosen from 1 choice
[ 24.957830] hub 1-0:1.0: USB hub found
[ 24.968867] hub 1-0:1.0: 1 port detected
[ 25.367766] usb 1-1: new full speed USB device using fsl,usb-fhci
and address 2
[ 25.531795] usb 1-1: device descriptor read/64, error -110
[ 25.787864] usb 1-1: device descriptor read/64, error -110
[ 26.024464] usb 1-1: new full speed USB device using fsl,usb-fhci
and address 3
[ 26.199736] usb 1-1: device descriptor read/64, error -110
[ 26.455838] usb 1-1: device descriptor read/64, error -110
[ 26.688100] usb 1-1: new full speed USB device using fsl,usb-fhci
and address 4
[ 27.123765] usb 1-1: device not accepting address 4, error -110
[ 27.271797] usb 1-1: new full speed USB device using fsl,usb-fhci
and address 5
[ 27.712333] usb 1-1: device not accepting address 5, error -110
[ 27.735892] hub 1-0:1.0: unable to enumerate USB device on port 1
And here follows a snippet from my device tree:
qe at e0100000 {
#address-cells = <1>;
#size-cells = <1>;
device_type = "qe";
compatible = "fsl,qe";
reg = <0xe0100000 0x480>;
ranges = <0x0 0xe0100000 0x100000>;
brg-frequency = <0>;
bus-frequency = <0>;
timer at 440 {
compatible = "fsl,mpc8321-qe-gtm",
"fsl,mpc8360-qe-gtm",
"fsl,qe-gtm", "fsl,gtm";
reg = <0x440 0x40>; // 64 bytes @ offset 0x000440
interrupts = <12 13 14 15>;
interrupt-parent = <&qeic>;
clock-frequency = <100000000>; // 100 MHz???
};
usb at 6C0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,mpc8321-qe-usb",
"fsl,mpc8323-qe-usb",
"fsl,mpc8360-qe-usb";
reg = <0x6c0 0x40 0x700 0x100>;
interrupts = <11>;
interrupt-parent = <&qeic>;
mode = "host";
fsl,fullspeed-clock = "clk3";
hub-power-budget = "100";
gpios = <
&qe_pio_a 8 0 // USBOE
&qe_pio_a 1 0 // USBTXP
&qe_pio_a 0 0 // USBTXN
&qe_pio_a 4 0 // USBRXP
&qe_pio_a 5 0 // USBRXN
&qe_pio_d 21 1 // SPEED
&qe_pio_d 25 0 // POWER/SUSPEND
>;
};
};
Thanks in advance for anyone willing to help me.
Best regards,
--
Guilherme Maciel Ferreira
Site: http://guilhermemacielferreira.com/
More information about the Linuxppc-dev
mailing list