diff options
Diffstat (limited to 'arch/sh/drivers/pci/fixups-rts7751r2d.c')
-rw-r--r-- | arch/sh/drivers/pci/fixups-rts7751r2d.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/sh/drivers/pci/fixups-rts7751r2d.c b/arch/sh/drivers/pci/fixups-rts7751r2d.c index 38852334d479..052b354236dc 100644 --- a/arch/sh/drivers/pci/fixups-rts7751r2d.c +++ b/arch/sh/drivers/pci/fixups-rts7751r2d.c | |||
@@ -1,21 +1,44 @@ | |||
1 | /* | 1 | /* |
2 | * arch/sh/drivers/pci/fixups-rts7751r2d.c | 2 | * arch/sh/drivers/pci/fixups-rts7751r2d.c |
3 | * | 3 | * |
4 | * RTS7751R2D PCI fixups | 4 | * RTS7751R2D / LBOXRE2 PCI fixups |
5 | * | 5 | * |
6 | * Copyright (C) 2003 Lineo uSolutions, Inc. | 6 | * Copyright (C) 2003 Lineo uSolutions, Inc. |
7 | * Copyright (C) 2004 Paul Mundt | 7 | * Copyright (C) 2004 Paul Mundt |
8 | * Copyright (C) 2007 Nobuhiro Iwamatsu | ||
8 | * | 9 | * |
9 | * This file is subject to the terms and conditions of the GNU General Public | 10 | * This file is subject to the terms and conditions of the GNU General Public |
10 | * License. See the file "COPYING" in the main directory of this archive | 11 | * License. See the file "COPYING" in the main directory of this archive |
11 | * for more details. | 12 | * for more details. |
12 | */ | 13 | */ |
13 | #include <linux/pci.h> | 14 | #include <linux/pci.h> |
15 | #include <mach/lboxre2.h> | ||
16 | #include <mach/r2d.h> | ||
14 | #include "pci-sh4.h" | 17 | #include "pci-sh4.h" |
18 | #include <asm/machtypes.h> | ||
15 | 19 | ||
16 | #define PCIMCR_MRSET_OFF 0xBFFFFFFF | 20 | #define PCIMCR_MRSET_OFF 0xBFFFFFFF |
17 | #define PCIMCR_RFSH_OFF 0xFFFFFFFB | 21 | #define PCIMCR_RFSH_OFF 0xFFFFFFFB |
18 | 22 | ||
23 | static u8 rts7751r2d_irq_tab[] __initdata = { | ||
24 | IRQ_PCI_INTA, | ||
25 | IRQ_PCI_INTB, | ||
26 | IRQ_PCI_INTC, | ||
27 | IRQ_PCI_INTD, | ||
28 | }; | ||
29 | |||
30 | static char lboxre2_irq_tab[] __initdata = { | ||
31 | IRQ_ETH0, IRQ_ETH1, IRQ_INTA, IRQ_INTD, | ||
32 | }; | ||
33 | |||
34 | int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) | ||
35 | { | ||
36 | if (mach_is_lboxre2()) | ||
37 | return lboxre2_irq_tab[slot]; | ||
38 | else | ||
39 | return rts7751r2d_irq_tab[slot]; | ||
40 | } | ||
41 | |||
19 | int pci_fixup_pcic(struct pci_channel *chan) | 42 | int pci_fixup_pcic(struct pci_channel *chan) |
20 | { | 43 | { |
21 | unsigned long bcr1, mcr; | 44 | unsigned long bcr1, mcr; |