Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 
  This page was automatically generated by the LXR engine.