2 * arch/mips/vr41xx/nec-eagle/pci_fixup.c
4 * The NEC Eagle/Hawk Board specific PCI fixups.
6 * Author: Yoichi Yuasa <you@mvista.com, or source@mvista.com>
8 * 2001-2002,2004 (c) MontaVista, Software, Inc. This file is licensed under
9 * the terms of the GNU General Public License version 2. This program
10 * is licensed "as is" without any warranty of any kind, whether express
13 #include <linux/init.h>
14 #include <linux/pci.h>
16 #include <asm/vr41xx/eagle.h>
17 #include <asm/vr41xx/vrc4173.h>
22 #define INTA CP_INTA_IRQ
23 #define INTB CP_INTB_IRQ
24 #define INTC CP_INTC_IRQ
25 #define INTD CP_INTD_IRQ
26 #define PCMCIA1 VRC4173_PCMCIA1_IRQ
27 #define PCMCIA2 VRC4173_PCMCIA2_IRQ
28 #define LAN LANINTA_IRQ
29 #define SLOT PCISLOT_IRQ
31 static char irq_tab_eagle[][5] __initdata = {
32 [ 8] = { 0, INTA, INTB, INTC, INTD },
33 [ 9] = { 0, INTD, INTA, INTB, INTC },
34 [10] = { 0, INTC, INTD, INTA, INTB },
35 [12] = { 0, PCMCIA1, 0, 0, 0 },
36 [13] = { 0, PCMCIA2, 0, 0, 0 },
37 [28] = { 0, LAN, 0, 0, 0 },
38 [29] = { 0, SLOT, INTB, INTC, INTD },
42 * This is a multifunction device.
44 static char irq_func_tab[] __initdata = {
50 int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
53 return irq_func_tab[PCI_FUNC(dev->devfn)];
55 return irq_tab_eagle[slot][pin];
58 struct pci_fixup pcibios_fixups[] __initdata = {