projekty/Source/example1/src/include/lpc2000.h

Go to the documentation of this file.
00001 #ifndef lpc2000_h
00002 #define lpc2000_h
00003 /*******************************************************************************
00004 lpc2000 - Register defs Philips LPC2000 series - defines a register "super set".
00005 
00006 
00007 THE SOFTWARE IS DELIVERED "AS IS" WITHOUT WARRANTY OR CONDITION OF ANY KIND, 
00008 EITHER EXPRESS, IMPLIED OR STATUTORY. THIS INCLUDES WITHOUT LIMITATION ANY 
00009 WARRANTY OR CONDITION WITH RESPECT TO MERCHANTABILITY OR FITNESS FOR ANY 
00010 PARTICULAR PURPOSE, OR AGAINST THE INFRINGEMENTS OF INTELLECTUAL PROPERTY RIGHTS 
00011 OF OTHERS.
00012            
00013 This file may be freely used for commercial and non-commercial applications, 
00014 including being redistributed with any tools.
00015 
00016 If you find a problem with the file, please report it so that it can be fixed.
00017 
00018 Created by Sten Larsson (sten_larsson at yahoo com)
00019 *******************************************************************************/
00020 
00021 #define REG8  (volatile unsigned char*)
00022 #define REG16 (volatile unsigned short*)
00023 #define REG32 (volatile unsigned int*)
00024 
00025 
00026 /*##############################################################################
00027 ## MISC
00028 ##############################################################################*/
00029 
00030         /* Constants for data to put in IRQ/FIQ Exception Vectors */
00031 #define VECTDATA_IRQ  0xE51FFFF0  /* LDR PC,[PC,#-0xFF0] */
00032 #define VECTDATA_FIQ  /* __TODO */
00033 
00034 
00035 /*##############################################################################
00036 ## VECTORED INTERRUPT CONTROLLER
00037 ##############################################################################*/
00038 
00039 #define VICIRQStatus    (*(REG32 (0xFFFFF000)))
00040 #define VICFIQStatus    (*(REG32 (0xFFFFF004)))
00041 #define VICRawIntr      (*(REG32 (0xFFFFF008)))
00042 #define VICIntSelect    (*(REG32 (0xFFFFF00C)))
00043 #define VICIntEnable    (*(REG32 (0xFFFFF010)))
00044 #define VICIntEnClear   (*(REG32 (0xFFFFF014)))
00045 #define VICSoftInt      (*(REG32 (0xFFFFF018)))
00046 #define VICSoftIntClear (*(REG32 (0xFFFFF01C)))
00047 #define VICProtection   (*(REG32 (0xFFFFF020)))
00048 #define VICVectAddr     (*(REG32 (0xFFFFF030)))
00049 #define VICDefVectAddr  (*(REG32 (0xFFFFF034)))
00050 
00051 #define VICVectAddr0    (*(REG32 (0xFFFFF100)))
00052 #define VICVectAddr1    (*(REG32 (0xFFFFF104)))
00053 #define VICVectAddr2    (*(REG32 (0xFFFFF108)))
00054 #define VICVectAddr3    (*(REG32 (0xFFFFF10C)))
00055 #define VICVectAddr4    (*(REG32 (0xFFFFF110)))
00056 #define VICVectAddr5    (*(REG32 (0xFFFFF114)))
00057 #define VICVectAddr6    (*(REG32 (0xFFFFF118)))
00058 #define VICVectAddr7    (*(REG32 (0xFFFFF11C)))
00059 #define VICVectAddr8    (*(REG32 (0xFFFFF120)))
00060 #define VICVectAddr9    (*(REG32 (0xFFFFF124)))
00061 #define VICVectAddr10   (*(REG32 (0xFFFFF128)))
00062 #define VICVectAddr11   (*(REG32 (0xFFFFF12C)))
00063 #define VICVectAddr12   (*(REG32 (0xFFFFF130)))
00064 #define VICVectAddr13   (*(REG32 (0xFFFFF134)))
00065 #define VICVectAddr14   (*(REG32 (0xFFFFF138)))
00066 #define VICVectAddr15   (*(REG32 (0xFFFFF13C)))
00067 
00068 #define VICVectCntl0    (*(REG32 (0xFFFFF200)))
00069 #define VICVectCntl1    (*(REG32 (0xFFFFF204)))
00070 #define VICVectCntl2    (*(REG32 (0xFFFFF208)))
00071 #define VICVectCntl3    (*(REG32 (0xFFFFF20C)))
00072 #define VICVectCntl4    (*(REG32 (0xFFFFF210)))
00073 #define VICVectCntl5    (*(REG32 (0xFFFFF214)))
00074 #define VICVectCntl6    (*(REG32 (0xFFFFF218)))
00075 #define VICVectCntl7    (*(REG32 (0xFFFFF21C)))
00076 #define VICVectCntl8    (*(REG32 (0xFFFFF220)))
00077 #define VICVectCntl9    (*(REG32 (0xFFFFF224)))
00078 #define VICVectCntl10   (*(REG32 (0xFFFFF228)))
00079 #define VICVectCntl11   (*(REG32 (0xFFFFF22C)))
00080 #define VICVectCntl12   (*(REG32 (0xFFFFF230)))
00081 #define VICVectCntl13   (*(REG32 (0xFFFFF234)))
00082 #define VICVectCntl14   (*(REG32 (0xFFFFF238)))
00083 #define VICVectCntl15   (*(REG32 (0xFFFFF23C)))
00084 
00085 #define VICITCR         (*(REG32 (0xFFFFF300)))
00086 #define VICITIP1        (*(REG32 (0xFFFFF304)))
00087 #define VICITIP2        (*(REG32 (0xFFFFF308)))
00088 #define VICITOP1        (*(REG32 (0xFFFFF30C)))
00089 #define VICITOP2        (*(REG32 (0xFFFFF310)))
00090 #define VICPeriphID0    (*(REG32 (0xFFFFFFE0)))
00091 #define VICPeriphID1    (*(REG32 (0xFFFFFFE4)))
00092 #define VICPeriphID2    (*(REG32 (0xFFFFFFE8)))
00093 #define VICPeriphID3    (*(REG32 (0xFFFFFFEC)))
00094 
00095 #define VICIntEnClr     VICIntEnClear
00096 #define VICSoftIntClr   VICSoftIntClear
00097 
00098 
00099 /*##############################################################################
00100 ## PCB - Pin Connect Block
00101 ##############################################################################*/
00102 
00103 #define PCB_PINSEL0     (*(REG32 (0xE002C000)))
00104 #define PCB_PINSEL1     (*(REG32 (0xE002C004)))
00105 #define PCB_PINSEL2     (*(REG32 (0xE002C014)))
00106 
00107 
00108 /*##############################################################################
00109 ## GPIO - General Purpose I/O
00110 ##############################################################################*/
00111 
00112 #define GPIO_IOPIN      (*(REG32 (0xE0028000))) /* ALTERNATE NAME GPIO = GPIO0 */
00113 #define GPIO_IOSET      (*(REG32 (0xE0028004)))
00114 #define GPIO_IODIR      (*(REG32 (0xE0028008)))
00115 #define GPIO_IOCLR      (*(REG32 (0xE002800C)))
00116 
00117 #define GPIO0_IOPIN     (*(REG32 (0xE0028000))) /* ALTERNATE NAME GPIO = GPIO0 */
00118 #define GPIO0_IOSET     (*(REG32 (0xE0028004)))
00119 #define GPIO0_IODIR     (*(REG32 (0xE0028008)))
00120 #define GPIO0_IOCLR     (*(REG32 (0xE002800C)))
00121 
00122 #define GPIO1_IOPIN     (*(REG32 (0xE0028010)))
00123 #define GPIO1_IOSET     (*(REG32 (0xE0028014)))
00124 #define GPIO1_IODIR     (*(REG32 (0xE0028018)))
00125 #define GPIO1_IOCLR     (*(REG32 (0xE002801C)))
00126 
00127 
00128 /*##############################################################################
00129 ## UART0 / UART1
00130 ##############################################################################*/
00131 
00132 /* ---- UART 0 --------------------------------------------- */
00133 #define UART0_RBR       (*(REG32 (0xE000C000)))
00134 #define UART0_THR       (*(REG32 (0xE000C000)))
00135 #define UART0_IER       (*(REG32 (0xE000C004)))
00136 #define UART0_IIR       (*(REG32 (0xE000C008)))
00137 #define UART0_FCR       (*(REG32 (0xE000C008)))
00138 #define UART0_LCR       (*(REG32 (0xE000C00C)))
00139 #define UART0_LSR       (*(REG32 (0xE000C014)))
00140 #define UART0_SCR       (*(REG32 (0xE000C01C)))
00141 #define UART0_DLL       (*(REG32 (0xE000C000)))
00142 #define UART0_DLM       (*(REG32 (0xE000C004)))
00143 
00144 /* ---- UART 1 --------------------------------------------- */
00145 #define UART1_RBR       (*(REG32 (0xE0010000)))
00146 #define UART1_THR       (*(REG32 (0xE0010000)))
00147 #define UART1_IER       (*(REG32 (0xE0010004)))
00148 #define UART1_IIR       (*(REG32 (0xE0010008)))
00149 #define UART1_FCR       (*(REG32 (0xE0010008)))
00150 #define UART1_LCR       (*(REG32 (0xE001000C)))
00151 #define UART1_LSR       (*(REG32 (0xE0010014)))
00152 #define UART1_SCR       (*(REG32 (0xE001001C)))
00153 #define UART1_DLL       (*(REG32 (0xE0010000)))
00154 #define UART1_DLM       (*(REG32 (0xE0010004)))
00155 #define UART1_MCR       (*(REG32 (0xE0010010)))
00156 #define UART1_MSR       (*(REG32 (0xE0010018)))
00157 
00158 
00159 /*##############################################################################
00160 ## I2C
00161 ##############################################################################*/
00162 
00163 #define I2C_I2CONSET    (*(REG32 (0xE001C000)))
00164 #define I2C_I2STAT      (*(REG32 (0xE001C004)))
00165 #define I2C_I2DAT       (*(REG32 (0xE001C008)))
00166 #define I2C_I2ADR       (*(REG32 (0xE001C00C)))
00167 #define I2C_I2SCLH      (*(REG32 (0xE001C010)))
00168 #define I2C_I2SCLL      (*(REG32 (0xE001C014)))
00169 #define I2C_I2CONCLR    (*(REG32 (0xE001C018)))
00170 
00171 
00172 /*##############################################################################
00173 ## SPI - Serial Peripheral Interface 
00174 ##############################################################################*/
00175 
00176 #define SPI_SPCR        (*(REG32 (0xE0020000)))  /* SPI = SPI0 */
00177 #define SPI_SPSR        (*(REG32 (0xE0020004)))
00178 #define SPI_SPDR        (*(REG32 (0xE0020008)))
00179 #define SPI_SPCCR       (*(REG32 (0xE002000C)))
00180 #define SPI_SPTCR       (*(REG32 (0xE0020010)))
00181 #define SPI_SPTSR       (*(REG32 (0xE0020014)))
00182 #define SPI_SPTOR       (*(REG32 (0xE0020018)))
00183 #define SPI_SPINT       (*(REG32 (0xE002001C)))
00184 
00185 #define SPI0_SPCR       (*(REG32 (0xE0020000)))  /* SPI = SPI0 */
00186 #define SPI0_SPSR       (*(REG32 (0xE0020004)))
00187 #define SPI0_SPDR       (*(REG32 (0xE0020008)))
00188 #define SPI0_SPCCR      (*(REG32 (0xE002000C)))
00189 #define SPI0_SPTCR      (*(REG32 (0xE0020010)))
00190 #define SPI0_SPTSR      (*(REG32 (0xE0020014)))
00191 #define SPI0_SPTOR      (*(REG32 (0xE0020018)))
00192 #define SPI0_SPINT      (*(REG32 (0xE002001C)))
00193 
00194 #define SPI1_SPCR       (*(REG32 (0xE0030000)))
00195 #define SPI1_SPSR       (*(REG32 (0xE0030004)))
00196 #define SPI1_SPDR       (*(REG32 (0xE0030008)))
00197 #define SPI1_SPCCR      (*(REG32 (0xE003000C)))
00198 #define SPI1_SPTCR      (*(REG32 (0xE0030010)))
00199 #define SPI1_SPTSR      (*(REG32 (0xE0030014)))
00200 #define SPI1_SPTOR      (*(REG32 (0xE0030018)))
00201 #define SPI1_SPINT      (*(REG32 (0xE003001C)))
00202 
00203 
00204 /*##############################################################################
00205 ## CAN - CAN controllers and acceptance filter
00206 ##############################################################################*/
00207 
00208 /* TODO - add definitions for CAN */
00209 
00210 
00211 /*##############################################################################
00212 ## Timer 0 and Timer 1
00213 ##############################################################################*/
00214 
00215 /* ---- Timer 0 -------------------------------------------- */
00216 #define T0_IR           (*(REG32 (0xE0004000)))
00217 #define T0_TCR          (*(REG32 (0xE0004004)))
00218 #define T0_TC           (*(REG32 (0xE0004008)))
00219 #define T0_PR           (*(REG32 (0xE000400C)))
00220 #define T0_PC           (*(REG32 (0xE0004010)))
00221 #define T0_MCR          (*(REG32 (0xE0004014)))
00222 #define T0_MR0          (*(REG32 (0xE0004018)))
00223 #define T0_MR1          (*(REG32 (0xE000401C)))
00224 #define T0_MR2          (*(REG32 (0xE0004020)))
00225 #define T0_MR3          (*(REG32 (0xE0004024)))
00226 #define T0_CCR          (*(REG32 (0xE0004028)))
00227 #define T0_CR0          (*(REG32 (0xE000402C)))
00228 #define T0_CR1          (*(REG32 (0xE0004030)))
00229 #define T0_CR2          (*(REG32 (0xE0004034)))
00230 #define T0_CR3          (*(REG32 (0xE0004038)))
00231 #define T0_EMR          (*(REG32 (0xE000403C)))
00232 
00233 /* ---- Timer 1 -------------------------------------------- */
00234 #define T1_IR           (*(REG32 (0xE0008000)))
00235 #define T1_TCR          (*(REG32 (0xE0008004)))
00236 #define T1_TC           (*(REG32 (0xE0008008)))
00237 #define T1_PR           (*(REG32 (0xE000800C)))
00238 #define T1_PC           (*(REG32 (0xE0008010)))
00239 #define T1_MCR          (*(REG32 (0xE0008014)))
00240 #define T1_MR0          (*(REG32 (0xE0008018)))
00241 #define T1_MR1          (*(REG32 (0xE000801C)))
00242 #define T1_MR2          (*(REG32 (0xE0008020)))
00243 #define T1_MR3          (*(REG32 (0xE0008024)))
00244 #define T1_CCR          (*(REG32 (0xE0008028)))
00245 #define T1_CR0          (*(REG32 (0xE000802C)))
00246 #define T1_CR1          (*(REG32 (0xE0008030)))
00247 #define T1_CR2          (*(REG32 (0xE0008034)))
00248 #define T1_CR3          (*(REG32 (0xE0008038)))
00249 #define T1_EMR          (*(REG32 (0xE000803C)))
00250 
00251 
00252 /*##############################################################################
00253 ## PWM
00254 ##############################################################################*/
00255 
00256 #define PWM_IR          (*(REG32 (0xE0014000)))
00257 #define PWM_TCR         (*(REG32 (0xE0014004)))
00258 #define PWM_TC          (*(REG32 (0xE0014008)))
00259 #define PWM_PR          (*(REG32 (0xE001400C)))
00260 #define PWM_PC          (*(REG32 (0xE0014010)))
00261 #define PWM_MCR         (*(REG32 (0xE0014014)))
00262 #define PWM_MR0         (*(REG32 (0xE0014018)))
00263 #define PWM_MR1         (*(REG32 (0xE001401C)))
00264 #define PWM_MR2         (*(REG32 (0xE0014020)))
00265 #define PWM_MR3         (*(REG32 (0xE0014024)))
00266 #define PWM_MR4         (*(REG32 (0xE0014040)))
00267 #define PWM_MR5         (*(REG32 (0xE0014044)))
00268 #define PWM_MR6         (*(REG32 (0xE0014048)))
00269 #define PWM_EMR         (*(REG32 (0xE001403C)))
00270 #define PWM_PCR         (*(REG32 (0xE001404C)))
00271 #define PWM_LER         (*(REG32 (0xE0014050)))
00272 #define PWM_CCR         (*(REG32 (0xE0014028)))
00273 #define PWM_CR0         (*(REG32 (0xE001402C)))
00274 #define PWM_CR1         (*(REG32 (0xE0014030)))
00275 #define PWM_CR2         (*(REG32 (0xE0014034)))
00276 #define PWM_CR3         (*(REG32 (0xE0014038)))
00277 
00278 /*##############################################################################
00279 ## RTC
00280 ##############################################################################*/
00281 
00282 /* ---- RTC: Miscellaneous Register Group ------------------ */
00283 #define RTC_ILR         (*(REG32 (0xE0024000)))
00284 #define RTC_CTC         (*(REG32 (0xE0024004)))
00285 #define RTC_CCR         (*(REG32 (0xE0024008)))  
00286 #define RTC_CIIR        (*(REG32 (0xE002400C)))
00287 #define RTC_AMR         (*(REG32 (0xE0024010)))
00288 #define RTC_CTIME0      (*(REG32 (0xE0024014)))
00289 #define RTC_CTIME1      (*(REG32 (0xE0024018)))
00290 #define RTC_CTIME2      (*(REG32 (0xE002401C)))
00291 
00292 /* ---- RTC: Timer Control Group --------------------------- */
00293 #define RTC_SEC         (*(REG32 (0xE0024020)))
00294 #define RTC_MIN         (*(REG32 (0xE0024024)))
00295 #define RTC_HOUR        (*(REG32 (0xE0024028)))
00296 #define RTC_DOM         (*(REG32 (0xE002402C)))
00297 #define RTC_DOW         (*(REG32 (0xE0024030)))
00298 #define RTC_DOY         (*(REG32 (0xE0024034)))
00299 #define RTC_MONTH       (*(REG32 (0xE0024038)))
00300 #define RTC_YEAR        (*(REG32 (0xE002403C)))
00301 
00302 /* ---- RTC: Alarm Control Group --------------------------- */
00303 #define RTC_ALSEC       (*(REG32 (0xE0024060)))
00304 #define RTC_ALMIN       (*(REG32 (0xE0024064)))
00305 #define RTC_ALHOUR      (*(REG32 (0xE0024068)))
00306 #define RTC_ALDOM       (*(REG32 (0xE002406C)))
00307 #define RTC_ALDOW       (*(REG32 (0xE0024070)))
00308 #define RTC_ALDOY       (*(REG32 (0xE0024074)))
00309 #define RTC_ALMON       (*(REG32 (0xE0024078)))
00310 #define RTC_ALYEAR      (*(REG32 (0xE002407C)))
00311 
00312 /* ---- RTC: Reference Clock Divider Group ----------------- */
00313 #define RTC_PREINT      (*(REG32 (0xE0024080)))
00314 #define RTC_PREFRAC     (*(REG32 (0xE0024084)))
00315 
00316 
00317 /*##############################################################################
00318 ## AE - AD Converter
00319 ##############################################################################*/
00320 
00321 #define AD_ADCR        (*(REG32 (0xE0034000)))
00322 #define AD_ADDR        (*(REG32 (0xE0034004)))
00323 
00324 
00325 /*##############################################################################
00326 ## WD - Watchdog
00327 ##############################################################################*/
00328 
00329 #define WD_WDMOD        (*(REG32 (0xE0000000)))
00330 #define WD_WDTC         (*(REG32 (0xE0000004)))
00331 #define WD_WDFEED       (*(REG32 (0xE0000008)))
00332 #define WD_WDTV         (*(REG32 (0xE000000C)))
00333 
00334 
00335 /*##############################################################################
00336 ## SCB - System Control Block
00337 ##############################################################################*/
00338 
00339 #define SCB_EXTINT      (*(REG32 (0xE01FC140)))
00340 #define SCB_EXTWAKE     (*(REG32 (0xE01FC144)))
00341 #define SCB_EXTMODE     (*(REG32 (0xE01FC148)))
00342 #define SCB_EXTPOLAR    (*(REG32 (0xE01FC14C)))
00343 #define SCB_MEMMAP      (*(REG32 (0xE01FC040)))
00344 #define SCB_PLLCON      (*(REG32 (0xE01FC080)))
00345 #define SCB_PLLCFG      (*(REG32 (0xE01FC084)))
00346 #define SCB_PLLSTAT     (*(REG32 (0xE01FC088)))
00347 #define SCB_PLLFEED     (*(REG32 (0xE01FC08C)))
00348 #define SCB_PCON        (*(REG32 (0xE01FC0C0)))
00349 #define SCB_PCONP       (*(REG32 (0xE01FC0C4)))
00350 #define SCB_VPBDIV      (*(REG32 (0xE01FC100)))
00351 
00352 
00353 /*##############################################################################
00354 ## MAM - Memory Accelerator Module
00355 ##############################################################################*/
00356 
00357 #define MAM_MAMCR       (*(REG32 (0xE01FC000)))
00358 #define MAM_MAMTIM      (*(REG32 (0xE01FC004)))
00359 #define MAM_MAMMAP      (*(REG32 (0xE01FC040)))
00360 
00361 
00362 #endif /* lpc2000_h */
00363 

Generated on Fri Sep 21 13:41:54 2007 for example1 by  doxygen 1.4.7