irqs.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /*
  2. *
  3. * arch/arm/mach-u300/include/mach/irqs.h
  4. *
  5. *
  6. * Copyright (C) 2006-2009 ST-Ericsson AB
  7. * License terms: GNU General Public License (GPL) version 2
  8. * IRQ channel definitions for the U300 platforms.
  9. * Author: Linus Walleij <linus.walleij@stericsson.com>
  10. */
  11. #ifndef __MACH_IRQS_H
  12. #define __MACH_IRQS_H
  13. #define IRQ_U300_INTCON0_START 1
  14. #define IRQ_U300_INTCON1_START 33
  15. /* These are on INTCON0 - 30 lines */
  16. #define IRQ_U300_IRQ0_EXT 1
  17. #define IRQ_U300_IRQ1_EXT 2
  18. #define IRQ_U300_DMA 3
  19. #define IRQ_U300_VIDEO_ENC_0 4
  20. #define IRQ_U300_VIDEO_ENC_1 5
  21. #define IRQ_U300_AAIF_RX 6
  22. #define IRQ_U300_AAIF_TX 7
  23. #define IRQ_U300_AAIF_VGPIO 8
  24. #define IRQ_U300_AAIF_WAKEUP 9
  25. #define IRQ_U300_PCM_I2S0_FRAME 10
  26. #define IRQ_U300_PCM_I2S0_FIFO 11
  27. #define IRQ_U300_PCM_I2S1_FRAME 12
  28. #define IRQ_U300_PCM_I2S1_FIFO 13
  29. #define IRQ_U300_XGAM_GAMCON 14
  30. #define IRQ_U300_XGAM_CDI 15
  31. #define IRQ_U300_XGAM_CDICON 16
  32. #if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330)
  33. /* MMIACC not used on the DB3210 or DB3350 chips */
  34. #define IRQ_U300_XGAM_MMIACC 17
  35. #endif
  36. #define IRQ_U300_XGAM_PDI 18
  37. #define IRQ_U300_XGAM_PDICON 19
  38. #define IRQ_U300_XGAM_GAMEACC 20
  39. #define IRQ_U300_XGAM_MCIDCT 21
  40. #define IRQ_U300_APEX 22
  41. #define IRQ_U300_UART0 23
  42. #define IRQ_U300_SPI 24
  43. #define IRQ_U300_TIMER_APP_OS 25
  44. #define IRQ_U300_TIMER_APP_DD 26
  45. #define IRQ_U300_TIMER_APP_GP1 27
  46. #define IRQ_U300_TIMER_APP_GP2 28
  47. #define IRQ_U300_TIMER_OS 29
  48. #define IRQ_U300_TIMER_MS 30
  49. #define IRQ_U300_KEYPAD_KEYBF 31
  50. #define IRQ_U300_KEYPAD_KEYBR 32
  51. /* These are on INTCON1 - 32 lines */
  52. #define IRQ_U300_GPIO_PORT0 33
  53. #define IRQ_U300_GPIO_PORT1 34
  54. #define IRQ_U300_GPIO_PORT2 35
  55. #if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330) || \
  56. defined(CONFIG_MACH_U300_BS335)
  57. /* These are for DB3150, DB3200 and DB3350 */
  58. #define IRQ_U300_WDOG 36
  59. #define IRQ_U300_EVHIST 37
  60. #define IRQ_U300_MSPRO 38
  61. #define IRQ_U300_MMCSD_MCIINTR0 39
  62. #define IRQ_U300_MMCSD_MCIINTR1 40
  63. #define IRQ_U300_I2C0 41
  64. #define IRQ_U300_I2C1 42
  65. #define IRQ_U300_RTC 43
  66. #define IRQ_U300_NFIF 44
  67. #define IRQ_U300_NFIF2 45
  68. #endif
  69. /* DB3150 and DB3200 have only 45 IRQs */
  70. #if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330)
  71. #define U300_VIC_IRQS_END 46
  72. #endif
  73. /* The DB3350-specific interrupt lines */
  74. #ifdef CONFIG_MACH_U300_BS335
  75. #define IRQ_U300_ISP_F0 46
  76. #define IRQ_U300_ISP_F1 47
  77. #define IRQ_U300_ISP_F2 48
  78. #define IRQ_U300_ISP_F3 49
  79. #define IRQ_U300_ISP_F4 50
  80. #define IRQ_U300_GPIO_PORT3 51
  81. #define IRQ_U300_SYSCON_PLL_LOCK 52
  82. #define IRQ_U300_UART1 53
  83. #define IRQ_U300_GPIO_PORT4 54
  84. #define IRQ_U300_GPIO_PORT5 55
  85. #define IRQ_U300_GPIO_PORT6 56
  86. #define U300_VIC_IRQS_END 57
  87. #endif
  88. /* The DB3210-specific interrupt lines */
  89. #ifdef CONFIG_MACH_U300_BS365
  90. #define IRQ_U300_GPIO_PORT3 36
  91. #define IRQ_U300_GPIO_PORT4 37
  92. #define IRQ_U300_WDOG 38
  93. #define IRQ_U300_EVHIST 39
  94. #define IRQ_U300_MSPRO 40
  95. #define IRQ_U300_MMCSD_MCIINTR0 41
  96. #define IRQ_U300_MMCSD_MCIINTR1 42
  97. #define IRQ_U300_I2C0 43
  98. #define IRQ_U300_I2C1 44
  99. #define IRQ_U300_RTC 45
  100. #define IRQ_U300_NFIF 46
  101. #define IRQ_U300_NFIF2 47
  102. #define IRQ_U300_SYSCON_PLL_LOCK 48
  103. #define U300_VIC_IRQS_END 49
  104. #endif
  105. /* Maximum 8*7 GPIO lines */
  106. #ifdef CONFIG_PINCTRL_COH901
  107. #define IRQ_U300_GPIO_BASE (U300_VIC_IRQS_END)
  108. #define IRQ_U300_GPIO_END (IRQ_U300_GPIO_BASE + 56)
  109. #else
  110. #define IRQ_U300_GPIO_END (U300_VIC_IRQS_END)
  111. #endif
  112. #define NR_IRQS (IRQ_U300_GPIO_END - IRQ_U300_INTCON0_START)
  113. #endif