import cbaos v0.1
[cbaos.git] / arch / arm7tdmi / mach-lpc21xx / include / LPC210x.H
blob73287b98b8d8c7bfd3384014d41ca305d447facc
1 /***********************************************************************/\r
2 /*  This file is part of the uVision/ARM development tools             */\r
3 /*  Copyright KEIL ELEKTRONIK GmbH 2002-2005                           */\r
4 /***********************************************************************/\r
5 /*                                                                     */\r
6 /*  LPC210X.H:  Header file for Philips LPC2104 / LPC2105 / LPC2106    */\r
7 /*                                                                     */\r
8 /***********************************************************************/\r
9 \r
10 #ifndef __LPC210x_H\r
11 #define __LPC210x_H\r
13 /* Vectored Interrupt Controller (VIC) */\r
14 #define VICIRQStatus   (*((volatile unsigned long *) 0xFFFFF000))\r
15 #define VICFIQStatus   (*((volatile unsigned long *) 0xFFFFF004))\r
16 #define VICRawIntr     (*((volatile unsigned long *) 0xFFFFF008))\r
17 #define VICIntSelect   (*((volatile unsigned long *) 0xFFFFF00C))\r
18 #define VICIntEnable   (*((volatile unsigned long *) 0xFFFFF010))\r
19 #define VICIntEnClr    (*((volatile unsigned long *) 0xFFFFF014))\r
20 #define VICSoftInt     (*((volatile unsigned long *) 0xFFFFF018))\r
21 #define VICSoftIntClr  (*((volatile unsigned long *) 0xFFFFF01C))\r
22 #define VICProtection  (*((volatile unsigned long *) 0xFFFFF020))\r
23 #define VICVectAddr    (*((volatile unsigned long *) 0xFFFFF030))\r
24 #define VICDefVectAddr (*((volatile unsigned long *) 0xFFFFF034))\r
25 #define VICVectAddr0   (*((volatile unsigned long *) 0xFFFFF100))\r
26 #define VICVectAddr1   (*((volatile unsigned long *) 0xFFFFF104))\r
27 #define VICVectAddr2   (*((volatile unsigned long *) 0xFFFFF108))\r
28 #define VICVectAddr3   (*((volatile unsigned long *) 0xFFFFF10C))\r
29 #define VICVectAddr4   (*((volatile unsigned long *) 0xFFFFF110))\r
30 #define VICVectAddr5   (*((volatile unsigned long *) 0xFFFFF114))\r
31 #define VICVectAddr6   (*((volatile unsigned long *) 0xFFFFF118))\r
32 #define VICVectAddr7   (*((volatile unsigned long *) 0xFFFFF11C))\r
33 #define VICVectAddr8   (*((volatile unsigned long *) 0xFFFFF120))\r
34 #define VICVectAddr9   (*((volatile unsigned long *) 0xFFFFF124))\r
35 #define VICVectAddr10  (*((volatile unsigned long *) 0xFFFFF128))\r
36 #define VICVectAddr11  (*((volatile unsigned long *) 0xFFFFF12C))\r
37 #define VICVectAddr12  (*((volatile unsigned long *) 0xFFFFF130))\r
38 #define VICVectAddr13  (*((volatile unsigned long *) 0xFFFFF134))\r
39 #define VICVectAddr14  (*((volatile unsigned long *) 0xFFFFF138))\r
40 #define VICVectAddr15  (*((volatile unsigned long *) 0xFFFFF13C))\r
41 #define VICVectCntl0   (*((volatile unsigned long *) 0xFFFFF200))\r
42 #define VICVectCntl1   (*((volatile unsigned long *) 0xFFFFF204))\r
43 #define VICVectCntl2   (*((volatile unsigned long *) 0xFFFFF208))\r
44 #define VICVectCntl3   (*((volatile unsigned long *) 0xFFFFF20C))\r
45 #define VICVectCntl4   (*((volatile unsigned long *) 0xFFFFF210))\r
46 #define VICVectCntl5   (*((volatile unsigned long *) 0xFFFFF214))\r
47 #define VICVectCntl6   (*((volatile unsigned long *) 0xFFFFF218))\r
48 #define VICVectCntl7   (*((volatile unsigned long *) 0xFFFFF21C))\r
49 #define VICVectCntl8   (*((volatile unsigned long *) 0xFFFFF220))\r
50 #define VICVectCntl9   (*((volatile unsigned long *) 0xFFFFF224))\r
51 #define VICVectCntl10  (*((volatile unsigned long *) 0xFFFFF228))\r
52 #define VICVectCntl11  (*((volatile unsigned long *) 0xFFFFF22C))\r
53 #define VICVectCntl12  (*((volatile unsigned long *) 0xFFFFF230))\r
54 #define VICVectCntl13  (*((volatile unsigned long *) 0xFFFFF234))\r
55 #define VICVectCntl14  (*((volatile unsigned long *) 0xFFFFF238))\r
56 #define VICVectCntl15  (*((volatile unsigned long *) 0xFFFFF23C))\r
58 /* Pin Connect Block */\r
59 #define PINSEL0        (*((volatile unsigned long *) 0xE002C000))\r
60 #define PINSEL1        (*((volatile unsigned long *) 0xE002C004))\r
62 /* General Purpose Input/Output (GPIO) */\r
63 #define IOPIN          (*((volatile unsigned long *) 0xE0028000))\r
64 #define IOSET          (*((volatile unsigned long *) 0xE0028004))\r
65 #define IODIR          (*((volatile unsigned long *) 0xE0028008))\r
66 #define IOCLR          (*((volatile unsigned long *) 0xE002800C))\r
68 /* Memory Accelerator Module (MAM) */\r
69 #define MAMCR          (*((volatile unsigned char *) 0xE01FC000))\r
70 #define MAMTIM         (*((volatile unsigned char *) 0xE01FC004))\r
71 #define MEMMAP         (*((volatile unsigned char *) 0xE01FC040))\r
73 /* Phase Locked Loop (PLL) */\r
74 #define PLLCON         (*((volatile unsigned char *) 0xE01FC080))\r
75 #define PLLCFG         (*((volatile unsigned char *) 0xE01FC084))\r
76 #define PLLSTAT        (*((volatile unsigned short*) 0xE01FC088))\r
77 #define PLLFEED        (*((volatile unsigned char *) 0xE01FC08C))\r
79 /* VPB Divider */\r
80 #define VPBDIV         (*((volatile unsigned char *) 0xE01FC100))\r
82 /* Power Control */\r
83 #define PCON           (*((volatile unsigned char *) 0xE01FC0C0))\r
84 #define PCONP          (*((volatile unsigned long *) 0xE01FC0C4))\r
86 /* External Interrupts */\r
87 #define EXTINT         (*((volatile unsigned char *) 0xE01FC140))\r
88 #define EXTWAKE        (*((volatile unsigned char *) 0xE01FC144))\r
90 /* Timer 0 */\r
91 #define T0IR           (*((volatile unsigned long *) 0xE0004000))\r
92 #define T0TCR          (*((volatile unsigned long *) 0xE0004004))\r
93 #define T0TC           (*((volatile unsigned long *) 0xE0004008))\r
94 #define T0PR           (*((volatile unsigned long *) 0xE000400C))\r
95 #define T0PC           (*((volatile unsigned long *) 0xE0004010))\r
96 #define T0MCR          (*((volatile unsigned long *) 0xE0004014))\r
97 #define T0MR0          (*((volatile unsigned long *) 0xE0004018))\r
98 #define T0MR1          (*((volatile unsigned long *) 0xE000401C))\r
99 #define T0MR2          (*((volatile unsigned long *) 0xE0004020))\r
100 #define T0MR3          (*((volatile unsigned long *) 0xE0004024))\r
101 #define T0CCR          (*((volatile unsigned long *) 0xE0004028))\r
102 #define T0CR0          (*((volatile unsigned long *) 0xE000402C))\r
103 #define T0CR1          (*((volatile unsigned long *) 0xE0004030))\r
104 #define T0CR2          (*((volatile unsigned long *) 0xE0004034))\r
105 #define T0CR3          (*((volatile unsigned long *) 0xE0004038))\r
106 #define T0EMR          (*((volatile unsigned long *) 0xE000403C))\r
108 /* Timer 1 */\r
109 #define T1IR           (*((volatile unsigned long *) 0xE0008000))\r
110 #define T1TCR          (*((volatile unsigned long *) 0xE0008004))\r
111 #define T1TC           (*((volatile unsigned long *) 0xE0008008))\r
112 #define T1PR           (*((volatile unsigned long *) 0xE000800C))\r
113 #define T1PC           (*((volatile unsigned long *) 0xE0008010))\r
114 #define T1MCR          (*((volatile unsigned long *) 0xE0008014))\r
115 #define T1MR0          (*((volatile unsigned long *) 0xE0008018))\r
116 #define T1MR1          (*((volatile unsigned long *) 0xE000801C))\r
117 #define T1MR2          (*((volatile unsigned long *) 0xE0008020))\r
118 #define T1MR3          (*((volatile unsigned long *) 0xE0008024))\r
119 #define T1CCR          (*((volatile unsigned long *) 0xE0008028))\r
120 #define T1CR0          (*((volatile unsigned long *) 0xE000802C))\r
121 #define T1CR1          (*((volatile unsigned long *) 0xE0008030))\r
122 #define T1CR2          (*((volatile unsigned long *) 0xE0008034))\r
123 #define T1CR3          (*((volatile unsigned long *) 0xE0008038))\r
124 #define T1EMR          (*((volatile unsigned long *) 0xE000803C))\r
126 /* Pulse Width Modulator (PWM) */\r
127 #define PWMIR          (*((volatile unsigned long *) 0xE0014000))\r
128 #define PWMTCR         (*((volatile unsigned long *) 0xE0014004))\r
129 #define PWMTC          (*((volatile unsigned long *) 0xE0014008))\r
130 #define PWMPR          (*((volatile unsigned long *) 0xE001400C))\r
131 #define PWMPC          (*((volatile unsigned long *) 0xE0014010))\r
132 #define PWMMCR         (*((volatile unsigned long *) 0xE0014014))\r
133 #define PWMMR0         (*((volatile unsigned long *) 0xE0014018))\r
134 #define PWMMR1         (*((volatile unsigned long *) 0xE001401C))\r
135 #define PWMMR2         (*((volatile unsigned long *) 0xE0014020))\r
136 #define PWMMR3         (*((volatile unsigned long *) 0xE0014024))\r
137 #define PWMMR4         (*((volatile unsigned long *) 0xE0014040))\r
138 #define PWMMR5         (*((volatile unsigned long *) 0xE0014044))\r
139 #define PWMMR6         (*((volatile unsigned long *) 0xE0014048))\r
140 #define PWMPCR         (*((volatile unsigned long *) 0xE001404C))\r
141 #define PWMLER         (*((volatile unsigned long *) 0xE0014050))\r
143 /* Universal Asynchronous Receiver Transmitter 0 (UART0) */\r
144 #define U0RBR          (*((volatile unsigned char *) 0xE000C000))\r
145 #define U0THR          (*((volatile unsigned char *) 0xE000C000))\r
146 #define U0IER          (*((volatile unsigned char *) 0xE000C004))\r
147 #define U0IIR          (*((volatile unsigned char *) 0xE000C008))\r
148 #define U0FCR          (*((volatile unsigned char *) 0xE000C008))\r
149 #define U0LCR          (*((volatile unsigned char *) 0xE000C00C))\r
150 #define U0LSR          (*((volatile unsigned char *) 0xE000C014))\r
151 #define U0SCR          (*((volatile unsigned char *) 0xE000C01C))\r
152 #define U0DLL          (*((volatile unsigned char *) 0xE000C000))\r
153 #define U0DLM          (*((volatile unsigned char *) 0xE000C004))\r
155 /* Universal Asynchronous Receiver Transmitter 1 (UART1) */\r
156 #define U1RBR          (*((volatile unsigned char *) 0xE0010000))\r
157 #define U1THR          (*((volatile unsigned char *) 0xE0010000))\r
158 #define U1IER          (*((volatile unsigned char *) 0xE0010004))\r
159 #define U1IIR          (*((volatile unsigned char *) 0xE0010008))\r
160 #define U1FCR          (*((volatile unsigned char *) 0xE0010008))\r
161 #define U1LCR          (*((volatile unsigned char *) 0xE001000C))\r
162 #define U1MCR          (*((volatile unsigned char *) 0xE0010010))\r
163 #define U1LSR          (*((volatile unsigned char *) 0xE0010014))\r
164 #define U1MSR          (*((volatile unsigned char *) 0xE0010018))\r
165 #define U1SCR          (*((volatile unsigned char *) 0xE001001C))\r
166 #define U1DLL          (*((volatile unsigned char *) 0xE0010000))\r
167 #define U1DLM          (*((volatile unsigned char *) 0xE0010004))\r
169 /* I2C Interface */\r
170 #define I2CONSET       (*((volatile unsigned char *) 0xE001C000))\r
171 #define I2STAT         (*((volatile unsigned char *) 0xE001C004))\r
172 #define I2DAT          (*((volatile unsigned char *) 0xE001C008))\r
173 #define I2ADR          (*((volatile unsigned char *) 0xE001C00C))\r
174 #define I2SCLH         (*((volatile unsigned short*) 0xE001C010))\r
175 #define I2SCLL         (*((volatile unsigned short*) 0xE001C014))\r
176 #define I2CONCLR       (*((volatile unsigned char *) 0xE001C018))\r
178 /* SPI (Serial Peripheral Interface) */\r
179 #define S0SPCR         (*((volatile unsigned char *) 0xE0020000))\r
180 #define S0SPSR         (*((volatile unsigned char *) 0xE0020004))\r
181 #define S0SPDR         (*((volatile unsigned char *) 0xE0020008))\r
182 #define S0SPCCR        (*((volatile unsigned char *) 0xE002000C))\r
183 #define S0SPINT        (*((volatile unsigned char *) 0xE002001C))\r
185 /* Real Time Clock */\r
186 #define ILR            (*((volatile unsigned char *) 0xE0024000))\r
187 #define CTC            (*((volatile unsigned short*) 0xE0024004))\r
188 #define CCR            (*((volatile unsigned char *) 0xE0024008))\r
189 #define CIIR           (*((volatile unsigned char *) 0xE002400C))\r
190 #define AMR            (*((volatile unsigned char *) 0xE0024010))\r
191 #define CTIME0         (*((volatile unsigned long *) 0xE0024014))\r
192 #define CTIME1         (*((volatile unsigned long *) 0xE0024018))\r
193 #define CTIME2         (*((volatile unsigned long *) 0xE002401C))\r
194 #define SEC            (*((volatile unsigned char *) 0xE0024020))\r
195 #define MIN            (*((volatile unsigned char *) 0xE0024024))\r
196 #define HOUR           (*((volatile unsigned char *) 0xE0024028))\r
197 #define DOM            (*((volatile unsigned char *) 0xE002402C))\r
198 #define DOW            (*((volatile unsigned char *) 0xE0024030))\r
199 #define DOY            (*((volatile unsigned short*) 0xE0024034))\r
200 #define MONTH          (*((volatile unsigned char *) 0xE0024038))\r
201 #define YEAR           (*((volatile unsigned short*) 0xE002403C))\r
202 #define ALSEC          (*((volatile unsigned char *) 0xE0024060))\r
203 #define ALMIN          (*((volatile unsigned char *) 0xE0024064))\r
204 #define ALHOUR         (*((volatile unsigned char *) 0xE0024068))\r
205 #define ALDOM          (*((volatile unsigned char *) 0xE002406C))\r
206 #define ALDOW          (*((volatile unsigned char *) 0xE0024070))\r
207 #define ALDOY          (*((volatile unsigned short*) 0xE0024074))\r
208 #define ALMON          (*((volatile unsigned char *) 0xE0024078))\r
209 #define ALYEAR         (*((volatile unsigned short*) 0xE002407C))\r
210 #define PREINT         (*((volatile unsigned short*) 0xE0024080))\r
211 #define PREFRAC        (*((volatile unsigned short*) 0xE0024084))\r
213 /* Watchdog */\r
214 #define WDMOD          (*((volatile unsigned char *) 0xE0000000))\r
215 #define WDTC           (*((volatile unsigned long *) 0xE0000004))\r
216 #define WDFEED         (*((volatile unsigned char *) 0xE0000008))\r
217 #define WDTV           (*((volatile unsigned long *) 0xE000000C))\r
219 #endif  // __LPC210x_H\r