1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * arch/sh/drivers/pci/fixups-sdk7780.c 4 * 5 * PCI fixups for the SDK7780SE03 6 * 7 * Copyright (C) 2003 Lineo uSolutions, Inc. 8 * Copyright (C) 2004 - 2006 Paul Mundt 9 * Copyright (C) 2006 Nobuhiro Iwamatsu 10 */ 11 #include <linux/pci.h> 12 #include <linux/io.h> 13 #include <linux/sh_intc.h> 14 #include "pci-sh4.h" 15 16 #define IRQ_INTA evt2irq(0xa20) 17 #define IRQ_INTB evt2irq(0xa40) 18 #define IRQ_INTC evt2irq(0xa60) 19 #define IRQ_INTD evt2irq(0xa80) 20 21 /* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */ 22 static char sdk7780_irq_tab[4][16] = { 23 /* INTA */ 24 { IRQ_INTA, IRQ_INTD, IRQ_INTC, IRQ_INTD, -1, -1, -1, -1, -1, -1, 25 -1, -1, -1, -1, -1, -1 }, 26 /* INTB */ 27 { IRQ_INTB, IRQ_INTA, -1, IRQ_INTA, -1, -1, -1, -1, -1, -1, -1, -1, 28 -1, -1, -1, -1 }, 29 /* INTC */ 30 { IRQ_INTC, IRQ_INTB, -1, IRQ_INTB, -1, -1, -1, -1, -1, -1, -1, -1, 31 -1, -1, -1, -1 }, 32 /* INTD */ 33 { IRQ_INTD, IRQ_INTC, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34 -1, -1, -1 }, 35 }; 36 37 int pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin) 38 { 39 return sdk7780_irq_tab[pin-1][slot]; 40 } 41