irqs.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * arch/arm/mach-sa1100/include/mach/irqs.h
  3. *
  4. * Copyright (C) 1996 Russell King
  5. * Copyright (C) 1998 Deborah Wallach (updates for SA1100/Brutus).
  6. * Copyright (C) 1999 Nicolas Pitre (full GPIO irq isolation)
  7. *
  8. * 2001/11/14 RMK Cleaned up and standardised a lot of the IRQs.
  9. */
  10. #define IRQ_GPIO0 0
  11. #define IRQ_GPIO1 1
  12. #define IRQ_GPIO2 2
  13. #define IRQ_GPIO3 3
  14. #define IRQ_GPIO4 4
  15. #define IRQ_GPIO5 5
  16. #define IRQ_GPIO6 6
  17. #define IRQ_GPIO7 7
  18. #define IRQ_GPIO8 8
  19. #define IRQ_GPIO9 9
  20. #define IRQ_GPIO10 10
  21. #define IRQ_GPIO11_27 11
  22. #define IRQ_LCD 12 /* LCD controller */
  23. #define IRQ_Ser0UDC 13 /* Ser. port 0 UDC */
  24. #define IRQ_Ser1SDLC 14 /* Ser. port 1 SDLC */
  25. #define IRQ_Ser1UART 15 /* Ser. port 1 UART */
  26. #define IRQ_Ser2ICP 16 /* Ser. port 2 ICP */
  27. #define IRQ_Ser3UART 17 /* Ser. port 3 UART */
  28. #define IRQ_Ser4MCP 18 /* Ser. port 4 MCP */
  29. #define IRQ_Ser4SSP 19 /* Ser. port 4 SSP */
  30. #define IRQ_DMA0 20 /* DMA controller channel 0 */
  31. #define IRQ_DMA1 21 /* DMA controller channel 1 */
  32. #define IRQ_DMA2 22 /* DMA controller channel 2 */
  33. #define IRQ_DMA3 23 /* DMA controller channel 3 */
  34. #define IRQ_DMA4 24 /* DMA controller channel 4 */
  35. #define IRQ_DMA5 25 /* DMA controller channel 5 */
  36. #define IRQ_OST0 26 /* OS Timer match 0 */
  37. #define IRQ_OST1 27 /* OS Timer match 1 */
  38. #define IRQ_OST2 28 /* OS Timer match 2 */
  39. #define IRQ_OST3 29 /* OS Timer match 3 */
  40. #define IRQ_RTC1Hz 30 /* RTC 1 Hz clock */
  41. #define IRQ_RTCAlrm 31 /* RTC Alarm */
  42. #define IRQ_GPIO11 32
  43. #define IRQ_GPIO12 33
  44. #define IRQ_GPIO13 34
  45. #define IRQ_GPIO14 35
  46. #define IRQ_GPIO15 36
  47. #define IRQ_GPIO16 37
  48. #define IRQ_GPIO17 38
  49. #define IRQ_GPIO18 39
  50. #define IRQ_GPIO19 40
  51. #define IRQ_GPIO20 41
  52. #define IRQ_GPIO21 42
  53. #define IRQ_GPIO22 43
  54. #define IRQ_GPIO23 44
  55. #define IRQ_GPIO24 45
  56. #define IRQ_GPIO25 46
  57. #define IRQ_GPIO26 47
  58. #define IRQ_GPIO27 48
  59. /*
  60. * The next 16 interrupts are for board specific purposes. Since
  61. * the kernel can only run on one machine at a time, we can re-use
  62. * these. If you need more, increase IRQ_BOARD_END, but keep it
  63. * within sensible limits. IRQs 49 to 64 are available.
  64. */
  65. #define IRQ_BOARD_START 49
  66. #define IRQ_BOARD_END 65
  67. /*
  68. * Figure out the MAX IRQ number.
  69. *
  70. * If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1.
  71. * If we have an LoCoMo, the max IRQ is IRQ_BOARD_START + 4
  72. * Otherwise, we have the standard IRQs only.
  73. */
  74. #ifdef CONFIG_SA1111
  75. #define NR_IRQS (IRQ_BOARD_END + 55)
  76. #elif defined(CONFIG_SHARP_LOCOMO)
  77. #define NR_IRQS (IRQ_BOARD_START + 4)
  78. #else
  79. #define NR_IRQS (IRQ_BOARD_START)
  80. #endif
  81. /*
  82. * Board specific IRQs. Define them here.
  83. * Do not surround them with ifdefs.
  84. */
  85. #define IRQ_NEPONSET_SMC9196 (IRQ_BOARD_START + 0)
  86. #define IRQ_NEPONSET_USAR (IRQ_BOARD_START + 1)
  87. #define IRQ_NEPONSET_SA1111 (IRQ_BOARD_START + 2)