irqs.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * arch/arm/mach-spear3xx/include/mach/irqs.h
  3. *
  4. * IRQ helper macros for SPEAr3xx machine family
  5. *
  6. * Copyright (C) 2009 ST Microelectronics
  7. * Viresh Kumar<viresh.kumar@st.com>
  8. *
  9. * This file is licensed under the terms of the GNU General Public
  10. * License version 2. This program is licensed "as is" without any
  11. * warranty of any kind, whether express or implied.
  12. */
  13. #ifndef __MACH_IRQS_H
  14. #define __MACH_IRQS_H
  15. /* SPEAr3xx IRQ definitions */
  16. #define IRQ_HW_ACCEL_MOD_0 0
  17. #define IRQ_INTRCOMM_RAS_ARM 1
  18. #define IRQ_CPU_GPT1_1 2
  19. #define IRQ_CPU_GPT1_2 3
  20. #define IRQ_BASIC_GPT1_1 4
  21. #define IRQ_BASIC_GPT1_2 5
  22. #define IRQ_BASIC_GPT2_1 6
  23. #define IRQ_BASIC_GPT2_2 7
  24. #define IRQ_BASIC_DMA 8
  25. #define IRQ_BASIC_SMI 9
  26. #define IRQ_BASIC_RTC 10
  27. #define IRQ_BASIC_GPIO 11
  28. #define IRQ_BASIC_WDT 12
  29. #define IRQ_DDR_CONTROLLER 13
  30. #define IRQ_SYS_ERROR 14
  31. #define IRQ_WAKEUP_RCV 15
  32. #define IRQ_JPEG 16
  33. #define IRQ_IRDA 17
  34. #define IRQ_ADC 18
  35. #define IRQ_UART 19
  36. #define IRQ_SSP 20
  37. #define IRQ_I2C 21
  38. #define IRQ_MAC_1 22
  39. #define IRQ_MAC_2 23
  40. #define IRQ_USB_DEV 24
  41. #define IRQ_USB_H_OHCI_0 25
  42. #define IRQ_USB_H_EHCI_0 26
  43. #define IRQ_USB_H_EHCI_1 IRQ_USB_H_EHCI_0
  44. #define IRQ_USB_H_OHCI_1 27
  45. #define IRQ_GEN_RAS_1 28
  46. #define IRQ_GEN_RAS_2 29
  47. #define IRQ_GEN_RAS_3 30
  48. #define IRQ_HW_ACCEL_MOD_1 31
  49. #define IRQ_VIC_END 32
  50. #define VIRQ_START IRQ_VIC_END
  51. /* SPEAr300 Virtual irq definitions */
  52. #ifdef CONFIG_MACH_SPEAR300
  53. /* IRQs sharing IRQ_GEN_RAS_1 */
  54. #define VIRQ_IT_PERS_S (VIRQ_START + 0)
  55. #define VIRQ_IT_CHANGE_S (VIRQ_START + 1)
  56. #define VIRQ_I2S (VIRQ_START + 2)
  57. #define VIRQ_TDM (VIRQ_START + 3)
  58. #define VIRQ_CAMERA_L (VIRQ_START + 4)
  59. #define VIRQ_CAMERA_F (VIRQ_START + 5)
  60. #define VIRQ_CAMERA_V (VIRQ_START + 6)
  61. #define VIRQ_KEYBOARD (VIRQ_START + 7)
  62. #define VIRQ_GPIO1 (VIRQ_START + 8)
  63. /* IRQs sharing IRQ_GEN_RAS_3 */
  64. #define IRQ_CLCD IRQ_GEN_RAS_3
  65. /* IRQs sharing IRQ_INTRCOMM_RAS_ARM */
  66. #define IRQ_SDIO IRQ_INTRCOMM_RAS_ARM
  67. /* GPIO pins virtual irqs */
  68. #define SPEAR_GPIO_INT_BASE (VIRQ_START + 9)
  69. #define SPEAR_GPIO1_INT_BASE (SPEAR_GPIO_INT_BASE + 8)
  70. #define SPEAR_GPIO_INT_END (SPEAR_GPIO1_INT_BASE + 8)
  71. /* SPEAr310 Virtual irq definitions */
  72. #elif defined(CONFIG_MACH_SPEAR310)
  73. /* IRQs sharing IRQ_GEN_RAS_1 */
  74. #define VIRQ_SMII0 (VIRQ_START + 0)
  75. #define VIRQ_SMII1 (VIRQ_START + 1)
  76. #define VIRQ_SMII2 (VIRQ_START + 2)
  77. #define VIRQ_SMII3 (VIRQ_START + 3)
  78. #define VIRQ_WAKEUP_SMII0 (VIRQ_START + 4)
  79. #define VIRQ_WAKEUP_SMII1 (VIRQ_START + 5)
  80. #define VIRQ_WAKEUP_SMII2 (VIRQ_START + 6)
  81. #define VIRQ_WAKEUP_SMII3 (VIRQ_START + 7)
  82. /* IRQs sharing IRQ_GEN_RAS_2 */
  83. #define VIRQ_UART1 (VIRQ_START + 8)
  84. #define VIRQ_UART2 (VIRQ_START + 9)
  85. #define VIRQ_UART3 (VIRQ_START + 10)
  86. #define VIRQ_UART4 (VIRQ_START + 11)
  87. #define VIRQ_UART5 (VIRQ_START + 12)
  88. /* IRQs sharing IRQ_GEN_RAS_3 */
  89. #define VIRQ_EMI (VIRQ_START + 13)
  90. #define VIRQ_PLGPIO (VIRQ_START + 14)
  91. /* IRQs sharing IRQ_INTRCOMM_RAS_ARM */
  92. #define VIRQ_TDM_HDLC (VIRQ_START + 15)
  93. #define VIRQ_RS485_0 (VIRQ_START + 16)
  94. #define VIRQ_RS485_1 (VIRQ_START + 17)
  95. /* GPIO pins virtual irqs */
  96. #define SPEAR_GPIO_INT_BASE (VIRQ_START + 18)
  97. /* SPEAr320 Virtual irq definitions */
  98. #else
  99. /* IRQs sharing IRQ_GEN_RAS_1 */
  100. #define VIRQ_EMI (VIRQ_START + 0)
  101. #define VIRQ_CLCD (VIRQ_START + 1)
  102. #define VIRQ_SPP (VIRQ_START + 2)
  103. /* IRQs sharing IRQ_GEN_RAS_2 */
  104. #define IRQ_SDIO IRQ_GEN_RAS_2
  105. /* IRQs sharing IRQ_GEN_RAS_3 */
  106. #define VIRQ_PLGPIO (VIRQ_START + 3)
  107. #define VIRQ_I2S_PLAY (VIRQ_START + 4)
  108. #define VIRQ_I2S_REC (VIRQ_START + 5)
  109. /* IRQs sharing IRQ_INTRCOMM_RAS_ARM */
  110. #define VIRQ_CANU (VIRQ_START + 6)
  111. #define VIRQ_CANL (VIRQ_START + 7)
  112. #define VIRQ_UART1 (VIRQ_START + 8)
  113. #define VIRQ_UART2 (VIRQ_START + 9)
  114. #define VIRQ_SSP1 (VIRQ_START + 10)
  115. #define VIRQ_SSP2 (VIRQ_START + 11)
  116. #define VIRQ_SMII0 (VIRQ_START + 12)
  117. #define VIRQ_MII1_SMII1 (VIRQ_START + 13)
  118. #define VIRQ_WAKEUP_SMII0 (VIRQ_START + 14)
  119. #define VIRQ_WAKEUP_MII1_SMII1 (VIRQ_START + 15)
  120. #define VIRQ_I2C (VIRQ_START + 16)
  121. /* GPIO pins virtual irqs */
  122. #define SPEAR_GPIO_INT_BASE (VIRQ_START + 17)
  123. #endif
  124. /* PLGPIO Virtual IRQs */
  125. #if defined(CONFIG_MACH_SPEAR310) || defined(CONFIG_MACH_SPEAR320)
  126. #define SPEAR_PLGPIO_INT_BASE (SPEAR_GPIO_INT_BASE + 8)
  127. #define SPEAR_GPIO_INT_END (SPEAR_PLGPIO_INT_BASE + 102)
  128. #endif
  129. #define VIRQ_END SPEAR_GPIO_INT_END
  130. #define NR_IRQS VIRQ_END
  131. #endif /* __MACH_IRQS_H */