fixups-sdk7780.c 1.1 KB

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