RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
rtl22xx
include
lpc22xx.h
1
/*
2
* Philips LPC22XX/LPC21xx Register definitions
3
*
4
* Copyright (c) 2006 by Ray <rayx.cn@gmail.com>
5
*
6
* The license and distribution terms for this file may be
7
* found in the file LICENSE in this distribution or at
8
* http://www.rtems.org/license/LICENSE.
9
*/
10
#ifndef __LPC22XX_H__
11
#define __LPC22XX_H__
12
13
#include <stdint.h>
14
15
/* EXTERNAL MEMORY CONTROLLER (EMC) */
16
#define BCFG0 (*((volatile unsigned int *) 0xFFE00000))
/* lpc22xx only */
17
#define BCFG1 (*((volatile unsigned int *) 0xFFE00004))
/* lpc22xx only */
18
#define BCFG2 (*((volatile unsigned int *) 0xFFE00008))
/* lpc22xx only */
19
#define BCFG3 (*((volatile unsigned int *) 0xFFE0000C))
/* lpc22xx only */
20
21
/* External Interrupts */
22
#define EXTINT (*((volatile unsigned char *) 0xE01FC140))
23
#define EXTWAKE (*((volatile unsigned char *) 0xE01FC144))
24
#ifdef CONFIG_ARCH_LPC22xx
25
#define EXTMODE (*((volatile unsigned char *) 0xE01FC148))
/* no in lpc210x*/
26
#define EXTPOLAR (*((volatile unsigned char *) 0xE01FC14C))
/* no in lpc210x*/
27
#endif
28
29
/* SMemory mapping control. */
30
#define MEMMAP (*((volatile unsigned char *) 0xE01FC040))
31
32
/* Phase Locked Loop (PLL) */
33
#define PLLCON (*((volatile unsigned char *) 0xE01FC080))
34
#define PLLCFG (*((volatile unsigned char *) 0xE01FC084))
35
#define PLLSTAT (*((volatile unsigned short*) 0xE01FC088))
36
#define PLLFEED (*((volatile unsigned char *) 0xE01FC08C))
37
38
/* Power Control */
39
#define PCON (*((volatile unsigned char *) 0xE01FC0C0))
40
#define PCONP (*((volatile unsigned long *) 0xE01FC0C4))
41
42
/* VPB Divider */
43
#define VPBDIV (*((volatile unsigned char *) 0xE01FC100))
44
45
/* Memory Accelerator Module (MAM) */
46
#define MAMCR (*((volatile unsigned char *) 0xE01FC000))
47
#define MAMTIM (*((volatile unsigned char *) 0xE01FC004))
48
49
/* Vectored Interrupt Controller (VIC) */
50
#define VICIRQStatus (*((volatile unsigned long *) 0xFFFFF000))
51
#define VICFIQStatus (*((volatile unsigned long *) 0xFFFFF004))
52
#define VICRawIntr (*((volatile unsigned long *) 0xFFFFF008))
53
#define VICIntSelect (*((volatile unsigned long *) 0xFFFFF00C))
54
#define VICIntEnable (*((volatile unsigned long *) 0xFFFFF010))
55
#define VICIntEnClr (*((volatile unsigned long *) 0xFFFFF014))
56
#define VICSoftInt (*((volatile unsigned long *) 0xFFFFF018))
57
#define VICSoftIntClear (*((volatile unsigned long *) 0xFFFFF01C))
58
#define VICProtection (*((volatile unsigned long *) 0xFFFFF020))
59
#define VICVectAddr (*((volatile unsigned long *) 0xFFFFF030))
60
#define VICDefVectAddr (*((volatile unsigned long *) 0xFFFFF034))
61
62
#define VICVectAddrBase 0xFFFFF100
63
#define VICVectAddr0 (*((volatile unsigned long *) 0xFFFFF100))
64
#define VICVectAddr1 (*((volatile unsigned long *) 0xFFFFF104))
65
#define VICVectAddr2 (*((volatile unsigned long *) 0xFFFFF108))
66
#define VICVectAddr3 (*((volatile unsigned long *) 0xFFFFF10C))
67
#define VICVectAddr4 (*((volatile unsigned long *) 0xFFFFF110))
68
#define VICVectAddr5 (*((volatile unsigned long *) 0xFFFFF114))
69
#define VICVectAddr6 (*((volatile unsigned long *) 0xFFFFF118))
70
#define VICVectAddr7 (*((volatile unsigned long *) 0xFFFFF11C))
71
#define VICVectAddr8 (*((volatile unsigned long *) 0xFFFFF120))
72
#define VICVectAddr9 (*((volatile unsigned long *) 0xFFFFF124))
73
#define VICVectAddr10 (*((volatile unsigned long *) 0xFFFFF128))
74
#define VICVectAddr11 (*((volatile unsigned long *) 0xFFFFF12C))
75
#define VICVectAddr12 (*((volatile unsigned long *) 0xFFFFF130))
76
#define VICVectAddr13 (*((volatile unsigned long *) 0xFFFFF134))
77
#define VICVectAddr14 (*((volatile unsigned long *) 0xFFFFF138))
78
#define VICVectAddr15 (*((volatile unsigned long *) 0xFFFFF13C))
79
80
#define VICVectCntlBase 0xFFFFF200
81
#define VICVectCntl0 (*((volatile unsigned long *) 0xFFFFF200))
82
#define VICVectCntl1 (*((volatile unsigned long *) 0xFFFFF204))
83
#define VICVectCntl2 (*((volatile unsigned long *) 0xFFFFF208))
84
#define VICVectCntl3 (*((volatile unsigned long *) 0xFFFFF20C))
85
#define VICVectCntl4 (*((volatile unsigned long *) 0xFFFFF210))
86
#define VICVectCntl5 (*((volatile unsigned long *) 0xFFFFF214))
87
#define VICVectCntl6 (*((volatile unsigned long *) 0xFFFFF218))
88
#define VICVectCntl7 (*((volatile unsigned long *) 0xFFFFF21C))
89
#define VICVectCntl8 (*((volatile unsigned long *) 0xFFFFF220))
90
#define VICVectCntl9 (*((volatile unsigned long *) 0xFFFFF224))
91
#define VICVectCntl10 (*((volatile unsigned long *) 0xFFFFF228))
92
#define VICVectCntl11 (*((volatile unsigned long *) 0xFFFFF22C))
93
#define VICVectCntl12 (*((volatile unsigned long *) 0xFFFFF230))
94
#define VICVectCntl13 (*((volatile unsigned long *) 0xFFFFF234))
95
#define VICVectCntl14 (*((volatile unsigned long *) 0xFFFFF238))
96
#define VICVectCntl15 (*((volatile unsigned long *) 0xFFFFF23C))
97
98
/* Pin Connect Block */
99
#define PINSEL0 (*((volatile unsigned long *) 0xE002C000))
100
#define PINSEL1 (*((volatile unsigned long *) 0xE002C004))
101
102
#define PINSEL2 (*((volatile unsigned long *) 0xE002C014))
/* no in lpc210x*/
103
104
105
/* General Purpose Input/Output (GPIO) */
106
#ifndef CONFIG_ARCH_LPC22xx
107
108
#define IOPIN (*((volatile unsigned long *) 0xE0028000))
/* lpc210x only */
109
#define IOSET (*((volatile unsigned long *) 0xE0028004))
/* lpc210x only */
110
#define IODIR (*((volatile unsigned long *) 0xE0028008))
/* lpc210x only */
111
#define IOCLR (*((volatile unsigned long *) 0xE002800C))
/* lpc210x only */
112
113
#endif
114
115
#ifdef CONFIG_ARCH_LPC22xx
116
#define IO0PIN (*((volatile unsigned long *) 0xE0028000))
/* no in lpc210x*/
117
#define IO0SET (*((volatile unsigned long *) 0xE0028004))
/* no in lpc210x*/
118
#define IO0DIR (*((volatile unsigned long *) 0xE0028008))
/* no in lpc210x*/
119
#define IO0CLR (*((volatile unsigned long *) 0xE002800C))
/* no in lpc210x*/
120
121
#define IO1PIN (*((volatile unsigned long *) 0xE0028010))
/* no in lpc210x*/
122
#define IO1SET (*((volatile unsigned long *) 0xE0028014))
/* no in lpc210x*/
123
#define IO1DIR (*((volatile unsigned long *) 0xE0028018))
/* no in lpc210x*/
124
#define IO1CLR (*((volatile unsigned long *) 0xE002801C))
/* no in lpc210x*/
125
#endif
126
127
#ifdef CONFIG_ARCH_LPC22xx
128
129
#define IO2PIN (*((volatile unsigned long *) 0xE0028020))
/* lpc22xx only */
130
#define IO2SET (*((volatile unsigned long *) 0xE0028024))
/* lpc22xx only */
131
#define IO2DIR (*((volatile unsigned long *) 0xE0028028))
/* lpc22xx only */
132
#define IO2CLR (*((volatile unsigned long *) 0xE002802C))
/* lpc22xx only */
133
134
#define IO3PIN (*((volatile unsigned long *) 0xE0028030))
/* lpc22xx only */
135
#define IO3SET (*((volatile unsigned long *) 0xE0028034))
/* lpc22xx only */
136
#define IO3DIR (*((volatile unsigned long *) 0xE0028038))
/* lpc22xx only */
137
#define IO3CLR (*((volatile unsigned long *) 0xE002803C))
/* lpc22xx only */
138
139
#endif
140
141
/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
142
#define U0RBR (*((volatile unsigned char *) 0xE000C000))
143
#define U0THR (*((volatile unsigned char *) 0xE000C000))
144
#define U0IER (*((volatile unsigned char *) 0xE000C004))
145
#define U0IIR (*((volatile unsigned char *) 0xE000C008))
146
#define U0FCR (*((volatile unsigned char *) 0xE000C008))
147
#define U0LCR (*((volatile unsigned char *) 0xE000C00C))
148
#define U0LSR (*((volatile unsigned char *) 0xE000C014))
149
#define U0SCR (*((volatile unsigned char *) 0xE000C01C))
150
#define U0DLL (*((volatile unsigned char *) 0xE000C000))
151
#define U0DLM (*((volatile unsigned char *) 0xE000C004))
152
153
/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
154
#define U1RBR (*((volatile unsigned char *) 0xE0010000))
155
#define U1THR (*((volatile unsigned char *) 0xE0010000))
156
#define U1IER (*((volatile unsigned char *) 0xE0010004))
157
#define U1IIR (*((volatile unsigned char *) 0xE0010008))
158
#define U1FCR (*((volatile unsigned char *) 0xE0010008))
159
#define U1LCR (*((volatile unsigned char *) 0xE001000C))
160
#define U1MCR (*((volatile unsigned char *) 0xE0010010))
161
#define U1LSR (*((volatile unsigned char *) 0xE0010014))
162
#define U1MSR (*((volatile unsigned char *) 0xE0010018))
163
#define U1SCR (*((volatile unsigned char *) 0xE001001C))
164
#define U1DLL (*((volatile unsigned char *) 0xE0010000))
165
#define U1DLM (*((volatile unsigned char *) 0xE0010004))
166
167
/* I2C (8/16 bit data bus) */
168
#define I2CONSET (*((volatile unsigned char *) 0xE001C000))
169
#define I2STAT (*((volatile unsigned char *) 0xE001C004))
170
#define I2DAT (*((volatile unsigned char *) 0xE001C008))
171
#define I2ADR (*((volatile unsigned char *) 0xE001C00C))
172
#define I2SCLH (*((volatile unsigned short *) 0xE001C010))
173
#define I2SCLL (*((volatile unsigned short *) 0xE001C014))
174
#define I2CONCLR (*((volatile unsigned char *) 0xE001C018))
175
176
/* SPI (Serial Peripheral Interface) */
177
/* only for lpc210x*/
178
#define SPI_SPCR (*((volatile unsigned char *) 0xE0020000))
179
#define SPI_SPSR (*((volatile unsigned char *) 0xE0020004))
180
#define SPI_SPDR (*((volatile unsigned char *) 0xE0020008))
181
#define SPI_SPCCR (*((volatile unsigned char *) 0xE002000C))
182
#define SPI_SPINT (*((volatile unsigned char *) 0xE002001C))
183
184
#ifdef CONFIG_ARCH_LPC22xx
185
#define S0PCR (*((volatile unsigned char *) 0xE0020000))
/* no in lpc210x*/
186
#define S0PSR (*((volatile unsigned char *) 0xE0020004))
/* no in lpc210x*/
187
#define S0PDR (*((volatile unsigned char *) 0xE0020008))
/* no in lpc210x*/
188
#define S0PCCR (*((volatile unsigned char *) 0xE002000C))
/* no in lpc210x*/
189
#define S0PINT (*((volatile unsigned char *) 0xE002001C))
/* no in lpc210x*/
190
191
#define S1PCR (*((volatile unsigned char *) 0xE0030000))
/* no in lpc210x*/
192
#define S1PSR (*((volatile unsigned char *) 0xE0030004))
/* no in lpc210x*/
193
#define S1PDR (*((volatile unsigned char *) 0xE0030008))
/* no in lpc210x*/
194
#define S1PCCR (*((volatile unsigned char *) 0xE003000C))
/* no in lpc210x*/
195
#define S1PINT (*((volatile unsigned char *) 0xE003001C))
/* no in lpc210x*/
196
#endif
197
/* CAN CONTROLLERS AND ACCEPTANCE FILTER */
198
#define CAN1MOD (*((volatile unsigned long *) 0xE0044000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
199
#define CAN1CMR (*((volatile unsigned long *) 0xE0044004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
200
#define CAN1GSR (*((volatile unsigned long *) 0xE0044008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
201
#define CAN1ICR (*((volatile unsigned long *) 0xE004400C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
202
#define CAN1IER (*((volatile unsigned long *) 0xE0044010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
203
#define CAN1BTR (*((volatile unsigned long *) 0xE0044014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
204
#define CAN1EWL (*((volatile unsigned long *) 0xE004401C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
205
#define CAN1SR (*((volatile unsigned long *) 0xE0044020))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
206
#define CAN1RFS (*((volatile unsigned long *) 0xE0044024))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
207
#define CAN1RDA (*((volatile unsigned long *) 0xE0044028))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
208
#define CAN1RDB (*((volatile unsigned long *) 0xE004402C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
209
#define CAN1TFI1 (*((volatile unsigned long *) 0xE0044030))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
210
#define CAN1TID1 (*((volatile unsigned long *) 0xE0044034))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
211
#define CAN1TDA1 (*((volatile unsigned long *) 0xE0044038))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
212
#define CAN1TDB1 (*((volatile unsigned long *) 0xE004403C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
213
#define CAN1TFI2 (*((volatile unsigned long *) 0xE0044040))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
214
#define CAN1TID2 (*((volatile unsigned long *) 0xE0044044))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
215
#define CAN1TDA2 (*((volatile unsigned long *) 0xE0044048))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
216
#define CAN1TDB2 (*((volatile unsigned long *) 0xE004404C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
217
#define CAN1TFI3 (*((volatile unsigned long *) 0xE0044050))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
218
#define CAN1TID3 (*((volatile unsigned long *) 0xE0044054))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
219
#define CAN1TDA3 (*((volatile unsigned long *) 0xE0044058))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
220
#define CAN1TDB3 (*((volatile unsigned long *) 0xE004405C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
221
222
#define CAN2MOD (*((volatile unsigned long *) 0xE0048000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
223
#define CAN2CMR (*((volatile unsigned long *) 0xE0048004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
224
#define CAN2GSR (*((volatile unsigned long *) 0xE0048008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
225
#define CAN2ICR (*((volatile unsigned long *) 0xE004800C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
226
#define CAN2IER (*((volatile unsigned long *) 0xE0048010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
227
#define CAN2BTR (*((volatile unsigned long *) 0xE0048014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
228
#define CAN2EWL (*((volatile unsigned long *) 0xE004801C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
229
#define CAN2SR (*((volatile unsigned long *) 0xE0048020))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
230
#define CAN2RFS (*((volatile unsigned long *) 0xE0048024))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
231
#define CAN2RDA (*((volatile unsigned long *) 0xE0048028))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
232
#define CAN2RDB (*((volatile unsigned long *) 0xE004802C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
233
#define CAN2TFI1 (*((volatile unsigned long *) 0xE0048030))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
234
#define CAN2TID1 (*((volatile unsigned long *) 0xE0048034))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
235
#define CAN2TDA1 (*((volatile unsigned long *) 0xE0048038))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
236
#define CAN2TDB1 (*((volatile unsigned long *) 0xE004803C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
237
#define CAN2TFI2 (*((volatile unsigned long *) 0xE0048040))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
238
#define CAN2TID2 (*((volatile unsigned long *) 0xE0048044))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
239
#define CAN2TDA2 (*((volatile unsigned long *) 0xE0048048))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
240
#define CAN2TDB2 (*((volatile unsigned long *) 0xE004804C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
241
#define CAN2TFI3 (*((volatile unsigned long *) 0xE0048050))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
242
#define CAN2TID3 (*((volatile unsigned long *) 0xE0048054))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
243
#define CAN2TDA3 (*((volatile unsigned long *) 0xE0048058))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
244
#define CAN2TDB3 (*((volatile unsigned long *) 0xE004805C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
245
246
#define CAN3MOD (*((volatile unsigned long *) 0xE004C000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
247
#define CAN3CMR (*((volatile unsigned long *) 0xE004C004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
248
#define CAN3GSR (*((volatile unsigned long *) 0xE004C008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
249
#define CAN3ICR (*((volatile unsigned long *) 0xE004C00C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
250
#define CAN3IER (*((volatile unsigned long *) 0xE004C010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
251
#define CAN3BTR (*((volatile unsigned long *) 0xE004C014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
252
#define CAN3EWL (*((volatile unsigned long *) 0xE004C01C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
253
#define CAN3SR (*((volatile unsigned long *) 0xE004C020))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
254
#define CAN3RFS (*((volatile unsigned long *) 0xE004C024))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
255
#define CAN3RDA (*((volatile unsigned long *) 0xE004C028))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
256
#define CAN3RDB (*((volatile unsigned long *) 0xE004C02C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
257
#define CAN3TFI1 (*((volatile unsigned long *) 0xE004C030))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
258
#define CAN3TID1 (*((volatile unsigned long *) 0xE004C034))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
259
#define CAN3TDA1 (*((volatile unsigned long *) 0xE004C038))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
260
#define CAN3TDB1 (*((volatile unsigned long *) 0xE004C03C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
261
#define CAN3TFI2 (*((volatile unsigned long *) 0xE004C040))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
262
#define CAN3TID2 (*((volatile unsigned long *) 0xE004C044))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
263
#define CAN3TDA2 (*((volatile unsigned long *) 0xE004C048))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
264
#define CAN3TDB2 (*((volatile unsigned long *) 0xE004C04C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
265
#define CAN3TFI3 (*((volatile unsigned long *) 0xE004C050))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
266
#define CAN3TID3 (*((volatile unsigned long *) 0xE004C054))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
267
#define CAN3TDA3 (*((volatile unsigned long *) 0xE004C058))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
268
#define CAN3TDB3 (*((volatile unsigned long *) 0xE004C05C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
269
270
#define CAN4MOD (*((volatile unsigned long *) 0xE0050000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
271
#define CAN4CMR (*((volatile unsigned long *) 0xE0050004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
272
#define CAN4GSR (*((volatile unsigned long *) 0xE0050008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
273
#define CAN4ICR (*((volatile unsigned long *) 0xE005000C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
274
#define CAN4IER (*((volatile unsigned long *) 0xE0050010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
275
#define CAN4BTR (*((volatile unsigned long *) 0xE0050014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
276
#define CAN4EWL (*((volatile unsigned long *) 0xE005001C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
277
#define CAN4SR (*((volatile unsigned long *) 0xE0050020))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
278
#define CAN4RFS (*((volatile unsigned long *) 0xE0050024))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
279
#define CAN4RDA (*((volatile unsigned long *) 0xE0050028))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
280
#define CAN4RDB (*((volatile unsigned long *) 0xE005002C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
281
#define CAN4TFI1 (*((volatile unsigned long *) 0xE0050030))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
282
#define CAN4TID1 (*((volatile unsigned long *) 0xE0050034))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
283
#define CAN4TDA1 (*((volatile unsigned long *) 0xE0050038))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
284
#define CAN4TDB1 (*((volatile unsigned long *) 0xE005003C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
285
#define CAN4TFI2 (*((volatile unsigned long *) 0xE0050040))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
286
#define CAN4TID2 (*((volatile unsigned long *) 0xE0050044))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
287
#define CAN4TDA2 (*((volatile unsigned long *) 0xE0050048))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
288
#define CAN4TDB2 (*((volatile unsigned long *) 0xE005004C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
289
#define CAN4TFI3 (*((volatile unsigned long *) 0xE0050050))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
290
#define CAN4TID3 (*((volatile unsigned long *) 0xE0050054))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
291
#define CAN4TDA3 (*((volatile unsigned long *) 0xE0050058))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
292
#define CAN4TDB3 (*((volatile unsigned long *) 0xE005005C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
293
294
#define CAN5MOD (*((volatile unsigned long *) 0xE0054000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
295
#define CAN5CMR (*((volatile unsigned long *) 0xE0054004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
296
#define CAN5GSR (*((volatile unsigned long *) 0xE0054008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
297
#define CAN5ICR (*((volatile unsigned long *) 0xE005400C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
298
#define CAN5IER (*((volatile unsigned long *) 0xE0054010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
299
#define CAN5BTR (*((volatile unsigned long *) 0xE0054014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
300
#define CAN5EWL (*((volatile unsigned long *) 0xE005401C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
301
#define CAN5SR (*((volatile unsigned long *) 0xE0054020))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
302
#define CAN5RFS (*((volatile unsigned long *) 0xE0054024))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
303
#define CAN5RDA (*((volatile unsigned long *) 0xE0054028))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
304
#define CAN5RDB (*((volatile unsigned long *) 0xE005402C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
305
#define CAN5TFI1 (*((volatile unsigned long *) 0xE0054030))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
306
#define CAN5TID1 (*((volatile unsigned long *) 0xE0054034))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
307
#define CAN5TDA1 (*((volatile unsigned long *) 0xE0054038))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
308
#define CAN5TDB1 (*((volatile unsigned long *) 0xE005403C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
309
#define CAN5TFI2 (*((volatile unsigned long *) 0xE0054040))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
310
#define CAN5TID2 (*((volatile unsigned long *) 0xE0054044))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
311
#define CAN5TDA2 (*((volatile unsigned long *) 0xE0054048))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
312
#define CAN5TDB2 (*((volatile unsigned long *) 0xE005404C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
313
#define CAN5TFI3 (*((volatile unsigned long *) 0xE0054050))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
314
#define CAN5TID3 (*((volatile unsigned long *) 0xE0054054))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
315
#define CAN5TDA3 (*((volatile unsigned long *) 0xE0054058))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
316
#define CAN5TDB3 (*((volatile unsigned long *) 0xE005405C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
317
318
#ifdef CONFIG_ARCH_LPC22xx
319
#define CAN6MOD (*((volatile unsigned long *) 0xE0058000))
/* lpc2292\lpc2294 only */
320
#define CAN6CMR (*((volatile unsigned long *) 0xE0058004))
/* lpc2292\lpc2294 only */
321
#define CAN6GSR (*((volatile unsigned long *) 0xE0058008))
/* lpc2292\lpc2294 only */
322
#define CAN6ICR (*((volatile unsigned long *) 0xE005800C))
/* lpc2292\lpc2294 only */
323
#define CAN6IER (*((volatile unsigned long *) 0xE0058010))
/* lpc2292\lpc2294 only */
324
#define CAN6BTR (*((volatile unsigned long *) 0xE0058014))
/* lpc2292\lpc2294 only */
325
#define CAN6EWL (*((volatile unsigned long *) 0xE005801C))
/* lpc2292\lpc2294 only */
326
#define CAN6SR (*((volatile unsigned long *) 0xE0058020))
/* lpc2292\lpc2294 only */
327
#define CAN6RFS (*((volatile unsigned long *) 0xE0058024))
/* lpc2292\lpc2294 only */
328
#define CAN6RDA (*((volatile unsigned long *) 0xE0058028))
/* lpc2292\lpc2294 only */
329
#define CAN6RDB (*((volatile unsigned long *) 0xE005802C))
/* lpc2292\lpc2294 only */
330
#define CAN6TFI1 (*((volatile unsigned long *) 0xE0058030))
/* lpc2292\lpc2294 only */
331
#define CAN6TID1 (*((volatile unsigned long *) 0xE0058034))
/* lpc2292\lpc2294 only */
332
#define CAN6TDA1 (*((volatile unsigned long *) 0xE0058038))
/* lpc2292\lpc2294 only */
333
#define CAN6TDB1 (*((volatile unsigned long *) 0xE005803C))
/* lpc2292\lpc2294 only */
334
#define CAN6TFI2 (*((volatile unsigned long *) 0xE0058040))
/* lpc2292\lpc2294 only */
335
#define CAN6TID2 (*((volatile unsigned long *) 0xE0058044))
/* lpc2292\lpc2294 only */
336
#define CAN6TDA2 (*((volatile unsigned long *) 0xE0058048))
/* lpc2292\lpc2294 only */
337
#define CAN6TDB2 (*((volatile unsigned long *) 0xE005804C))
/* lpc2292\lpc2294 only */
338
#define CAN6TFI3 (*((volatile unsigned long *) 0xE0058050))
/* lpc2292\lpc2294 only */
339
#define CAN6TID3 (*((volatile unsigned long *) 0xE0058054))
/* lpc2292\lpc2294 only */
340
#define CAN6TDA3 (*((volatile unsigned long *) 0xE0058058))
/* lpc2292\lpc2294 only */
341
#define CAN6TDB3 (*((volatile unsigned long *) 0xE005805C))
/* lpc2292\lpc2294 only */
342
#endif
343
344
#define CANTxSR (*((volatile unsigned long *) 0xE0040000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
345
#define CANRxSR (*((volatile unsigned long *) 0xE0040004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
346
#define CANMSR (*((volatile unsigned long *) 0xE0040008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
347
348
#define CANAFMR (*((volatile unsigned long *) 0xE003C000))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
349
#define CANSFF_sa (*((volatile unsigned long *) 0xE003C004))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
350
#define CANSFF_GRP_sa (*((volatile unsigned long *) 0xE003C008))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
351
#define CANEFF_sa (*((volatile unsigned long *) 0xE003C00C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
352
#define CANEFF_GRP_sa (*((volatile unsigned long *) 0xE003C010))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
353
#define CANENDofTable (*((volatile unsigned long *) 0xE003C014))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
354
#define CANLUTerrAd (*((volatile unsigned long *) 0xE003C018))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
355
#define CANLUTerr (*((volatile unsigned long *) 0xE003C01C))
/* lpc2119\lpc2129\lpc2292\lpc2294 only */
356
/* CAN Acceptance Filter RAM */
357
#define CANAFRAM (*((volatile unsigned long *) 0xE0038000))
358
359
360
/* Timer 0 */
361
#define T0IR (*((volatile unsigned long *) 0xE0004000))
362
#define T0TCR (*((volatile unsigned long *) 0xE0004004))
363
#define T0TC (*((volatile unsigned long *) 0xE0004008))
364
#define T0PR (*((volatile unsigned long *) 0xE000400C))
365
#define T0PC (*((volatile unsigned long *) 0xE0004010))
366
#define T0MCR (*((volatile unsigned long *) 0xE0004014))
367
#define T0MR0 (*((volatile unsigned long *) 0xE0004018))
368
#define T0MR1 (*((volatile unsigned long *) 0xE000401C))
369
#define T0MR2 (*((volatile unsigned long *) 0xE0004020))
370
#define T0MR3 (*((volatile unsigned long *) 0xE0004024))
371
#define T0CCR (*((volatile unsigned long *) 0xE0004028))
372
#define T0CR0 (*((volatile unsigned long *) 0xE000402C))
373
#define T0CR1 (*((volatile unsigned long *) 0xE0004030))
374
#define T0CR2 (*((volatile unsigned long *) 0xE0004034))
375
#define T0CR3 (*((volatile unsigned long *) 0xE0004038))
376
#define T0EMR (*((volatile unsigned long *) 0xE000403C))
377
378
/* Timer 1 */
379
#define T1IR (*((volatile unsigned long *) 0xE0008000))
380
#define T1TCR (*((volatile unsigned long *) 0xE0008004))
381
#define T1TC (*((volatile unsigned long *) 0xE0008008))
382
#define T1PR (*((volatile unsigned long *) 0xE000800C))
383
#define T1PC (*((volatile unsigned long *) 0xE0008010))
384
#define T1MCR (*((volatile unsigned long *) 0xE0008014))
385
#define T1MR0 (*((volatile unsigned long *) 0xE0008018))
386
#define T1MR1 (*((volatile unsigned long *) 0xE000801C))
387
#define T1MR2 (*((volatile unsigned long *) 0xE0008020))
388
#define T1MR3 (*((volatile unsigned long *) 0xE0008024))
389
#define T1CCR (*((volatile unsigned long *) 0xE0008028))
390
#define T1CR0 (*((volatile unsigned long *) 0xE000802C))
391
#define T1CR1 (*((volatile unsigned long *) 0xE0008030))
392
#define T1CR2 (*((volatile unsigned long *) 0xE0008034))
393
#define T1CR3 (*((volatile unsigned long *) 0xE0008038))
394
#define T1EMR (*((volatile unsigned long *) 0xE000803C))
395
396
/* Pulse Width Modulator (PWM) */
397
#define PWMIR (*((volatile unsigned long *) 0xE0014000))
398
#define PWMTCR (*((volatile unsigned long *) 0xE0014004))
399
#define PWMTC (*((volatile unsigned long *) 0xE0014008))
400
#define PWMPR (*((volatile unsigned long *) 0xE001400C))
401
#define PWMPC (*((volatile unsigned long *) 0xE0014010))
402
#define PWMMCR (*((volatile unsigned long *) 0xE0014014))
403
#define PWMMR0 (*((volatile unsigned long *) 0xE0014018))
404
#define PWMMR1 (*((volatile unsigned long *) 0xE001401C))
405
#define PWMMR2 (*((volatile unsigned long *) 0xE0014020))
406
#define PWMMR3 (*((volatile unsigned long *) 0xE0014024))
407
#define PWMMR4 (*((volatile unsigned long *) 0xE0014040))
408
#define PWMMR5 (*((volatile unsigned long *) 0xE0014044))
409
#define PWMMR6 (*((volatile unsigned long *) 0xE0014048))
410
#define PWMPCR (*((volatile unsigned long *) 0xE001404C))
411
#define PWMLER (*((volatile unsigned long *) 0xE0014050))
412
413
/* A/D CONVERTER */
414
#ifndef CONFIG_ARCH_LPC2104
415
#define ADCR (*((volatile unsigned long *) 0xE0034000))
/* no in lpc210x*/
416
#define ADDR (*((volatile unsigned long *) 0xE0034004))
/* no in lpc210x*/
417
#endif
418
419
/* Real Time Clock */
420
#define ILR (*((volatile unsigned char *) 0xE0024000))
421
#define CTC (*((volatile unsigned short*) 0xE0024004))
422
#define CCR (*((volatile unsigned char *) 0xE0024008))
423
#define CIIR (*((volatile unsigned char *) 0xE002400C))
424
#define AMR (*((volatile unsigned char *) 0xE0024010))
425
#define CTIME0 (*((volatile unsigned long *) 0xE0024014))
426
#define CTIME1 (*((volatile unsigned long *) 0xE0024018))
427
#define CTIME2 (*((volatile unsigned long *) 0xE002401C))
428
#define SEC (*((volatile unsigned char *) 0xE0024020))
429
#define MIN (*((volatile unsigned char *) 0xE0024024))
430
#define HOUR (*((volatile unsigned char *) 0xE0024028))
431
#define DOM (*((volatile unsigned char *) 0xE002402C))
432
#define DOW (*((volatile unsigned char *) 0xE0024030))
433
#define DOY (*((volatile unsigned short*) 0xE0024034))
434
#define MONTH (*((volatile unsigned char *) 0xE0024038))
435
#define YEAR (*((volatile unsigned short*) 0xE002403C))
436
#define ALSEC (*((volatile unsigned char *) 0xE0024060))
437
#define ALMIN (*((volatile unsigned char *) 0xE0024064))
438
#define ALHOUR (*((volatile unsigned char *) 0xE0024068))
439
#define ALDOM (*((volatile unsigned char *) 0xE002406C))
440
#define ALDOW (*((volatile unsigned char *) 0xE0024070))
441
#define ALDOY (*((volatile unsigned short*) 0xE0024074))
442
#define ALMON (*((volatile unsigned char *) 0xE0024078))
443
#define ALYEAR (*((volatile unsigned short*) 0xE002407C))
444
#define PREINT (*((volatile unsigned short*) 0xE0024080))
445
#define PREFRAC (*((volatile unsigned short*) 0xE0024084))
446
447
/* Watchdog */
448
#define WDMOD (*((volatile unsigned char *) 0xE0000000))
449
#define WDTC (*((volatile unsigned long *) 0xE0000004))
450
#define WDFEED (*((volatile unsigned char *) 0xE0000008))
451
#define WDTV (*((volatile unsigned long *) 0xE000000C))
452
453
/*
454
Register define for constant
455
*/
456
#define REG_U0RBR 0xE000C000
457
#define REG_U1RBR 0xE0010000
458
459
/* PLL */
460
#define REG_PLLCON 0xE01FC080
461
#define REG_PLLCFG 0xE01FC084
462
#define REG_PLLSTAT 0xE01FC088
463
#define REG_PLLFEED 0xE01FC08C
464
465
/* Power Control */
466
467
#define REG_PCON 0xE01FC0C0
468
#define REG_PCOMP 0xE01FC0C4
469
#define REG_PINSEL0 0xE002C000
470
#define REG_MEMMAP 0xE01FC040
471
#define REG_PLLSTAT 0xE01FC088
472
#define REG_VPBDIV 0xE01FC100
473
474
475
#endif
/* __LPC22XX_H__ */
Generated by
1.18.0