00001 #ifndef _DEV_IRQREG_ARM_H_ 00002 #define _DEV_IRQREG_ARM_H_ 00003 00004 /* 00005 * Copyright (C) 2001-2007 by egnite Software GmbH. All rights reserved. 00006 * 00007 * Redistribution and use in source and binary forms, with or without 00008 * modification, are permitted provided that the following conditions 00009 * are met: 00010 * 00011 * 1. Redistributions of source code must retain the above copyright 00012 * notice, this list of conditions and the following disclaimer. 00013 * 2. Redistributions in binary form must reproduce the above copyright 00014 * notice, this list of conditions and the following disclaimer in the 00015 * documentation and/or other materials provided with the distribution. 00016 * 3. Neither the name of the copyright holders nor the names of 00017 * contributors may be used to endorse or promote products derived 00018 * from this software without specific prior written permission. 00019 * 00020 * THIS SOFTWARE IS PROVIDED BY EGNITE SOFTWARE GMBH AND CONTRIBUTORS 00021 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00022 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 00023 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL EGNITE 00024 * SOFTWARE GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00025 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00026 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 00027 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 00028 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00029 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 00030 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00031 * SUCH DAMAGE. 00032 * 00033 * For additional information see http://www.ethernut.de/ 00034 */ 00035 00036 /* 00037 * $Log: irqreg.h,v $ 00038 * Revision 1.11 2007/09/06 19:46:47 olereinhardt 00039 * Added interrupt definitions for SPI/TWI 00040 * 00041 * Revision 1.10 2007/02/15 16:29:23 haraldkipp 00042 * Support for system controller interrupts added. 00043 * 00044 * Revision 1.9 2006/09/29 12:34:59 haraldkipp 00045 * Basic AT91 SPI support added. 00046 * 00047 * Revision 1.8 2006/09/08 16:47:49 haraldkipp 00048 * For some reason the SSC driver for SAM7X had not been included. 00049 * 00050 * Revision 1.7 2006/09/05 12:33:45 haraldkipp 00051 * SSC interrupt handler added. 00052 * 00053 * Revision 1.6 2006/08/31 19:04:08 haraldkipp 00054 * Added support for the AT91SAM9260 and Atmel's AT91SAM9260 Evaluation Kit. 00055 * 00056 * Revision 1.5 2006/07/05 07:45:28 haraldkipp 00057 * Split on-chip interface definitions. 00058 * 00059 * Revision 1.4 2006/06/28 17:22:34 haraldkipp 00060 * Make it compile for AT91SAM7X256. 00061 * 00062 * Revision 1.3 2006/02/23 15:33:59 haraldkipp 00063 * Support for Philips LPC2xxx Family and LPC-E2294 Board from Olimex added. 00064 * Many thanks to Michael Fischer for this port. 00065 * 00066 * Revision 1.2 2005/10/24 10:26:21 haraldkipp 00067 * AT91 handlers added. 00068 * 00069 * Revision 1.1 2005/07/26 18:35:09 haraldkipp 00070 * First check in 00071 * 00072 * Revision 1.3 2005/04/05 17:52:40 haraldkipp 00073 * Much better implementation of GBA interrupt registration. 00074 * 00075 * Revision 1.2 2004/09/08 10:52:31 haraldkipp 00076 * Tyou's support for the SAMSUNG S3C45 00077 * 00078 * Revision 1.1 2004/03/16 16:48:28 haraldkipp 00079 * Added Jan Dubiec's H8/300 port. 00080 * 00081 * 00082 */ 00083 00084 #ifdef S3C4510B 00085 #include "s3c4510b_irqreg.h" 00086 00087 #elif defined(MCU_GBA) 00088 00089 extern IRQ_HANDLER sig_VBLANK; 00090 extern IRQ_HANDLER sig_HBLANK; 00091 extern IRQ_HANDLER sig_VCOUNT; 00092 extern IRQ_HANDLER sig_TMR0; 00093 extern IRQ_HANDLER sig_TMR1; 00094 extern IRQ_HANDLER sig_TMR2; 00095 extern IRQ_HANDLER sig_TMR3; 00096 extern IRQ_HANDLER sig_SIO; 00097 extern IRQ_HANDLER sig_DMA0; 00098 extern IRQ_HANDLER sig_DMA1; 00099 extern IRQ_HANDLER sig_DMA2; 00100 extern IRQ_HANDLER sig_DMA3; 00101 extern IRQ_HANDLER sig_KEYPAD; 00102 extern IRQ_HANDLER sig_GAMEPAK; 00103 00104 extern void InitIrqHandler(void); 00105 00106 #elif defined(MCU_AT91R40008) 00107 00108 extern IRQ_HANDLER sig_FIQ; 00109 extern IRQ_HANDLER sig_SWIRQ; 00110 extern IRQ_HANDLER sig_UART0; 00111 extern IRQ_HANDLER sig_UART1; 00112 extern IRQ_HANDLER sig_TC0; 00113 extern IRQ_HANDLER sig_TC1; 00114 extern IRQ_HANDLER sig_TC2; 00115 extern IRQ_HANDLER sig_WDI; 00116 extern IRQ_HANDLER sig_PIO; 00117 extern IRQ_HANDLER sig_INTERRUPT0; 00118 extern IRQ_HANDLER sig_INTERRUPT1; 00119 extern IRQ_HANDLER sig_INTERRUPT2; 00120 00121 #elif defined(MCU_LPC2XXX) 00122 00123 extern IRQ_HANDLER sig_UART0; 00124 extern IRQ_HANDLER sig_UART1; 00125 extern IRQ_HANDLER sig_TC0; 00126 extern IRQ_HANDLER sig_TC1; 00127 extern IRQ_HANDLER sig_WDI; 00128 extern IRQ_HANDLER sig_INTERRUPT0; 00129 extern IRQ_HANDLER sig_INTERRUPT1; 00130 extern IRQ_HANDLER sig_INTERRUPT2; 00131 extern IRQ_HANDLER sig_INTERRUPT2; 00132 00133 #elif defined(MCU_AT91SAM7X256) 00134 00135 extern IRQ_HANDLER sig_FIQ; 00136 extern IRQ_HANDLER sig_SYS; 00137 extern IRQ_HANDLER sig_UART0; 00138 extern IRQ_HANDLER sig_UART1; 00139 extern IRQ_HANDLER sig_TC0; 00140 extern IRQ_HANDLER sig_TC1; 00141 extern IRQ_HANDLER sig_TC2; 00142 extern IRQ_HANDLER sig_INTERRUPT0; 00143 extern IRQ_HANDLER sig_INTERRUPT1; 00144 extern IRQ_HANDLER sig_EMAC; 00145 extern IRQ_HANDLER sig_PIO; 00146 extern IRQ_HANDLER sig_SWIRQ; 00147 extern IRQ_HANDLER sig_SSC; 00148 extern IRQ_HANDLER sig_SPI0; 00149 extern IRQ_HANDLER sig_SPI1; 00150 extern IRQ_HANDLER sig_TWI; 00151 00152 /* 00153 * Registered system interrupt handler information structure. 00154 */ 00155 typedef struct { 00156 void *sir_arg; 00157 void (*sir_handler) (void *); 00158 int sir_enabled; 00159 } SYSIRQ_HANDLER; 00160 00161 extern SYSIRQ_HANDLER syssig_DBGU; 00162 extern SYSIRQ_HANDLER syssig_MC; 00163 extern SYSIRQ_HANDLER syssig_PIT; 00164 extern SYSIRQ_HANDLER syssig_PMC; 00165 extern SYSIRQ_HANDLER syssig_RSTC; 00166 extern SYSIRQ_HANDLER syssig_RTT; 00167 extern SYSIRQ_HANDLER syssig_WDT; 00168 00169 extern int NutRegisterSysIrqHandler(SYSIRQ_HANDLER * sysirq, void (*handler) (void *), void *arg); 00170 extern int NutSysIrqEnable(SYSIRQ_HANDLER * sysirq); 00171 extern int NutSysIrqDisable(SYSIRQ_HANDLER * sysirq); 00172 00173 #elif defined(MCU_AT91SAM9260) 00174 00175 extern IRQ_HANDLER sig_FIQ; 00176 extern IRQ_HANDLER sig_UART0; 00177 extern IRQ_HANDLER sig_UART1; 00178 extern IRQ_HANDLER sig_TC0; 00179 extern IRQ_HANDLER sig_TC1; 00180 extern IRQ_HANDLER sig_TC2; 00181 extern IRQ_HANDLER sig_INTERRUPT0; 00182 extern IRQ_HANDLER sig_INTERRUPT1; 00183 extern IRQ_HANDLER sig_EMAC; 00184 extern IRQ_HANDLER sig_PIO; 00185 extern IRQ_HANDLER sig_SWIRQ; 00186 extern IRQ_HANDLER sig_SSC; 00187 extern IRQ_HANDLER sig_SPI0; 00188 extern IRQ_HANDLER sig_SPI1; 00189 00190 #else 00191 #warning "No MCU defined" 00192 #endif 00193 00194 #endif