no IRQ from USB on MPC8248
Nathael PAJANI
nathael.pajani at cpe.fr
Wed Dec 7 02:12:25 EST 2005
Hi all!
As I said previously I started a backport of the hcd driver from
sourceforge (http://cpm2usb.sourceforge.net/) to linux 2.6.9 for an
actis board (VSBC6848) based on a MPC8248 (MPC8272 family)
I have a running 2.6.9 kernel for this board, and no other, that's why
I'm doing a backport of the driver. (for those who might wonder)
I managed to have the core up:
---> insmod usbcore.ko
Using usbcore.ko
usbcore: registered new driver usbfs
usbcore: registered new driver hub
---> mount /proc/bus/usb
---> insmod m82xx-hcd.ko
Using m82xx-hcd.ko
=> driver mpc82xx-hcd, 0.02
mpc82xx-hcd mpc82xx-hcd3: PQ2 intergrated USB controller v0.1
mpc82xx-hcd mpc82xx-hcd3: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
PQ2USB: debug file creation
---> Done
~ #
so this is OK
then, when plugging a device, I got this:
usb 1-1: new full speed USB device using address 2
usb 1-1: control timeout on ep0out
mpc82xx-hcd mpc82xx-hcd3: Unlink after no-IRQ? Different ACPI or APIC
settings may help.
usb 1-1: control timeout on ep0out
usb 1-1: device not accepting address 2, error -110
usb 1-1: new full speed USB device using address 3
usb 1-1: control timeout on ep0out
usb 1-1: control timeout on ep0out
usb 1-1: device not accepting address 3, error -110
which means the hub detects a device, and tries to configure it.
On the device (MP3player) I have an LCD display, and the text switches
to "USB-C" and comes back, which means something has been received.
Let's consider the device is working fine, I have then two possibilities:
first: the device receives incoherent stuff, and does not dare
responding, but I got no way to check on the device. (I consider the
usbcore tries to send cohenrent stuff!)
second: the device is happy to see a request and replies correctly....
but there's no interrupt fired, whether using SUI_INT_USB (==11) or the
SCC3 interrupt (==42)
I've been looking for many things allready, but did not find a clue of
what might happen... If you have some, I'll be pleased to hear about them.
I also had a look at the debug file:
~ # cat /proc/driver/m8xxhci_privateh
===> Misc stats:
sof = 0 isrs = 0 cpm_irqs = 0 overrun = 0
rxb = 0 txb = 0 bsy = 0 sof = 0
txe[0] = 0 txe[1] = 0 txe[2] = 0 txe[3] = 0
nak[0] = 0 nak[1] = 0 nak[2] = 0 nak[3] = 0
to[0] = 0 to[1] = 0 to[2] = 0 to[3] = 0
stall[0] = 0 stall[1] = 0 stall[2] = 0 stall[3] = 0
tx_err = 0 tx_nak = 0 tx_stal = 0 tx_to = 0 tx_un = 0
enqs[ISO] = 0 enqs[INTR] = 0 enqs[CTRL] = 4 enqs[BULK] = 0
cpls[ISO] = 0 cpls[INTR] = 0 cpls[CTRL] = 4 cpls[BULK] = 0
===> Periodic schedule:
~ #
but as I do not know what might be expected, I do not know what to think
about it.
The sof, isrs, and cpm_irqs counters confirm that there have been no
irqs ...
please, help me if you can.
and anyway, have fun :) :)
More information about the Linuxppc-embedded
mailing list