irq.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 2004-2008 Cavium Networks
  7. */
  8. #ifndef __OCTEON_IRQ_H__
  9. #define __OCTEON_IRQ_H__
  10. #define NR_IRQS OCTEON_IRQ_LAST
  11. #define MIPS_CPU_IRQ_BASE OCTEON_IRQ_SW0
  12. enum octeon_irq {
  13. /* 1 - 8 represent the 8 MIPS standard interrupt sources */
  14. OCTEON_IRQ_SW0 = 1,
  15. OCTEON_IRQ_SW1,
  16. /* CIU0, CUI2, CIU4 are 3, 4, 5 */
  17. OCTEON_IRQ_5 = 6,
  18. OCTEON_IRQ_PERF,
  19. OCTEON_IRQ_TIMER,
  20. /* sources in CIU_INTX_EN0 */
  21. OCTEON_IRQ_WORKQ0,
  22. OCTEON_IRQ_WDOG0 = OCTEON_IRQ_WORKQ0 + 64,
  23. OCTEON_IRQ_MBOX0 = OCTEON_IRQ_WDOG0 + 32,
  24. OCTEON_IRQ_MBOX1,
  25. OCTEON_IRQ_MBOX2,
  26. OCTEON_IRQ_MBOX3,
  27. OCTEON_IRQ_PCI_INT0,
  28. OCTEON_IRQ_PCI_INT1,
  29. OCTEON_IRQ_PCI_INT2,
  30. OCTEON_IRQ_PCI_INT3,
  31. OCTEON_IRQ_PCI_MSI0,
  32. OCTEON_IRQ_PCI_MSI1,
  33. OCTEON_IRQ_PCI_MSI2,
  34. OCTEON_IRQ_PCI_MSI3,
  35. OCTEON_IRQ_TWSI,
  36. OCTEON_IRQ_TWSI2,
  37. OCTEON_IRQ_RML,
  38. OCTEON_IRQ_TIMER0,
  39. OCTEON_IRQ_TIMER1,
  40. OCTEON_IRQ_TIMER2,
  41. OCTEON_IRQ_TIMER3,
  42. #ifndef CONFIG_PCI_MSI
  43. OCTEON_IRQ_LAST = 127
  44. #endif
  45. };
  46. #ifdef CONFIG_PCI_MSI
  47. /* 256 - 511 represent the MSI interrupts 0-255 */
  48. #define OCTEON_IRQ_MSI_BIT0 (256)
  49. #define OCTEON_IRQ_MSI_LAST (OCTEON_IRQ_MSI_BIT0 + 255)
  50. #define OCTEON_IRQ_LAST (OCTEON_IRQ_MSI_LAST + 1)
  51. #endif
  52. #endif