Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / sh / drivers / pci / fixups-sdk7780.c
1 /*
2  * arch/sh/drivers/pci/fixups-sdk7780.c
3  *
4  * PCI fixups for the SDK7780SE03
5  *
6  * Copyright (C) 2003  Lineo uSolutions, Inc.
7  * Copyright (C) 2004 - 2006  Paul Mundt
8  * Copyright (C) 2006  Nobuhiro Iwamatsu
9  *
10  * This file is subject to the terms and conditions of the GNU General Public
11  * License.  See the file "COPYING" in the main directory of this archive
12  * for more details.
13  */
14 #include <linux/pci.h>
15 #include <linux/io.h>
16 #include <linux/sh_intc.h>
17 #include "pci-sh4.h"
18
19 #define IRQ_INTA        evt2irq(0xa20)
20 #define IRQ_INTB        evt2irq(0xa40)
21 #define IRQ_INTC        evt2irq(0xa60)
22 #define IRQ_INTD        evt2irq(0xa80)
23
24 /* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */
25 static char sdk7780_irq_tab[4][16] __initdata = {
26         /* INTA */
27         { IRQ_INTA, IRQ_INTD, IRQ_INTC, IRQ_INTD, -1, -1, -1, -1, -1, -1,
28           -1, -1, -1, -1, -1, -1 },
29         /* INTB */
30         { IRQ_INTB, IRQ_INTA, -1, IRQ_INTA, -1, -1, -1, -1, -1, -1, -1, -1,
31           -1, -1, -1, -1 },
32         /* INTC */
33         { IRQ_INTC, IRQ_INTB, -1, IRQ_INTB, -1, -1, -1, -1, -1, -1, -1, -1,
34           -1, -1, -1, -1 },
35         /* INTD */
36         { IRQ_INTD, IRQ_INTC, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37           -1, -1, -1 },
38 };
39
40 int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
41 {
42        return sdk7780_irq_tab[pin-1][slot];
43 }