MPC5200 PCI interrupt routing
Juergen Beisert
jbe at pengutronix.de
Mon Sep 22 23:56:33 EST 2008
Hi,
my MPC5200 based platform has one PCI slot, with the following interrupt
routing:
PCI slot MPC5200
INT A IRQ0
INT B IRQ1
INT C IRQ2
INT D IRQ3
In my oftree I'm using these lines to describe this routing (slot's IDSEL is
0x18)
[...]
pci at f0000d00 {
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci";
reg = <0xf0000d00 0x100>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0xc000 0x0 0x0 0x1 &mpc5200_pic 0x0 0x0 0x3
0xc000 0x0 0x0 0x2 &mpc5200_pic 0x1 0x1 0x3
0xc000 0x0 0x0 0x3 &mpc5200_pic 0x1 0x2 0x3
0xc000 0x0 0x0 0x4 &mpc5200_pic 0x1 0x3 0x3
>;
clock-frequency = <0>; // From boot loader
interrupts = <0x2 0x8 0x0 0x2 0x9 0x0 0x2 0xa 0x0>;
interrupt-parent = <&mpc5200_pic>;
bus-range = <0 0>;
ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x20000000
0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
0x01000000 0x0 0x00000000 0xb0000000 0x0 0x01000000>;
};
[...]
First: But /proc/interrupts states "Edge" type. From the documentation "0x3"
(the last number per interrupt-map-line) should be "low level", not "edge".
$ cat /proc/interrupts
CPU0
16: 0 MPC52xx IRQ[0-3] Edge uhci_hcd:usb3
65: 0 MPC52xx IRQ[0-3] Edge uhci_hcd:usb4
66: 5 MPC52xx IRQ[0-3] Edge ehci_hcd:usb2
131: 58585 MPC52xx Peripherals Edge mpc52xx_psc_uart
133: 0 MPC52xx Peripherals Edge mpc52xx-fec_ctrl
134: 34 MPC52xx Peripherals Edge ohci_hcd:usb1
135: 0 MPC52xx Peripherals Edge mpc52xx_ata
143: 0 MPC52xx Peripherals Edge i2c-mpc
144: 36 MPC52xx Peripherals Edge i2c-mpc
192: 5815 MPC52xx SDMA Edge mpc52xx-fec_rx
193: 4512 MPC52xx SDMA Edge mpc52xx-fec_tx
BAD: 0
Second: When I load the drivers for the uhci/ehci PCI card I get:
[...]
usb 1-1: new high speed USB device using ehci_hcd and address 2
usb 1-1: device not accepting address 2, error -110
usb 1-1: new high speed USB device using ehci_hcd and address 3
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new high speed USB device using ehci_hcd and address 4
usb 1-1: device not accepting address 4, error -110
usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: device not accepting address 5, error -110
hub 1-0:1.0: unable to enumerate USB device on port 1
usb 1-2: new high speed USB device using ehci_hcd and address 6
usb 1-2: device descriptor read/64, error -110
[...]
uhci_hcd 0000:00:18.0: Unlink after no-IRQ? Controller is probably using the wrong IRQ.
[...]
$ lspci
00:18.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
00:18.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
00:18.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)
USB driver (endianess???) or oftee or hardware problem?
Anyone experience with VIA USB hardware on PowerPc?
Juergen
--
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Vertretung Sued/Muenchen, Germany
Phone: +49-8766-939 228 | Fax: +49-5121-206917-9
More information about the Linuxppc-dev
mailing list