Interrupt routing ARCH=ppc
Suresh Chandra Mannava
coreppcdevel at gmail.com
Tue Mar 11 23:54:30 EST 2008
Hi All,
I am working on porting Linux 2.6.16.60 on PowerPC based board with Tsi109
system controller.
Our platform support is defined in arch/ppc
Here is our hardware interrupt routing
Tsi109 PCI BUS
(BUS 0)
|
|
V
VME controller (BUS 0 IDSEL 16) IRQ 36
PMC Slot (BUS 0 IDSEL 17) IRQ 37
PCI-PCI Bridge (BUS 0 IDSEL 18) No IRQ required
|
(BUS 1)|
|-------> PMC Slot (BUS 1 IDSEL 19) IRQ 38
USB Contr(BUS 1 IDSEL 20) IRQ 39
I faced a problem at map_irq. Due to pci_swizzle, PCI probe is always
returning p2p bridge IDSEL for all device on BUS 1.
In our case, we routed independent interrupt lines for the devices on BUS 1.
I made a quick workaround by assigning IRQ's based on dev->devfn.
Is there any standard way of assigning independent interrupts for the
devices connected below P2P bridge?
I am facing problem with on-board USB controller. Even though
/proc/interrupts shows correct assignment. USB is always returning the
following message
usb 2-1: new low speed USB device using ohci_hcd and address 2
ohci_hcd 0000:01:04.0: Unlink after no-IRQ? Controller is probably using
the wrong IRQ
If the interrupts are not assigned properly, how the above message pop-up
soon after inserting USB device?
Here is the proc entry
# cat /proc/interrupts
CPU0
12: 105 tsi108_pic Level serial
38: 4270 tsi108_PCI_int Level eth0
39: 1 tsi108_PCI_int Level ehci_hcd:usb1, ohci_hcd:usb2,
ohci_hcd :usb3
Whereas USB PMC on BUS 0 works fine.
I request you to provide some pointers on the same.
Thanks a lot,
Suresh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20080311/ecb510c2/attachment.htm>
More information about the Linuxppc-embedded
mailing list