home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-ixp23xx / include / mach / irqs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  9.7 KB  |  224 lines

  1. /*
  2.  * arch/arm/mach-ixp23xx/include/mach/irqs.h
  3.  *
  4.  * IRQ definitions for IXP23XX based systems
  5.  *
  6.  * Author: Naeem Afzal <naeem.m.afzal@intel.com>
  7.  *
  8.  * Copyright (C) 2003-2004 Intel Corporation.
  9.  *
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License version 2 as
  12.  * published by the Free Software Foundation.
  13.  */
  14.  
  15. #ifndef __ASM_ARCH_IRQS_H
  16. #define __ASM_ARCH_IRQS_H
  17.  
  18. #define NR_IXP23XX_IRQS            IRQ_IXP23XX_INTB+1
  19. #define IRQ_IXP23XX_EXTIRQS        NR_IXP23XX_IRQS
  20.  
  21.  
  22. #define IRQ_IXP23XX_DBG0        0    /* Debug/Execution/MBox */
  23. #define IRQ_IXP23XX_DBG1        1    /* Debug/Execution/MBox */
  24. #define IRQ_IXP23XX_NPE_TRG        2    /* npe_trigger */
  25. #define IRQ_IXP23XX_TIMER1        3    /* Timer[0] */
  26. #define IRQ_IXP23XX_TIMER2        4    /* Timer[1] */
  27. #define IRQ_IXP23XX_TIMESTAMP        5    /* Timer[2], Time-stamp */
  28. #define IRQ_IXP23XX_WDOG        6    /* Time[3], Watchdog Timer */
  29. #define IRQ_IXP23XX_PCI_DBELL        7    /* PCI Doorbell */
  30. #define IRQ_IXP23XX_PCI_DMA1        8    /* PCI DMA Channel 1 */
  31. #define IRQ_IXP23XX_PCI_DMA2        9    /* PCI DMA Channel 2 */
  32. #define IRQ_IXP23XX_PCI_DMA3        10    /* PCI DMA Channel 3 */
  33. #define IRQ_IXP23XX_PCI_INT_RPH        11    /* pcxg_pci_int_rph */
  34. #define IRQ_IXP23XX_CPP_PMU        12    /* xpxg_pm_int_rpl */
  35. #define IRQ_IXP23XX_SWINT0        13    /* S/W Interrupt0 */
  36. #define IRQ_IXP23XX_SWINT1        14    /* S/W Interrupt1 */
  37. #define IRQ_IXP23XX_UART2        15    /* UART1 Interrupt */
  38. #define IRQ_IXP23XX_UART1        16    /* UART0 Interrupt */
  39. #define IRQ_IXP23XX_XSI_PMU_ROLLOVER    17    /* AHB Performance M. Unit counter rollover */
  40. #define IRQ_IXP23XX_XSI_AHB_PM0        18    /* intr_pm_o */
  41. #define IRQ_IXP23XX_XSI_AHB_ECE0    19    /* intr_ece_o */
  42. #define IRQ_IXP23XX_XSI_AHB_GASKET    20    /* gas_intr_o */
  43. #define IRQ_IXP23XX_XSI_CPP        21    /* xsi2cpp_int */
  44. #define IRQ_IXP23XX_CPP_XSI        22    /* cpp2xsi_int */
  45. #define IRQ_IXP23XX_ME_ATTN0        23    /* ME_ATTN */
  46. #define IRQ_IXP23XX_ME_ATTN1        24    /* ME_ATTN */
  47. #define IRQ_IXP23XX_ME_ATTN2        25    /* ME_ATTN */
  48. #define IRQ_IXP23XX_ME_ATTN3        26    /* ME_ATTN */
  49. #define IRQ_IXP23XX_PCI_ERR_RPH        27    /* PCXG_PCI_ERR_RPH */
  50. #define IRQ_IXP23XX_D0XG_ECC_CORR    28    /* D0XG_DRAM_ECC_CORR */
  51. #define IRQ_IXP23XX_D0XG_ECC_UNCORR    29    /* D0XG_DRAM_ECC_UNCORR */
  52. #define IRQ_IXP23XX_SRAM_ERR1        30    /* SRAM1_ERR */
  53. #define IRQ_IXP23XX_SRAM_ERR0        31    /* SRAM0_ERR */
  54. #define IRQ_IXP23XX_MEDIA_ERR        32    /* MEDIA_ERR */
  55. #define IRQ_IXP23XX_STH_DRAM_ECC_MAJ    33    /* STH_DRAM0_ECC_MAJ */
  56. #define IRQ_IXP23XX_GPIO6        34    /* GPIO0 interrupts */
  57. #define IRQ_IXP23XX_GPIO7        35    /* GPIO1 interrupts */
  58. #define IRQ_IXP23XX_GPIO8        36    /* GPIO2 interrupts */
  59. #define IRQ_IXP23XX_GPIO9        37    /* GPIO3 interrupts */
  60. #define IRQ_IXP23XX_GPIO10        38    /* GPIO4 interrupts */
  61. #define IRQ_IXP23XX_GPIO11        39    /* GPIO5 interrupts */
  62. #define IRQ_IXP23XX_GPIO12        40    /* GPIO6 interrupts */
  63. #define IRQ_IXP23XX_GPIO13        41    /* GPIO7 interrupts */
  64. #define IRQ_IXP23XX_GPIO14        42    /* GPIO8 interrupts */
  65. #define IRQ_IXP23XX_GPIO15        43    /* GPIO9 interrupts */
  66. #define IRQ_IXP23XX_SHAC_RING0        44    /* SHAC Ring Full */
  67. #define IRQ_IXP23XX_SHAC_RING1        45    /* SHAC Ring Full */
  68. #define IRQ_IXP23XX_SHAC_RING2        46    /* SHAC Ring Full */
  69. #define IRQ_IXP23XX_SHAC_RING3        47    /* SHAC Ring Full */
  70. #define IRQ_IXP23XX_SHAC_RING4        48    /* SHAC Ring Full */
  71. #define IRQ_IXP23XX_SHAC_RING5        49    /* SHAC Ring Full */
  72. #define IRQ_IXP23XX_SHAC_RING6        50    /* SHAC RING Full */
  73. #define IRQ_IXP23XX_SHAC_RING7        51    /* SHAC Ring Full */
  74. #define IRQ_IXP23XX_SHAC_RING8        52    /* SHAC Ring Full */
  75. #define IRQ_IXP23XX_SHAC_RING9        53    /* SHAC Ring Full */
  76. #define IRQ_IXP23XX_SHAC_RING10        54    /* SHAC Ring Full */
  77. #define IRQ_IXP23XX_SHAC_RING11        55    /* SHAC Ring Full */
  78. #define IRQ_IXP23XX_ME_THREAD_A0_ME0    56    /* ME_THREAD_A */
  79. #define IRQ_IXP23XX_ME_THREAD_A1_ME0    57    /* ME_THREAD_A */
  80. #define IRQ_IXP23XX_ME_THREAD_A2_ME0    58    /* ME_THREAD_A */
  81. #define IRQ_IXP23XX_ME_THREAD_A3_ME0    59    /* ME_THREAD_A */
  82. #define IRQ_IXP23XX_ME_THREAD_A4_ME0    60    /* ME_THREAD_A */
  83. #define IRQ_IXP23XX_ME_THREAD_A5_ME0    61    /* ME_THREAD_A */
  84. #define IRQ_IXP23XX_ME_THREAD_A6_ME0    62    /* ME_THREAD_A */
  85. #define IRQ_IXP23XX_ME_THREAD_A7_ME0    63    /* ME_THREAD_A */
  86. #define IRQ_IXP23XX_ME_THREAD_A8_ME1    64    /* ME_THREAD_A */
  87. #define IRQ_IXP23XX_ME_THREAD_A9_ME1    65    /* ME_THREAD_A */
  88. #define IRQ_IXP23XX_ME_THREAD_A10_ME1    66    /* ME_THREAD_A */
  89. #define IRQ_IXP23XX_ME_THREAD_A11_ME1    67    /* ME_THREAD_A */
  90. #define IRQ_IXP23XX_ME_THREAD_A12_ME1    68    /* ME_THREAD_A */
  91. #define IRQ_IXP23XX_ME_THREAD_A13_ME1    69    /* ME_THREAD_A */
  92. #define IRQ_IXP23XX_ME_THREAD_A14_ME1    70    /* ME_THREAD_A */
  93. #define IRQ_IXP23XX_ME_THREAD_A15_ME1    71    /* ME_THREAD_A */
  94. #define IRQ_IXP23XX_ME_THREAD_A16_ME2    72    /* ME_THREAD_A */
  95. #define IRQ_IXP23XX_ME_THREAD_A17_ME2    73    /* ME_THREAD_A */
  96. #define IRQ_IXP23XX_ME_THREAD_A18_ME2    74    /* ME_THREAD_A */
  97. #define IRQ_IXP23XX_ME_THREAD_A19_ME2    75    /* ME_THREAD_A */
  98. #define IRQ_IXP23XX_ME_THREAD_A20_ME2    76    /* ME_THREAD_A */
  99. #define IRQ_IXP23XX_ME_THREAD_A21_ME2    77    /* ME_THREAD_A */
  100. #define IRQ_IXP23XX_ME_THREAD_A22_ME2    78    /* ME_THREAD_A */
  101. #define IRQ_IXP23XX_ME_THREAD_A23_ME2    79    /* ME_THREAD_A */
  102. #define IRQ_IXP23XX_ME_THREAD_A24_ME3    80    /* ME_THREAD_A */
  103. #define IRQ_IXP23XX_ME_THREAD_A25_ME3    81    /* ME_THREAD_A */
  104. #define IRQ_IXP23XX_ME_THREAD_A26_ME3    82    /* ME_THREAD_A */
  105. #define IRQ_IXP23XX_ME_THREAD_A27_ME3    83    /* ME_THREAD_A */
  106. #define IRQ_IXP23XX_ME_THREAD_A28_ME3    84    /* ME_THREAD_A */
  107. #define IRQ_IXP23XX_ME_THREAD_A29_ME3    85    /* ME_THREAD_A */
  108. #define IRQ_IXP23XX_ME_THREAD_A30_ME3    86    /* ME_THREAD_A */
  109. #define IRQ_IXP23XX_ME_THREAD_A31_ME3    87    /* ME_THREAD_A */
  110. #define IRQ_IXP23XX_ME_THREAD_B0_ME0    88    /* ME_THREAD_B */
  111. #define IRQ_IXP23XX_ME_THREAD_B1_ME0    89    /* ME_THREAD_B */
  112. #define IRQ_IXP23XX_ME_THREAD_B2_ME0    90    /* ME_THREAD_B */
  113. #define IRQ_IXP23XX_ME_THREAD_B3_ME0    91    /* ME_THREAD_B */
  114. #define IRQ_IXP23XX_ME_THREAD_B4_ME0    92    /* ME_THREAD_B */
  115. #define IRQ_IXP23XX_ME_THREAD_B5_ME0    93    /* ME_THREAD_B */
  116. #define IRQ_IXP23XX_ME_THREAD_B6_ME0    94    /* ME_THREAD_B */
  117. #define IRQ_IXP23XX_ME_THREAD_B7_ME0    95    /* ME_THREAD_B */
  118. #define IRQ_IXP23XX_ME_THREAD_B8_ME1    96    /* ME_THREAD_B */
  119. #define IRQ_IXP23XX_ME_THREAD_B9_ME1    97    /* ME_THREAD_B */
  120. #define IRQ_IXP23XX_ME_THREAD_B10_ME1    98    /* ME_THREAD_B */
  121. #define IRQ_IXP23XX_ME_THREAD_B11_ME1    99    /* ME_THREAD_B */
  122. #define IRQ_IXP23XX_ME_THREAD_B12_ME1    100    /* ME_THREAD_B */
  123. #define IRQ_IXP23XX_ME_THREAD_B13_ME1    101    /* ME_THREAD_B */
  124. #define IRQ_IXP23XX_ME_THREAD_B14_ME1    102    /* ME_THREAD_B */
  125. #define IRQ_IXP23XX_ME_THREAD_B15_ME1    103    /* ME_THREAD_B */
  126. #define IRQ_IXP23XX_ME_THREAD_B16_ME2    104    /* ME_THREAD_B */
  127. #define IRQ_IXP23XX_ME_THREAD_B17_ME2    105    /* ME_THREAD_B */
  128. #define IRQ_IXP23XX_ME_THREAD_B18_ME2    106    /* ME_THREAD_B */
  129. #define IRQ_IXP23XX_ME_THREAD_B19_ME2    107    /* ME_THREAD_B */
  130. #define IRQ_IXP23XX_ME_THREAD_B20_ME2    108    /* ME_THREAD_B */
  131. #define IRQ_IXP23XX_ME_THREAD_B21_ME2    109    /* ME_THREAD_B */
  132. #define IRQ_IXP23XX_ME_THREAD_B22_ME2    110    /* ME_THREAD_B */
  133. #define IRQ_IXP23XX_ME_THREAD_B23_ME2    111    /* ME_THREAD_B */
  134. #define IRQ_IXP23XX_ME_THREAD_B24_ME3    112    /* ME_THREAD_B */
  135. #define IRQ_IXP23XX_ME_THREAD_B25_ME3    113    /* ME_THREAD_B */
  136. #define IRQ_IXP23XX_ME_THREAD_B26_ME3    114    /* ME_THREAD_B */
  137. #define IRQ_IXP23XX_ME_THREAD_B27_ME3    115    /* ME_THREAD_B */
  138. #define IRQ_IXP23XX_ME_THREAD_B28_ME3    116    /* ME_THREAD_B */
  139. #define IRQ_IXP23XX_ME_THREAD_B29_ME3    117    /* ME_THREAD_B */
  140. #define IRQ_IXP23XX_ME_THREAD_B30_ME3    118    /* ME_THREAD_B */
  141. #define IRQ_IXP23XX_ME_THREAD_B31_ME3    119    /* ME_THREAD_B */
  142.  
  143. #define NUM_IXP23XX_RAW_IRQS        120
  144.  
  145. #define IRQ_IXP23XX_INTA        120    /* Indirect pcxg_pci_int_rph */
  146. #define IRQ_IXP23XX_INTB        121    /* Indirect pcxg_pci_int_rph */
  147.  
  148. #define NR_IXP23XX_IRQ            (IRQ_IXP23XX_INTB + 1)
  149.  
  150. /*
  151.  * We default to 32 per-board IRQs. Increase this number if you need
  152.  * more, but keep it realistic.
  153.  */
  154. #define NR_IXP23XX_MACH_IRQS         32
  155.  
  156. #define NR_IRQS                (NR_IXP23XX_IRQS + NR_IXP23XX_MACH_IRQS)
  157.  
  158. #define IXP23XX_MACH_IRQ(irq)         (NR_IXP23XX_IRQ + (irq))
  159.  
  160.  
  161. /*
  162.  * IXDP2351-specific interrupts
  163.  */
  164.  
  165. /*
  166.  * External PCI interrupts signaled through INTB
  167.  *
  168.  */
  169. #define IXDP2351_INTB_IRQ_BASE         0
  170. #define IRQ_IXDP2351_INTA_82546        IXP23XX_MACH_IRQ(0)
  171. #define IRQ_IXDP2351_INTB_82546        IXP23XX_MACH_IRQ(1)
  172. #define IRQ_IXDP2351_SPCI_DB_0        IXP23XX_MACH_IRQ(2)
  173. #define IRQ_IXDP2351_SPCI_DB_1        IXP23XX_MACH_IRQ(3)
  174. #define IRQ_IXDP2351_SPCI_PMC_INTA    IXP23XX_MACH_IRQ(4)
  175. #define IRQ_IXDP2351_SPCI_PMC_INTB    IXP23XX_MACH_IRQ(5)
  176. #define IRQ_IXDP2351_SPCI_PMC_INTC    IXP23XX_MACH_IRQ(6)
  177. #define IRQ_IXDP2351_SPCI_PMC_INTD    IXP23XX_MACH_IRQ(7)
  178. #define IRQ_IXDP2351_SPCI_FIC        IXP23XX_MACH_IRQ(8)
  179.  
  180. #define IXDP2351_INTB_IRQ_BIT(irq)    (irq - IXP23XX_MACH_IRQ(0))
  181. #define IXDP2351_INTB_IRQ_MASK(irq)    (1 << IXDP2351_INTB_IRQ_BIT(irq))
  182. #define IXDP2351_INTB_IRQ_VALID        0x01FF
  183. #define IXDP2351_INTB_IRQ_NUM         16
  184.  
  185. /*
  186.  * Other external interrupts signaled through INTA
  187.  */
  188. #define IXDP2351_INTA_IRQ_BASE         16
  189. #define IRQ_IXDP2351_IPMI_FROM        IXP23XX_MACH_IRQ(16)
  190. #define IRQ_IXDP2351_125US        IXP23XX_MACH_IRQ(17)
  191. #define IRQ_IXDP2351_DB_0_ADD        IXP23XX_MACH_IRQ(18)
  192. #define IRQ_IXDP2351_DB_1_ADD        IXP23XX_MACH_IRQ(19)
  193. #define IRQ_IXDP2351_DEBUG1        IXP23XX_MACH_IRQ(20)
  194. #define IRQ_IXDP2351_ADD_UART        IXP23XX_MACH_IRQ(21)
  195. #define IRQ_IXDP2351_FIC_ADD        IXP23XX_MACH_IRQ(24)
  196. #define IRQ_IXDP2351_CS8900        IXP23XX_MACH_IRQ(25)
  197. #define IRQ_IXDP2351_BBSRAM        IXP23XX_MACH_IRQ(26)
  198. #define IRQ_IXDP2351_CONFIG_MEDIA    IXP23XX_MACH_IRQ(27)
  199. #define IRQ_IXDP2351_CLOCK_REF        IXP23XX_MACH_IRQ(28)
  200. #define IRQ_IXDP2351_A10_NP        IXP23XX_MACH_IRQ(29)
  201. #define IRQ_IXDP2351_A11_NP        IXP23XX_MACH_IRQ(30)
  202. #define IRQ_IXDP2351_DEBUG_NP        IXP23XX_MACH_IRQ(31)
  203.  
  204. #define IXDP2351_INTA_IRQ_BIT(irq)     (irq - IXP23XX_MACH_IRQ(16))
  205. #define IXDP2351_INTA_IRQ_MASK(irq)     (1 << IXDP2351_INTA_IRQ_BIT(irq))
  206. #define IXDP2351_INTA_IRQ_VALID     0xFF3F
  207. #define IXDP2351_INTA_IRQ_NUM         16
  208.  
  209.  
  210. /*
  211.  * ADI RoadRunner IRQs
  212.  */
  213. #define IRQ_ROADRUNNER_PCI_INTA     IRQ_IXP23XX_INTA
  214. #define IRQ_ROADRUNNER_PCI_INTB     IRQ_IXP23XX_INTB
  215. #define IRQ_ROADRUNNER_PCI_INTC     IRQ_IXP23XX_GPIO11
  216. #define IRQ_ROADRUNNER_PCI_INTD     IRQ_IXP23XX_GPIO12
  217.  
  218. /*
  219.  * Put new board definitions here
  220.  */
  221.  
  222.  
  223. #endif
  224.