fixups-sdk7780.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #define IRQ_INTA evt2irq(0xa20)
  19. #define IRQ_INTB evt2irq(0xa40)
  20. #define IRQ_INTC evt2irq(0xa60)
  21. #define IRQ_INTD evt2irq(0xa80)
  22. /* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */
  23. static char sdk7780_irq_tab[4][16] __initdata = {
  24. /* INTA */
  25. { IRQ_INTA, IRQ_INTD, IRQ_INTC, IRQ_INTD, -1, -1, -1, -1, -1, -1,
  26. -1, -1, -1, -1, -1, -1 },
  27. /* INTB */
  28. { IRQ_INTB, IRQ_INTA, -1, IRQ_INTA, -1, -1, -1, -1, -1, -1, -1, -1,
  29. -1, -1, -1, -1 },
  30. /* INTC */
  31. { IRQ_INTC, IRQ_INTB, -1, IRQ_INTB, -1, -1, -1, -1, -1, -1, -1, -1,
  32. -1, -1, -1, -1 },
  33. /* INTD */
  34. { IRQ_INTD, IRQ_INTC, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  35. -1, -1, -1 },
  36. };
  37. int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
  38. {
  39. return sdk7780_irq_tab[pin-1][slot];
  40. }