00001
00002
00003 #ifndef __LPC2294_H
00004 #define __LPC2294_H
00005
00006 #define BCFG0 (*((volatile unsigned int *) 0xFFE00000))
00007 #define BCFG1 (*((volatile unsigned int *) 0xFFE00004))
00008 #define BCFG2 (*((volatile unsigned int *) 0xFFE00008))
00009 #define BCFG3 (*((volatile unsigned int *) 0xFFE0000C))
00010
00011
00012 #define EXTINT (*((volatile unsigned char *) 0xE01FC140))
00013 #define EXTWAKE (*((volatile unsigned char *) 0xE01FC144))
00014 #define EXTMODE (*((volatile unsigned char *) 0xE01FC148))
00015 #define EXTPOLAR (*((volatile unsigned char *) 0xE01FC14C))
00016
00017
00018 #define MEMMAP (*((volatile unsigned char *) 0xE01FC040))
00019
00020
00021 #define PLLCON (*((volatile unsigned char *) 0xE01FC080))
00022 #define PLLCFG (*((volatile unsigned char *) 0xE01FC084))
00023 #define PLLSTAT (*((volatile unsigned short*) 0xE01FC088))
00024 #define PLLFEED (*((volatile unsigned char *) 0xE01FC08C))
00025
00026
00027 #define PCON (*((volatile unsigned char *) 0xE01FC0C0))
00028 #define PCONP (*((volatile unsigned long *) 0xE01FC0C4))
00029
00030
00031 #define VPBDIV (*((volatile unsigned char *) 0xE01FC100))
00032 #define APBDIV (*((volatile unsigned char *) 0xE01FC100))
00033
00034
00035 #define MAMCR (*((volatile unsigned char *) 0xE01FC000))
00036 #define MAMTIM (*((volatile unsigned char *) 0xE01FC004))
00037
00038
00039 #define VICIRQStatus (*((volatile unsigned long *) 0xFFFFF000))
00040 #define VICFIQStatus (*((volatile unsigned long *) 0xFFFFF004))
00041 #define VICRawIntr (*((volatile unsigned long *) 0xFFFFF008))
00042 #define VICIntSelect (*((volatile unsigned long *) 0xFFFFF00C))
00043 #define VICIntEnable (*((volatile unsigned long *) 0xFFFFF010))
00044 #define VICIntEnClr (*((volatile unsigned long *) 0xFFFFF014))
00045 #define VICSoftInt (*((volatile unsigned long *) 0xFFFFF018))
00046 #define VICSoftIntClear (*((volatile unsigned long *) 0xFFFFF01C))
00047 #define VICProtection (*((volatile unsigned long *) 0xFFFFF020))
00048 #define VICVectAddr (*((volatile unsigned long *) 0xFFFFF030))
00049 #define VICDefVectAddr (*((volatile unsigned long *) 0xFFFFF034))
00050 #define VICVectAddr0 (*((volatile unsigned long *) 0xFFFFF100))
00051 #define VICVectAddr1 (*((volatile unsigned long *) 0xFFFFF104))
00052 #define VICVectAddr2 (*((volatile unsigned long *) 0xFFFFF108))
00053 #define VICVectAddr3 (*((volatile unsigned long *) 0xFFFFF10C))
00054 #define VICVectAddr4 (*((volatile unsigned long *) 0xFFFFF110))
00055 #define VICVectAddr5 (*((volatile unsigned long *) 0xFFFFF114))
00056 #define VICVectAddr6 (*((volatile unsigned long *) 0xFFFFF118))
00057 #define VICVectAddr7 (*((volatile unsigned long *) 0xFFFFF11C))
00058 #define VICVectAddr8 (*((volatile unsigned long *) 0xFFFFF120))
00059 #define VICVectAddr9 (*((volatile unsigned long *) 0xFFFFF124))
00060 #define VICVectAddr10 (*((volatile unsigned long *) 0xFFFFF128))
00061 #define VICVectAddr11 (*((volatile unsigned long *) 0xFFFFF12C))
00062 #define VICVectAddr12 (*((volatile unsigned long *) 0xFFFFF130))
00063 #define VICVectAddr13 (*((volatile unsigned long *) 0xFFFFF134))
00064 #define VICVectAddr14 (*((volatile unsigned long *) 0xFFFFF138))
00065 #define VICVectAddr15 (*((volatile unsigned long *) 0xFFFFF13C))
00066 #define VICVectCntl0 (*((volatile unsigned long *) 0xFFFFF200))
00067 #define VICVectCntl1 (*((volatile unsigned long *) 0xFFFFF204))
00068 #define VICVectCntl2 (*((volatile unsigned long *) 0xFFFFF208))
00069 #define VICVectCntl3 (*((volatile unsigned long *) 0xFFFFF20C))
00070 #define VICVectCntl4 (*((volatile unsigned long *) 0xFFFFF210))
00071 #define VICVectCntl5 (*((volatile unsigned long *) 0xFFFFF214))
00072 #define VICVectCntl6 (*((volatile unsigned long *) 0xFFFFF218))
00073 #define VICVectCntl7 (*((volatile unsigned long *) 0xFFFFF21C))
00074 #define VICVectCntl8 (*((volatile unsigned long *) 0xFFFFF220))
00075 #define VICVectCntl9 (*((volatile unsigned long *) 0xFFFFF224))
00076 #define VICVectCntl10 (*((volatile unsigned long *) 0xFFFFF228))
00077 #define VICVectCntl11 (*((volatile unsigned long *) 0xFFFFF22C))
00078 #define VICVectCntl12 (*((volatile unsigned long *) 0xFFFFF230))
00079 #define VICVectCntl13 (*((volatile unsigned long *) 0xFFFFF234))
00080 #define VICVectCntl14 (*((volatile unsigned long *) 0xFFFFF238))
00081 #define VICVectCntl15 (*((volatile unsigned long *) 0xFFFFF23C))
00082
00083
00084 #define VIC_WDT 0
00085 #define VIC_ARMCore0 2
00086 #define VIC_ARMCore1 3
00087 #define VIC_TIMER0 4
00088 #define VIC_TIMER1 5
00089 #define VIC_UART0 6
00090 #define VIC_UART1 7
00091 #define VIC_PWM 8
00092 #define VIC_PWM0 8
00093 #define VIC_I2C0 9
00094 #define VIC_SPI 10
00095 #define VIC_SPI0 10
00096 #define VIC_SPI1 11
00097 #define VIC_PLL 12
00098 #define VIC_RTC 13
00099 #define VIC_EINT0 14
00100 #define VIC_EINT1 15
00101 #define VIC_EINT2 16
00102 #define VIC_EINT3 17
00103 #define VIC_AD0 18
00104 #define VIC_I2C1 19
00105 #define VIC_BOD 20
00106 #define VIC_AD1 21
00107 #define VIC_USB 22
00108
00109 #define VIC_TIMER2 26
00110 #define VIC_TIMER3 27
00111
00112
00113 #define VIC_CAN 19
00114 #define VIC_CAN1_TX 20
00115 #define VIC_CAN2_TX 21
00116 #define VIC_CAN1_RX 26
00117 #define VIC_CAN2_RX 27
00118
00119
00120 #define VIC_ENABLE (1 << 5)
00121
00122
00123 #define VIC_BIT(chan) (1 << (chan))
00124
00125
00126 #define PINSEL0 (*((volatile unsigned long *) 0xE002C000))
00127 #define PINSEL1 (*((volatile unsigned long *) 0xE002C004))
00128 #define PINSEL2 (*((volatile unsigned long *) 0xE002C014))
00129
00130
00131 #define LPC210X_FAST_GPIO
00132 #ifdef LPC210X_FAST_GPIO
00133
00134 #define FIODIR (*((volatile unsigned long *) 0x3FFFC000))
00135 #define FIOMASK (*((volatile unsigned long *) 0x3FFFC010))
00136 #define FIOPIN (*((volatile unsigned long *) 0x3FFFC014))
00137 #define FIOSET (*((volatile unsigned long *) 0x3FFFC018))
00138 #define FIOCLR (*((volatile unsigned long *) 0x3FFFC01C))
00139 #define SCS (*((volatile unsigned long *) 0xE01FC1A0))
00140 #define FIO0PIN (*((volatile unsigned char *) 0x3FFFC014))
00141 #define FIO1PIN (*((volatile unsigned char *) 0x3FFFC015))
00142 #define FIO0SET (*((volatile unsigned long *) 0x3FFFC018))
00143 #define FIO1SET (*((volatile unsigned long *) 0x3FFFC019))
00144
00145 #define FIOSET0 (*((volatile unsigned char *) 0x3FFFC018))
00146 #define FIOSET1 (*((volatile unsigned char *) 0x3FFFC019))
00147 #define FIOSET2 (*((volatile unsigned char *) 0x3FFFC01A))
00148 #define FIOSET3 (*((volatile unsigned char *) 0x3FFFC01B))
00149
00150 #define FIOCLR0 (*((volatile unsigned char *) 0x3FFFC01C))
00151 #define FIOCLR1 (*((volatile unsigned char *) 0x3FFFC01D))
00152 #define FIOCLR2 (*((volatile unsigned char *) 0x3FFFC01E))
00153 #define FIOCLR3 (*((volatile unsigned char *) 0x3FFFC01F))
00154
00155 #define FIOPINL (*((volatile unsigned short *) 0x3FFFC014))
00156 #define FIODIRL (*((volatile unsigned short *) 0x3FFFC000))
00157 #define FIOMASKL (*((volatile unsigned short *) 0x3FFFC001))
00158
00159 #define FIOMASKU (*((volatile unsigned short *) 0x3FFFC012))
00160 #define FIOPINU (*((volatile unsigned short *) 0x3FFFC016))
00161
00162 #define FIOMASK0 (*((volatile unsigned char *) 0x3FFFC010))
00163 #define FIODIR0 (*((volatile unsigned char *) 0x3FFFC000))
00164 #define FIOPIN0 (*((volatile unsigned char *) 0x3FFFC014))
00165
00166 #define FIOMASK1 (*((volatile unsigned char *) 0x3FFFC011))
00167 #define FIODIR1 (*((volatile unsigned char *) 0x3FFFC001))
00168 #define FIOPIN1 (*((volatile unsigned char *) 0x3FFFC015))
00169
00170 #define FIOMASK2 (*((volatile unsigned char *) 0x3FFFC012))
00171 #define FIODIR2 (*((volatile unsigned char *) 0x3FFFC002))
00172 #define FIOPIN2 (*((volatile unsigned char *) 0x3FFFC016))
00173
00174 #define FIOMASK3 (*((volatile unsigned char *) 0x3FFFC013))
00175 #define FIODIR3 (*((volatile unsigned char *) 0x3FFFC003))
00176 #define FIOPIN3 (*((volatile unsigned char *) 0x3FFFC017))
00177
00178 #else
00179
00180 #define IOPIN (*((volatile unsigned long *) 0xE0028000))
00181 #define IOSET (*((volatile unsigned long *) 0xE0028004))
00182 #define IODIR (*((volatile unsigned long *) 0xE0028008))
00183 #define IOCLR (*((volatile unsigned long *) 0xE002800C))
00184
00185 #define FIOMASK (*((volatile unsigned long *) 0x3FFFC010))
00186 #define FIOSET (*((volatile unsigned long *) 0x3FFFC018))
00187 #define FIOCLR (*((volatile unsigned long *) 0x3FFFC01C))
00188 #define FIOPIN (*((volatile unsigned long *) 0x3FFFC014))
00189
00190 #define IO0PIN (*((volatile unsigned long *) 0xE0028000))
00191 #define IO0SET (*((volatile unsigned long *) 0xE0028004))
00192 #define IO0DIR (*((volatile unsigned long *) 0xE0028008))
00193 #define IO0CLR (*((volatile unsigned long *) 0xE002800C))
00194
00195 #define IO1PIN (*((volatile unsigned long *) 0xE0028010))
00196 #define IO1SET (*((volatile unsigned long *) 0xE0028014))
00197 #define IO1DIR (*((volatile unsigned long *) 0xE0028018))
00198 #define IO1CLR (*((volatile unsigned long *) 0xE002801C))
00199
00200 #define IO2PIN (*((volatile unsigned long *) 0xE0028020))
00201 #define IO2SET (*((volatile unsigned long *) 0xE0028024))
00202 #define IO2DIR (*((volatile unsigned long *) 0xE0028028))
00203 #define IO2CLR (*((volatile unsigned long *) 0xE002802C))
00204
00205 #define IO3PIN (*((volatile unsigned long *) 0xE0028030))
00206 #define IO3SET (*((volatile unsigned long *) 0xE0028034))
00207 #define IO3DIR (*((volatile unsigned long *) 0xE0028038))
00208 #define IO3CLR (*((volatile unsigned long *) 0xE002803C))
00209 #endif
00210
00211
00212 #define U0RBR (*((volatile unsigned char *) 0xE000C000))
00213 #define U0THR (*((volatile unsigned char *) 0xE000C000))
00214 #define U0IER (*((volatile unsigned char *) 0xE000C004))
00215 #define U0IIR (*((volatile unsigned char *) 0xE000C008))
00216 #define U0FCR (*((volatile unsigned char *) 0xE000C008))
00217 #define U0LCR (*((volatile unsigned char *) 0xE000C00C))
00218 #define U0LSR (*((volatile unsigned char *) 0xE000C014))
00219 #define U0SCR (*((volatile unsigned char *) 0xE000C01C))
00220 #define U0DLL (*((volatile unsigned char *) 0xE000C000))
00221 #define U0DLM (*((volatile unsigned char *) 0xE000C004))
00222 #define U0ACR (*((volatile unsigned char *) 0xE000C020))
00223 #define U0FDR (*((volatile unsigned char *) 0xE000C028))
00224 #define U0TER (*((volatile unsigned char *) 0xE000C030))
00225
00226
00227 #define U1RBR (*((volatile unsigned char *) 0xE0010000))
00228 #define U1THR (*((volatile unsigned char *) 0xE0010000))
00229 #define U1IER (*((volatile unsigned char *) 0xE0010004))
00230 #define U1IIR (*((volatile unsigned char *) 0xE0010008))
00231 #define U1FCR (*((volatile unsigned char *) 0xE0010008))
00232 #define U1LCR (*((volatile unsigned char *) 0xE001000C))
00233 #define U1MCR (*((volatile unsigned char *) 0xE0010010))
00234 #define U1LSR (*((volatile unsigned char *) 0xE0010014))
00235 #define U1MSR (*((volatile unsigned char *) 0xE0010018))
00236 #define U1SCR (*((volatile unsigned char *) 0xE001001C))
00237 #define U1DLL (*((volatile unsigned char *) 0xE0010000))
00238 #define U1DLM (*((volatile unsigned char *) 0xE0010004))
00239
00241
00242
00243
00244 #define UIER_ERBFI (1 << 0) // Enable Receive Data Available Interrupt
00245 #define UIER_ETBEI (1 << 1) // Enable Transmit Holding Register Empty Interrupt
00246 #define UIER_ELSI (1 << 2) // Enable Receive Line Status Interrupt
00247 #define UIER_EDSSI (1 << 3) // Enable MODEM Status Interrupt
00248
00249
00250 #define UIIR_NO_INT (1 << 0) // NO INTERRUPTS PENDING
00251 #define UIIR_MS_INT (0 << 1) // MODEM Status
00252 #define UIIR_THRE_INT (1 << 1) // Transmit Holding Register Empty
00253 #define UIIR_RDA_INT (2 << 1) // Receive Data Available
00254 #define UIIR_RLS_INT (3 << 1) // Receive Line Status
00255 #define UIIR_CTI_INT (6 << 1) // Character Timeout Indicator
00256 #define UIIR_ID_MASK 0x0E
00257
00258
00259 #define UFCR_FIFO_ENABLE (1 << 0) // FIFO Enable
00260 #define UFCR_RX_FIFO_RESET (1 << 1) // Reset Receive FIFO
00261 #define UFCR_TX_FIFO_RESET (1 << 2) // Reset Transmit FIFO
00262 #define UFCR_FIFO_TRIG1 (0 << 6) // Trigger @ 1 character in FIFO
00263 #define UFCR_FIFO_TRIG4 (1 << 6) // Trigger @ 4 characters in FIFO
00264 #define UFCR_FIFO_TRIG8 (2 << 6) // Trigger @ 8 characters in FIFO
00265 #define UFCR_FIFO_TRIG14 (3 << 6) // Trigger @ 14 characters in FIFO
00266
00267
00268 #define ULCR_CHAR_5 (0 << 0) // 5-bit character length
00269 #define ULCR_CHAR_6 (1 << 0) // 6-bit character length
00270 #define ULCR_CHAR_7 (2 << 0) // 7-bit character length
00271 #define ULCR_CHAR_8 (3 << 0) // 8-bit character length
00272 #define ULCR_STOP_1 (0 << 2) // 1 stop bit
00273 #define ULCR_STOP_2 (1 << 2) // 2 stop bits
00274 #define ULCR_PAR_NO (0 << 3) // No Parity
00275 #define ULCR_PAR_ODD (1 << 3) // Odd Parity
00276 #define ULCR_PAR_EVEN (3 << 3) // Even Parity
00277 #define ULCR_PAR_MARK (5 << 3) // MARK "1" Parity
00278 #define ULCR_PAR_SPACE (7 << 3) // SPACE "0" Paruty
00279 #define ULCR_BREAK_ENABLE (1 << 6) // Output BREAK line condition
00280 #define ULCR_DLAB_ENABLE (1 << 7) // Enable Divisor Latch Access
00281
00282
00283 #define UMCR_DTR (1 << 0) // Data Terminal Ready
00284 #define UMCR_RTS (1 << 1) // Request To Send
00285 #define UMCR_LB (1 << 4) // Loopback
00286
00287
00288 #define ULSR_RDR (1 << 0) // Receive Data Ready
00289 #define ULSR_OE (1 << 1) // Overrun Error
00290 #define ULSR_PE (1 << 2) // Parity Error
00291 #define ULSR_FE (1 << 3) // Framing Error
00292 #define ULSR_BI (1 << 4) // Break Interrupt
00293 #define ULSR_THRE (1 << 5) // Transmit Holding Register Empty
00294 #define ULSR_TEMT (1 << 6) // Transmitter Empty
00295 #define ULSR_RXFE (1 << 7) // Error in Receive FIFO
00296 #define ULSR_ERR_MASK 0x1E
00297
00298
00299 #define UMSR_DCTS (1 << 0) // Delta Clear To Send
00300 #define UMSR_DDSR (1 << 1) // Delta Data Set Ready
00301 #define UMSR_TERI (1 << 2) // Trailing Edge Ring Indicator
00302 #define UMSR_DDCD (1 << 3) // Delta Data Carrier Detect
00303 #define UMSR_CTS (1 << 4) // Clear To Send
00304 #define UMSR_DSR (1 << 5) // Data Set Ready
00305 #define UMSR_RI (1 << 6) // Ring Indicator
00306 #define UMSR_DCD (1 << 7) // Data Carrier Detect
00307
00308
00309 #define I2CONSET (*((volatile unsigned char *) 0xE001C000))
00310 #define I2STAT (*((volatile unsigned char *) 0xE001C004))
00311 #define I2DAT (*((volatile unsigned char *) 0xE001C008))
00312 #define I2ADR (*((volatile unsigned char *) 0xE001C00C))
00313 #define I2SCLH (*((volatile unsigned short *) 0xE001C010))
00314 #define I2SCLL (*((volatile unsigned short *) 0xE001C014))
00315 #define I2CONCLR (*((volatile unsigned char *) 0xE001C018))
00316
00317 #define I2AA 0x04
00318 #define I2SI 0x08
00319 #define I2STO 0x10
00320 #define I2STA 0x20
00321 #define I2EN 0x40
00322
00323
00324
00325 #define SPI_SPCR (*((volatile unsigned char *) 0xE0020000))
00326 #define SPI_SPSR (*((volatile unsigned char *) 0xE0020004))
00327 #define SPI_SPDR (*((volatile unsigned char *) 0xE0020008))
00328 #define SPI_SPCCR (*((volatile unsigned char *) 0xE002000C))
00329 #define SPI_SPINT (*((volatile unsigned char *) 0xE002001C))
00330
00331 #define S0PCR (*((volatile unsigned char *) 0xE0020000))
00332 #define S0PSR (*((volatile unsigned char *) 0xE0020004))
00333 #define S0PDR (*((volatile unsigned char *) 0xE0020008))
00334 #define S0PCCR (*((volatile unsigned char *) 0xE002000C))
00335 #define S0PINT (*((volatile unsigned char *) 0xE002001C))
00336
00337 #define S1PCR (*((volatile unsigned char *) 0xE0030000))
00338 #define S1PSR (*((volatile unsigned char *) 0xE0030004))
00339 #define S1PDR (*((volatile unsigned char *) 0xE0030008))
00340 #define S1PCCR (*((volatile unsigned char *) 0xE003000C))
00341 #define S1PINT (*((volatile unsigned char *) 0xE003001C))
00342
00343
00344 #define CAN1MOD (*((volatile unsigned long *) 0xE0044000))
00345 #define CAN1CMR (*((volatile unsigned long *) 0xE0044004))
00346 #define CAN1GSR (*((volatile unsigned long *) 0xE0044008))
00347 #define CAN1ICR (*((volatile unsigned long *) 0xE004400C))
00348 #define CAN1IER (*((volatile unsigned long *) 0xE0044010))
00349 #define CAN1BTR (*((volatile unsigned long *) 0xE0044014))
00350 #define CAN1EWL (*((volatile unsigned long *) 0xE004401C))
00351 #define CAN1SR (*((volatile unsigned long *) 0xE0044020))
00352 #define CAN1RFS (*((volatile unsigned long *) 0xE0044024))
00353 #define CAN1RDA (*((volatile unsigned long *) 0xE0044028))
00354 #define CAN1RDB (*((volatile unsigned long *) 0xE004402C))
00355 #define CAN1TFI1 (*((volatile unsigned long *) 0xE0044030))
00356 #define CAN1TID1 (*((volatile unsigned long *) 0xE0044034))
00357 #define CAN1TDA1 (*((volatile unsigned long *) 0xE0044038))
00358 #define CAN1TDB1 (*((volatile unsigned long *) 0xE004403C))
00359 #define CAN1TFI2 (*((volatile unsigned long *) 0xE0044040))
00360 #define CAN1TID2 (*((volatile unsigned long *) 0xE0044044))
00361 #define CAN1TDA2 (*((volatile unsigned long *) 0xE0044048))
00362 #define CAN1TDB2 (*((volatile unsigned long *) 0xE004404C))
00363 #define CAN1TFI3 (*((volatile unsigned long *) 0xE0044050))
00364 #define CAN1TID3 (*((volatile unsigned long *) 0xE0044054))
00365 #define CAN1TDA3 (*((volatile unsigned long *) 0xE0044058))
00366 #define CAN1TDB3 (*((volatile unsigned long *) 0xE004405C))
00367
00368 #define CAN2MOD (*((volatile unsigned long *) 0xE0048000))
00369 #define CAN2CMR (*((volatile unsigned long *) 0xE0048004))
00370 #define CAN2GSR (*((volatile unsigned long *) 0xE0048008))
00371 #define CAN2ICR (*((volatile unsigned long *) 0xE004800C))
00372 #define CAN2IER (*((volatile unsigned long *) 0xE0048010))
00373 #define CAN2BTR (*((volatile unsigned long *) 0xE0048014))
00374 #define CAN2EWL (*((volatile unsigned long *) 0xE004801C))
00375 #define CAN2SR (*((volatile unsigned long *) 0xE0048020))
00376 #define CAN2RFS (*((volatile unsigned long *) 0xE0048024))
00377 #define CAN2RDA (*((volatile unsigned long *) 0xE0048028))
00378 #define CAN2RDB (*((volatile unsigned long *) 0xE004802C))
00379 #define CAN2TFI1 (*((volatile unsigned long *) 0xE0048030))
00380 #define CAN2TID1 (*((volatile unsigned long *) 0xE0048034))
00381 #define CAN2TDA1 (*((volatile unsigned long *) 0xE0048038))
00382 #define CAN2TDB1 (*((volatile unsigned long *) 0xE004803C))
00383 #define CAN2TFI2 (*((volatile unsigned long *) 0xE0048040))
00384 #define CAN2TID2 (*((volatile unsigned long *) 0xE0048044))
00385 #define CAN2TDA2 (*((volatile unsigned long *) 0xE0048048))
00386 #define CAN2TDB2 (*((volatile unsigned long *) 0xE004804C))
00387 #define CAN2TFI3 (*((volatile unsigned long *) 0xE0048050))
00388 #define CAN2TID3 (*((volatile unsigned long *) 0xE0048054))
00389 #define CAN2TDA3 (*((volatile unsigned long *) 0xE0048058))
00390 #define CAN2TDB3 (*((volatile unsigned long *) 0xE004805C))
00391
00392 #define CAN3MOD (*((volatile unsigned long *) 0xE004C000))
00393 #define CAN3CMR (*((volatile unsigned long *) 0xE004C004))
00394 #define CAN3GSR (*((volatile unsigned long *) 0xE004C008))
00395 #define CAN3ICR (*((volatile unsigned long *) 0xE004C00C))
00396 #define CAN3IER (*((volatile unsigned long *) 0xE004C010))
00397 #define CAN3BTR (*((volatile unsigned long *) 0xE004C014))
00398 #define CAN3EWL (*((volatile unsigned long *) 0xE004C01C))
00399 #define CAN3SR (*((volatile unsigned long *) 0xE004C020))
00400 #define CAN3RFS (*((volatile unsigned long *) 0xE004C024))
00401 #define CAN3RDA (*((volatile unsigned long *) 0xE004C028))
00402 #define CAN3RDB (*((volatile unsigned long *) 0xE004C02C))
00403 #define CAN3TFI1 (*((volatile unsigned long *) 0xE004C030))
00404 #define CAN3TID1 (*((volatile unsigned long *) 0xE004C034))
00405 #define CAN3TDA1 (*((volatile unsigned long *) 0xE004C038))
00406 #define CAN3TDB1 (*((volatile unsigned long *) 0xE004C03C))
00407 #define CAN3TFI2 (*((volatile unsigned long *) 0xE004C040))
00408 #define CAN3TID2 (*((volatile unsigned long *) 0xE004C044))
00409 #define CAN3TDA2 (*((volatile unsigned long *) 0xE004C048))
00410 #define CAN3TDB2 (*((volatile unsigned long *) 0xE004C04C))
00411 #define CAN3TFI3 (*((volatile unsigned long *) 0xE004C050))
00412 #define CAN3TID3 (*((volatile unsigned long *) 0xE004C054))
00413 #define CAN3TDA3 (*((volatile unsigned long *) 0xE004C058))
00414 #define CAN3TDB3 (*((volatile unsigned long *) 0xE004C05C))
00415
00416 #define CAN4MOD (*((volatile unsigned long *) 0xE0050000))
00417 #define CAN4CMR (*((volatile unsigned long *) 0xE0050004))
00418 #define CAN4GSR (*((volatile unsigned long *) 0xE0050008))
00419 #define CAN4ICR (*((volatile unsigned long *) 0xE005000C))
00420 #define CAN4IER (*((volatile unsigned long *) 0xE0050010))
00421 #define CAN4BTR (*((volatile unsigned long *) 0xE0050014))
00422 #define CAN4EWL (*((volatile unsigned long *) 0xE005001C))
00423 #define CAN4SR (*((volatile unsigned long *) 0xE0050020))
00424 #define CAN4RFS (*((volatile unsigned long *) 0xE0050024))
00425 #define CAN4RDA (*((volatile unsigned long *) 0xE0050028))
00426 #define CAN4RDB (*((volatile unsigned long *) 0xE005002C))
00427 #define CAN4TFI1 (*((volatile unsigned long *) 0xE0050030))
00428 #define CAN4TID1 (*((volatile unsigned long *) 0xE0050034))
00429 #define CAN4TDA1 (*((volatile unsigned long *) 0xE0050038))
00430 #define CAN4TDB1 (*((volatile unsigned long *) 0xE005003C))
00431 #define CAN4TFI2 (*((volatile unsigned long *) 0xE0050040))
00432 #define CAN4TID2 (*((volatile unsigned long *) 0xE0050044))
00433 #define CAN4TDA2 (*((volatile unsigned long *) 0xE0050048))
00434 #define CAN4TDB2 (*((volatile unsigned long *) 0xE005004C))
00435 #define CAN4TFI3 (*((volatile unsigned long *) 0xE0050050))
00436 #define CAN4TID3 (*((volatile unsigned long *) 0xE0050054))
00437 #define CAN4TDA3 (*((volatile unsigned long *) 0xE0050058))
00438 #define CAN4TDB3 (*((volatile unsigned long *) 0xE005005C))
00439
00440 #define CAN5MOD (*((volatile unsigned long *) 0xE0054000))
00441 #define CAN5CMR (*((volatile unsigned long *) 0xE0054004))
00442 #define CAN5GSR (*((volatile unsigned long *) 0xE0054008))
00443 #define CAN5ICR (*((volatile unsigned long *) 0xE005400C))
00444 #define CAN5IER (*((volatile unsigned long *) 0xE0054010))
00445 #define CAN5BTR (*((volatile unsigned long *) 0xE0054014))
00446 #define CAN5EWL (*((volatile unsigned long *) 0xE005401C))
00447 #define CAN5SR (*((volatile unsigned long *) 0xE0054020))
00448 #define CAN5RFS (*((volatile unsigned long *) 0xE0054024))
00449 #define CAN5RDA (*((volatile unsigned long *) 0xE0054028))
00450 #define CAN5RDB (*((volatile unsigned long *) 0xE005402C))
00451 #define CAN5TFI1 (*((volatile unsigned long *) 0xE0054030))
00452 #define CAN5TID1 (*((volatile unsigned long *) 0xE0054034))
00453 #define CAN5TDA1 (*((volatile unsigned long *) 0xE0054038))
00454 #define CAN5TDB1 (*((volatile unsigned long *) 0xE005403C))
00455 #define CAN5TFI2 (*((volatile unsigned long *) 0xE0054040))
00456 #define CAN5TID2 (*((volatile unsigned long *) 0xE0054044))
00457 #define CAN5TDA2 (*((volatile unsigned long *) 0xE0054048))
00458 #define CAN5TDB2 (*((volatile unsigned long *) 0xE005404C))
00459 #define CAN5TFI3 (*((volatile unsigned long *) 0xE0054050))
00460 #define CAN5TID3 (*((volatile unsigned long *) 0xE0054054))
00461 #define CAN5TDA3 (*((volatile unsigned long *) 0xE0054058))
00462 #define CAN5TDB3 (*((volatile unsigned long *) 0xE005405C))
00463
00464 #define CAN6MOD (*((volatile unsigned long *) 0xE0058000))
00465 #define CAN6CMR (*((volatile unsigned long *) 0xE0058004))
00466 #define CAN6GSR (*((volatile unsigned long *) 0xE0058008))
00467 #define CAN6ICR (*((volatile unsigned long *) 0xE005800C))
00468 #define CAN6IER (*((volatile unsigned long *) 0xE0058010))
00469 #define CAN6BTR (*((volatile unsigned long *) 0xE0058014))
00470 #define CAN6EWL (*((volatile unsigned long *) 0xE005801C))
00471 #define CAN6SR (*((volatile unsigned long *) 0xE0058020))
00472 #define CAN6RFS (*((volatile unsigned long *) 0xE0058024))
00473 #define CAN6RDA (*((volatile unsigned long *) 0xE0058028))
00474 #define CAN6RDB (*((volatile unsigned long *) 0xE005802C))
00475 #define CAN6TFI1 (*((volatile unsigned long *) 0xE0058030))
00476 #define CAN6TID1 (*((volatile unsigned long *) 0xE0058034))
00477 #define CAN6TDA1 (*((volatile unsigned long *) 0xE0058038))
00478 #define CAN6TDB1 (*((volatile unsigned long *) 0xE005803C))
00479 #define CAN6TFI2 (*((volatile unsigned long *) 0xE0058040))
00480 #define CAN6TID2 (*((volatile unsigned long *) 0xE0058044))
00481 #define CAN6TDA2 (*((volatile unsigned long *) 0xE0058048))
00482 #define CAN6TDB2 (*((volatile unsigned long *) 0xE005804C))
00483 #define CAN6TFI3 (*((volatile unsigned long *) 0xE0058050))
00484 #define CAN6TID3 (*((volatile unsigned long *) 0xE0058054))
00485 #define CAN6TDA3 (*((volatile unsigned long *) 0xE0058058))
00486 #define CAN6TDB3 (*((volatile unsigned long *) 0xE005805C))
00487
00488 #define CANTxSR (*((volatile unsigned long *) 0xE0040000))
00489 #define CANRxSR (*((volatile unsigned long *) 0xE0040004))
00490 #define CANMSR (*((volatile unsigned long *) 0xE0040008))
00491
00492 #define CANAFMR (*((volatile unsigned long *) 0xE003C000))
00493 #define CANSFF_sa (*((volatile unsigned long *) 0xE003C004))
00494 #define CANSFF_GRP_sa (*((volatile unsigned long *) 0xE003C008))
00495 #define CANEFF_sa (*((volatile unsigned long *) 0xE003C00C))
00496 #define CANEFF_GRP_sa (*((volatile unsigned long *) 0xE003C010))
00497 #define CANENDofTable (*((volatile unsigned long *) 0xE003C014))
00498 #define CANLUTerrAd (*((volatile unsigned long *) 0xE003C018))
00499 #define CANLUTerr (*((volatile unsigned long *) 0xE003C01C))
00500
00501 #define CANAFRAM (*((volatile unsigned long *) 0xE0038000))
00502
00503
00504
00505 #define T0IR (*((volatile unsigned long *) 0xE0004000))
00506 #define T0TCR (*((volatile unsigned long *) 0xE0004004))
00507 #define T0TC (*((volatile unsigned long *) 0xE0004008))
00508 #define T0PR (*((volatile unsigned long *) 0xE000400C))
00509 #define T0PC (*((volatile unsigned long *) 0xE0004010))
00510 #define T0MCR (*((volatile unsigned long *) 0xE0004014))
00511 #define T0MR0 (*((volatile unsigned long *) 0xE0004018))
00512 #define T0MR1 (*((volatile unsigned long *) 0xE000401C))
00513 #define T0MR2 (*((volatile unsigned long *) 0xE0004020))
00514 #define T0MR3 (*((volatile unsigned long *) 0xE0004024))
00515 #define T0CCR (*((volatile unsigned long *) 0xE0004028))
00516 #define T0CR0 (*((volatile unsigned long *) 0xE000402C))
00517 #define T0CR1 (*((volatile unsigned long *) 0xE0004030))
00518 #define T0CR2 (*((volatile unsigned long *) 0xE0004034))
00519 #define T0CR3 (*((volatile unsigned long *) 0xE0004038))
00520 #define T0EMR (*((volatile unsigned long *) 0xE000403C))
00521 #define T0CTCR (*((volatile unsigned long *) 0xE0004070))
00522
00523
00524 #define T1IR (*((volatile unsigned long *) 0xE0008000))
00525 #define T1TCR (*((volatile unsigned long *) 0xE0008004))
00526 #define T1TC (*((volatile unsigned long *) 0xE0008008))
00527 #define T1PR (*((volatile unsigned long *) 0xE000800C))
00528 #define T1PC (*((volatile unsigned long *) 0xE0008010))
00529 #define T1MCR (*((volatile unsigned long *) 0xE0008014))
00530 #define T1MR0 (*((volatile unsigned long *) 0xE0008018))
00531 #define T1MR1 (*((volatile unsigned long *) 0xE000801C))
00532 #define T1MR2 (*((volatile unsigned long *) 0xE0008020))
00533 #define T1MR3 (*((volatile unsigned long *) 0xE0008024))
00534 #define T1CCR (*((volatile unsigned long *) 0xE0008028))
00535 #define T1CR0 (*((volatile unsigned long *) 0xE000802C))
00536 #define T1CR1 (*((volatile unsigned long *) 0xE0008030))
00537 #define T1CR2 (*((volatile unsigned long *) 0xE0008034))
00538 #define T1CR3 (*((volatile unsigned long *) 0xE0008038))
00539 #define T1EMR (*((volatile unsigned long *) 0xE000803C))
00540 #define T1CTCR (*((volatile unsigned long *) 0xE0008070))
00541
00542
00543 #define T2IR (*((volatile unsigned long *) 0xE0070000))
00544 #define T2TCR (*((volatile unsigned long *) 0xE0070004))
00545 #define T2TC (*((volatile unsigned long *) 0xE0070008))
00546 #define T2PR (*((volatile unsigned long *) 0xE007000C))
00547 #define T2PC (*((volatile unsigned long *) 0xE0070010))
00548 #define T2MCR (*((volatile unsigned long *) 0xE0070014))
00549 #define T2MR0 (*((volatile unsigned long *) 0xE0070018))
00550 #define T2MR1 (*((volatile unsigned long *) 0xE007001C))
00551 #define T2MR2 (*((volatile unsigned long *) 0xE0070020))
00552 #define T2MR3 (*((volatile unsigned long *) 0xE0070024))
00553 #define T2CCR (*((volatile unsigned long *) 0xE0070028))
00554 #define T2CR0 (*((volatile unsigned long *) 0xE007002C))
00555 #define T2CR1 (*((volatile unsigned long *) 0xE0070030))
00556 #define T2CR2 (*((volatile unsigned long *) 0xE0070034))
00557 #define T2CR3 (*((volatile unsigned long *) 0xE0070038))
00558 #define T2EMR (*((volatile unsigned long *) 0xE007003C))
00559 #define T2CTCR (*((volatile unsigned long *) 0xE0070070))
00560
00561
00562 #define T3IR (*((volatile unsigned long *) 0xE0074000))
00563 #define T3TCR (*((volatile unsigned long *) 0xE0074004))
00564 #define T3TC (*((volatile unsigned long *) 0xE0074008))
00565 #define T3PR (*((volatile unsigned long *) 0xE007400C))
00566 #define T3PC (*((volatile unsigned long *) 0xE0074010))
00567 #define T3MCR (*((volatile unsigned long *) 0xE0074014))
00568 #define T3MR0 (*((volatile unsigned long *) 0xE0074018))
00569 #define T3MR1 (*((volatile unsigned long *) 0xE007401C))
00570 #define T3MR2 (*((volatile unsigned long *) 0xE0074020))
00571 #define T3MR3 (*((volatile unsigned long *) 0xE0074024))
00572 #define T3CCR (*((volatile unsigned long *) 0xE0074028))
00573 #define T3CR0 (*((volatile unsigned long *) 0xE007402C))
00574 #define T3CR1 (*((volatile unsigned long *) 0xE0074030))
00575 #define T3CR2 (*((volatile unsigned long *) 0xE0074034))
00576 #define T3CR3 (*((volatile unsigned long *) 0xE0074038))
00577 #define T3EMR (*((volatile unsigned long *) 0xE007403C))
00578 #define T3CTCR (*((volatile unsigned long *) 0xE0074070))
00579
00580 #define T0PWMCON (*((volatile unsigned long *) 0xE0004074))
00581 #define T1PWMCON (*((volatile unsigned long *) 0xE0008074))
00582
00583
00584 #define PWMIR (*((volatile unsigned long *) 0xE0014000))
00585 #define PWMTCR (*((volatile unsigned long *) 0xE0014004))
00586 #define PWMTC (*((volatile unsigned long *) 0xE0014008))
00587 #define PWMPR (*((volatile unsigned long *) 0xE001400C))
00588 #define PWMPC (*((volatile unsigned long *) 0xE0014010))
00589 #define PWMMCR (*((volatile unsigned long *) 0xE0014014))
00590 #define PWMMR0 (*((volatile unsigned long *) 0xE0014018))
00591 #define PWMMR1 (*((volatile unsigned long *) 0xE001401C))
00592 #define PWMMR2 (*((volatile unsigned long *) 0xE0014020))
00593 #define PWMMR3 (*((volatile unsigned long *) 0xE0014024))
00594 #define PWMMR4 (*((volatile unsigned long *) 0xE0014040))
00595 #define PWMMR5 (*((volatile unsigned long *) 0xE0014044))
00596 #define PWMMR6 (*((volatile unsigned long *) 0xE0014048))
00597 #define PWMPCR (*((volatile unsigned long *) 0xE001404C))
00598 #define PWMLER (*((volatile unsigned long *) 0xE0014050))
00599
00600
00601 #define ADCR (*((volatile unsigned long *) 0xE0034000))
00602 #define ADDR (*((volatile unsigned long *) 0xE0034004))
00603 #define AD0CR (*((volatile unsigned long *) 0xE0034000))
00604 #define AD0GDR (*((volatile unsigned long *) 0xE0034004))
00605 #define AD0STAT (*((volatile unsigned long *) 0xE0034030))
00606 #define AD0INTEN (*((volatile unsigned long *) 0xE003400C))
00607
00608
00609
00610 #define ILR (*((volatile unsigned char *) 0xE0024000))
00611 #define CTC (*((volatile unsigned short*) 0xE0024004))
00612 #define CCR (*((volatile unsigned char *) 0xE0024008))
00613 #define CIIR (*((volatile unsigned char *) 0xE002400C))
00614 #define AMR (*((volatile unsigned char *) 0xE0024010))
00615 #define CTIME0 (*((volatile unsigned long *) 0xE0024014))
00616 #define CTIME1 (*((volatile unsigned long *) 0xE0024018))
00617 #define CTIME2 (*((volatile unsigned long *) 0xE002401C))
00618 #define SEC (*((volatile unsigned char *) 0xE0024020))
00619 #define MIN (*((volatile unsigned char *) 0xE0024024))
00620 #define HOUR (*((volatile unsigned char *) 0xE0024028))
00621 #define DOM (*((volatile unsigned char *) 0xE002402C))
00622 #define DOW (*((volatile unsigned char *) 0xE0024030))
00623 #define DOY (*((volatile unsigned short*) 0xE0024034))
00624 #define MONTH (*((volatile unsigned char *) 0xE0024038))
00625 #define YEAR (*((volatile unsigned short*) 0xE002403C))
00626 #define ALSEC (*((volatile unsigned char *) 0xE0024060))
00627 #define ALMIN (*((volatile unsigned char *) 0xE0024064))
00628 #define ALHOUR (*((volatile unsigned char *) 0xE0024068))
00629 #define ALDOM (*((volatile unsigned char *) 0xE002406C))
00630 #define ALDOW (*((volatile unsigned char *) 0xE0024070))
00631 #define ALDOY (*((volatile unsigned short*) 0xE0024074))
00632 #define ALMON (*((volatile unsigned char *) 0xE0024078))
00633 #define ALYEAR (*((volatile unsigned short*) 0xE002407C))
00634 #define PREINT (*((volatile unsigned short*) 0xE0024080))
00635 #define PREFRAC (*((volatile unsigned short*) 0xE0024084))
00636
00637
00638 #define WDMOD (*((volatile unsigned char *) 0xE0000000))
00639 #define WDTC (*((volatile unsigned long *) 0xE0000004))
00640 #define WDFEED (*((volatile unsigned char *) 0xE0000008))
00641 #define WDTV (*((volatile unsigned long *) 0xE000000C))
00642 #define WDFLAG (*((volatile unsigned long *) 0xE01FC180))
00643
00644
00645 #define rm_init_entry() ((void (*)())(0x7fffff91))()
00646 #define rm_undef_handler() ((void (*)())(0x7fffffa0))()
00647 #define rm_prefetchabort_handler() ((void (*)())(0x7fffffb0))()
00648 #define rm_dataabort_handler() ((void (*)())(0x7fffffc0))()
00649 #define rm_irqhandler() ((void (*)())(0x7fffffd0))()
00650 #define rm_irqhandler2() ((void (*)())(0x7fffffe0))()
00651 #define iap_entry(a, b) ((void (*)())(0x7ffffff1))(a, b)
00652
00653 #endif