added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
JojoS
Date:
Sat Sep 10 15:32:04 2016 +0000
Revision:
147:ba84b7dc41a7
Parent:
144:ef7eb2e8f9f7
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /* mbed Microcontroller Library - LPC24xx CMSIS-like structs
<> 144:ef7eb2e8f9f7 2 * Copyright (C) 2009-2015 ARM Limited. All rights reserved.
<> 144:ef7eb2e8f9f7 3 *
<> 144:ef7eb2e8f9f7 4 * An LPC24xx header file, based on LPC23xx.h
<> 144:ef7eb2e8f9f7 5 */
<> 144:ef7eb2e8f9f7 6
<> 144:ef7eb2e8f9f7 7 #ifndef __LPC24xx_H
<> 144:ef7eb2e8f9f7 8 #define __LPC24xx_H
<> 144:ef7eb2e8f9f7 9
<> 144:ef7eb2e8f9f7 10 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 11 extern "C" {
<> 144:ef7eb2e8f9f7 12 #endif
<> 144:ef7eb2e8f9f7 13
<> 144:ef7eb2e8f9f7 14 /*
<> 144:ef7eb2e8f9f7 15 * ==========================================================================
<> 144:ef7eb2e8f9f7 16 * ---------- Interrupt Number Definition -----------------------------------
<> 144:ef7eb2e8f9f7 17 * ==========================================================================
<> 144:ef7eb2e8f9f7 18 */
<> 144:ef7eb2e8f9f7 19
<> 144:ef7eb2e8f9f7 20 typedef enum IRQn
<> 144:ef7eb2e8f9f7 21 {
<> 144:ef7eb2e8f9f7 22 /****** LPC23xx Specific Interrupt Numbers *******************************************************/
<> 144:ef7eb2e8f9f7 23 WDT_IRQn = 0, /*!< Watchdog Timer Interrupt */
<> 144:ef7eb2e8f9f7 24
<> 144:ef7eb2e8f9f7 25 TIMER0_IRQn = 4, /*!< Timer0 Interrupt */
<> 144:ef7eb2e8f9f7 26 TIMER1_IRQn = 5, /*!< Timer1 Interrupt */
<> 144:ef7eb2e8f9f7 27 UART0_IRQn = 6, /*!< UART0 Interrupt */
<> 144:ef7eb2e8f9f7 28 UART1_IRQn = 7, /*!< UART1 Interrupt */
<> 144:ef7eb2e8f9f7 29 PWM0_IRQn = 8, /*!< PWM0 Interrupt */
<> 144:ef7eb2e8f9f7 30 PWM1_IRQn = 8, /*!< PWM1 Interrupt */
<> 144:ef7eb2e8f9f7 31 I2C0_IRQn = 9, /*!< I2C0 Interrupt */
<> 144:ef7eb2e8f9f7 32 SPI_IRQn = 10, /*!< SPI Interrupt */
<> 144:ef7eb2e8f9f7 33 SSP0_IRQn = 10, /*!< SSP0 Interrupt */
<> 144:ef7eb2e8f9f7 34 SSP1_IRQn = 11, /*!< SSP1 Interrupt */
<> 144:ef7eb2e8f9f7 35 PLL0_IRQn = 12, /*!< PLL0 Lock (Main PLL) Interrupt */
<> 144:ef7eb2e8f9f7 36 RTC_IRQn = 13, /*!< Real Time Clock Interrupt */
<> 144:ef7eb2e8f9f7 37 EINT0_IRQn = 14, /*!< External Interrupt 0 Interrupt */
<> 144:ef7eb2e8f9f7 38 EINT1_IRQn = 15, /*!< External Interrupt 1 Interrupt */
<> 144:ef7eb2e8f9f7 39 EINT2_IRQn = 16, /*!< External Interrupt 2 Interrupt */
<> 144:ef7eb2e8f9f7 40 EINT3_IRQn = 17, /*!< External Interrupt 3 Interrupt */
<> 144:ef7eb2e8f9f7 41 ADC_IRQn = 18, /*!< A/D Converter Interrupt */
<> 144:ef7eb2e8f9f7 42 I2C1_IRQn = 19, /*!< I2C1 Interrupt */
<> 144:ef7eb2e8f9f7 43 BOD_IRQn = 20, /*!< Brown-Out Detect Interrupt */
<> 144:ef7eb2e8f9f7 44 ENET_IRQn = 21, /*!< Ethernet Interrupt */
<> 144:ef7eb2e8f9f7 45 USB_IRQn = 22, /*!< USB Interrupt */
<> 144:ef7eb2e8f9f7 46 CAN_IRQn = 23, /*!< CAN Interrupt */
<> 144:ef7eb2e8f9f7 47 SDMMC_IRQn = 24, /*!< SD/MMC Interrupt */
<> 144:ef7eb2e8f9f7 48 DMA_IRQn = 25, /*!< General Purpose DMA Interrupt */
<> 144:ef7eb2e8f9f7 49 TIMER2_IRQn = 26, /*!< Timer2 Interrupt */
<> 144:ef7eb2e8f9f7 50 TIMER3_IRQn = 27, /*!< Timer3 Interrupt */
<> 144:ef7eb2e8f9f7 51 UART2_IRQn = 28, /*!< UART2 Interrupt */
<> 144:ef7eb2e8f9f7 52 UART3_IRQn = 29, /*!< UART3 Interrupt */
<> 144:ef7eb2e8f9f7 53 I2C2_IRQn = 30, /*!< I2C2 Interrupt */
<> 144:ef7eb2e8f9f7 54 I2S_IRQn = 31, /*!< I2S Interrupt */
<> 144:ef7eb2e8f9f7 55 } IRQn_Type;
<> 144:ef7eb2e8f9f7 56
<> 144:ef7eb2e8f9f7 57 /*
<> 144:ef7eb2e8f9f7 58 * ==========================================================================
<> 144:ef7eb2e8f9f7 59 * ----------- Processor and Core Peripheral Section ------------------------
<> 144:ef7eb2e8f9f7 60 * ==========================================================================
<> 144:ef7eb2e8f9f7 61 */
<> 144:ef7eb2e8f9f7 62
<> 144:ef7eb2e8f9f7 63 /* Configuration of the ARM7 Processor and Core Peripherals */
<> 144:ef7eb2e8f9f7 64 #define __MPU_PRESENT 0 /*!< MPU present or not */
<> 144:ef7eb2e8f9f7 65 #define __NVIC_PRIO_BITS 4 /*!< Number of Bits used for Priority Levels */
<> 144:ef7eb2e8f9f7 66 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
<> 144:ef7eb2e8f9f7 67
<> 144:ef7eb2e8f9f7 68
<> 144:ef7eb2e8f9f7 69 #include <core_arm7.h>
<> 144:ef7eb2e8f9f7 70 #include "system_LPC24xx.h" /* System Header */
<> 144:ef7eb2e8f9f7 71
<> 144:ef7eb2e8f9f7 72
<> 144:ef7eb2e8f9f7 73 /******************************************************************************/
<> 144:ef7eb2e8f9f7 74 /* Device Specific Peripheral registers structures */
<> 144:ef7eb2e8f9f7 75 /******************************************************************************/
<> 144:ef7eb2e8f9f7 76 #if defined ( __CC_ARM )
<> 144:ef7eb2e8f9f7 77 #pragma anon_unions
<> 144:ef7eb2e8f9f7 78 #endif
<> 144:ef7eb2e8f9f7 79
<> 144:ef7eb2e8f9f7 80 /*------------- Vector Interupt Controler (VIC) ------------------------------*/
<> 144:ef7eb2e8f9f7 81 typedef struct
<> 144:ef7eb2e8f9f7 82 {
<> 144:ef7eb2e8f9f7 83 __I uint32_t IRQStatus;
<> 144:ef7eb2e8f9f7 84 __I uint32_t FIQStatus;
<> 144:ef7eb2e8f9f7 85 __I uint32_t RawIntr;
<> 144:ef7eb2e8f9f7 86 __IO uint32_t IntSelect;
<> 144:ef7eb2e8f9f7 87 __IO uint32_t IntEnable;
<> 144:ef7eb2e8f9f7 88 __O uint32_t IntEnClr;
<> 144:ef7eb2e8f9f7 89 __IO uint32_t SoftInt;
<> 144:ef7eb2e8f9f7 90 __O uint32_t SoftIntClr;
<> 144:ef7eb2e8f9f7 91 __IO uint32_t Protection;
<> 144:ef7eb2e8f9f7 92 __IO uint32_t SWPriorityMask;
<> 144:ef7eb2e8f9f7 93 __IO uint32_t RESERVED0[54];
<> 144:ef7eb2e8f9f7 94 __IO uint32_t VectAddr[32];
<> 144:ef7eb2e8f9f7 95 __IO uint32_t RESERVED1[32];
<> 144:ef7eb2e8f9f7 96 __IO uint32_t VectPriority[32];
<> 144:ef7eb2e8f9f7 97 __IO uint32_t RESERVED2[800];
<> 144:ef7eb2e8f9f7 98 __IO uint32_t Address;
<> 144:ef7eb2e8f9f7 99 } LPC_VIC_TypeDef;
<> 144:ef7eb2e8f9f7 100
<> 144:ef7eb2e8f9f7 101 /*------------- System Control (SC) ------------------------------------------*/
<> 144:ef7eb2e8f9f7 102 typedef struct
<> 144:ef7eb2e8f9f7 103 {
<> 144:ef7eb2e8f9f7 104 __IO uint32_t MAMCR;
<> 144:ef7eb2e8f9f7 105 __IO uint32_t MAMTIM;
<> 144:ef7eb2e8f9f7 106 uint32_t RESERVED0[14];
<> 144:ef7eb2e8f9f7 107 __IO uint32_t MEMMAP;
<> 144:ef7eb2e8f9f7 108 uint32_t RESERVED1[15];
<> 144:ef7eb2e8f9f7 109 __IO uint32_t PLL0CON; /* Clocking and Power Control */
<> 144:ef7eb2e8f9f7 110 __IO uint32_t PLL0CFG;
<> 144:ef7eb2e8f9f7 111 __I uint32_t PLL0STAT;
<> 144:ef7eb2e8f9f7 112 __O uint32_t PLL0FEED;
<> 144:ef7eb2e8f9f7 113 uint32_t RESERVED2[12];
<> 144:ef7eb2e8f9f7 114 __IO uint32_t PCON;
<> 144:ef7eb2e8f9f7 115 __IO uint32_t PCONP;
<> 144:ef7eb2e8f9f7 116 uint32_t RESERVED3[15];
<> 144:ef7eb2e8f9f7 117 __IO uint32_t CCLKCFG;
<> 144:ef7eb2e8f9f7 118 __IO uint32_t USBCLKCFG;
<> 144:ef7eb2e8f9f7 119 __IO uint32_t CLKSRCSEL;
<> 144:ef7eb2e8f9f7 120 uint32_t RESERVED4[12];
<> 144:ef7eb2e8f9f7 121 __IO uint32_t EXTINT; /* External Interrupts */
<> 144:ef7eb2e8f9f7 122 __IO uint32_t INTWAKE;
<> 144:ef7eb2e8f9f7 123 __IO uint32_t EXTMODE;
<> 144:ef7eb2e8f9f7 124 __IO uint32_t EXTPOLAR;
<> 144:ef7eb2e8f9f7 125 uint32_t RESERVED6[12];
<> 144:ef7eb2e8f9f7 126 __IO uint32_t RSID; /* Reset */
<> 144:ef7eb2e8f9f7 127 __IO uint32_t CSPR;
<> 144:ef7eb2e8f9f7 128 __IO uint32_t AHBCFG1;
<> 144:ef7eb2e8f9f7 129 __IO uint32_t AHBCFG2;
<> 144:ef7eb2e8f9f7 130 uint32_t RESERVED7[4];
<> 144:ef7eb2e8f9f7 131 __IO uint32_t SCS; /* Syscon Miscellaneous Registers */
<> 144:ef7eb2e8f9f7 132 __IO uint32_t IRCTRIM; /* Clock Dividers */
<> 144:ef7eb2e8f9f7 133 __IO uint32_t PCLKSEL0;
<> 144:ef7eb2e8f9f7 134 __IO uint32_t PCLKSEL1;
<> 144:ef7eb2e8f9f7 135 uint32_t RESERVED8[4];
<> 144:ef7eb2e8f9f7 136 __IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */
<> 144:ef7eb2e8f9f7 137 uint32_t RESERVED9;
<> 144:ef7eb2e8f9f7 138 // __IO uint32_t CLKOUTCFG; /* Clock Output Configuration */
<> 144:ef7eb2e8f9f7 139 } LPC_SC_TypeDef;
<> 144:ef7eb2e8f9f7 140
<> 144:ef7eb2e8f9f7 141 /*------------- Pin Connect Block (PINCON) -----------------------------------*/
<> 144:ef7eb2e8f9f7 142 typedef struct
<> 144:ef7eb2e8f9f7 143 {
<> 144:ef7eb2e8f9f7 144 __IO uint32_t PINSEL0;
<> 144:ef7eb2e8f9f7 145 __IO uint32_t PINSEL1;
<> 144:ef7eb2e8f9f7 146 __IO uint32_t PINSEL2;
<> 144:ef7eb2e8f9f7 147 __IO uint32_t PINSEL3;
<> 144:ef7eb2e8f9f7 148 __IO uint32_t PINSEL4;
<> 144:ef7eb2e8f9f7 149 __IO uint32_t PINSEL5;
<> 144:ef7eb2e8f9f7 150 __IO uint32_t PINSEL6;
<> 144:ef7eb2e8f9f7 151 __IO uint32_t PINSEL7;
<> 144:ef7eb2e8f9f7 152 __IO uint32_t PINSEL8;
<> 144:ef7eb2e8f9f7 153 __IO uint32_t PINSEL9;
<> 144:ef7eb2e8f9f7 154 __IO uint32_t PINSEL10;
<> 144:ef7eb2e8f9f7 155 uint32_t RESERVED0[5];
<> 144:ef7eb2e8f9f7 156 __IO uint32_t PINMODE0;
<> 144:ef7eb2e8f9f7 157 __IO uint32_t PINMODE1;
<> 144:ef7eb2e8f9f7 158 __IO uint32_t PINMODE2;
<> 144:ef7eb2e8f9f7 159 __IO uint32_t PINMODE3;
<> 144:ef7eb2e8f9f7 160 __IO uint32_t PINMODE4;
<> 144:ef7eb2e8f9f7 161 __IO uint32_t PINMODE5;
<> 144:ef7eb2e8f9f7 162 __IO uint32_t PINMODE6;
<> 144:ef7eb2e8f9f7 163 __IO uint32_t PINMODE7;
<> 144:ef7eb2e8f9f7 164 __IO uint32_t PINMODE8;
<> 144:ef7eb2e8f9f7 165 __IO uint32_t PINMODE9;
<> 144:ef7eb2e8f9f7 166 __IO uint32_t PINMODE_OD0;
<> 144:ef7eb2e8f9f7 167 __IO uint32_t PINMODE_OD1;
<> 144:ef7eb2e8f9f7 168 __IO uint32_t PINMODE_OD2;
<> 144:ef7eb2e8f9f7 169 __IO uint32_t PINMODE_OD3;
<> 144:ef7eb2e8f9f7 170 __IO uint32_t PINMODE_OD4;
<> 144:ef7eb2e8f9f7 171 } LPC_PINCON_TypeDef;
<> 144:ef7eb2e8f9f7 172
<> 144:ef7eb2e8f9f7 173 #define PCTIM0 1
<> 144:ef7eb2e8f9f7 174 #define PCTIM1 2
<> 144:ef7eb2e8f9f7 175 #define PCUART0 3
<> 144:ef7eb2e8f9f7 176 #define PCUART1 4
<> 144:ef7eb2e8f9f7 177 #define PCPWM1 6
<> 144:ef7eb2e8f9f7 178 #define PCI2C0 7
<> 144:ef7eb2e8f9f7 179 #define PCSPI 8
<> 144:ef7eb2e8f9f7 180 #define PCRTC 9
<> 144:ef7eb2e8f9f7 181 #define PCSSP1 10
<> 144:ef7eb2e8f9f7 182 #define PCEMC 11
<> 144:ef7eb2e8f9f7 183 #define PCADC 12
<> 144:ef7eb2e8f9f7 184 #define PCAN1 13
<> 144:ef7eb2e8f9f7 185 #define PCAN2 14
<> 144:ef7eb2e8f9f7 186 #define PCI2C1 19
<> 144:ef7eb2e8f9f7 187 #define PCSSP0 21
<> 144:ef7eb2e8f9f7 188 #define PCTIM2 22
<> 144:ef7eb2e8f9f7 189 #define PCTIM3 23
<> 144:ef7eb2e8f9f7 190 #define PCUART2 24
<> 144:ef7eb2e8f9f7 191 #define PCUART3 25
<> 144:ef7eb2e8f9f7 192 #define PCI2C2 26
<> 144:ef7eb2e8f9f7 193 #define PCI2S 27
<> 144:ef7eb2e8f9f7 194 #define PCSDC 28
<> 144:ef7eb2e8f9f7 195 #define PCGPDMA 29
<> 144:ef7eb2e8f9f7 196 #define PCENET 30
<> 144:ef7eb2e8f9f7 197 #define PCUSB 31
<> 144:ef7eb2e8f9f7 198
<> 144:ef7eb2e8f9f7 199 /*------------- General Purpose Input/Output (GPIO) --------------------------*/
<> 144:ef7eb2e8f9f7 200 typedef struct
<> 144:ef7eb2e8f9f7 201 {
<> 144:ef7eb2e8f9f7 202 __IO uint32_t FIODIR;
<> 144:ef7eb2e8f9f7 203 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 204 __IO uint32_t FIOMASK;
<> 144:ef7eb2e8f9f7 205 __IO uint32_t FIOPIN;
<> 144:ef7eb2e8f9f7 206 __IO uint32_t FIOSET;
<> 144:ef7eb2e8f9f7 207 __O uint32_t FIOCLR;
<> 144:ef7eb2e8f9f7 208 } LPC_GPIO_TypeDef;
<> 144:ef7eb2e8f9f7 209
<> 144:ef7eb2e8f9f7 210 typedef struct
<> 144:ef7eb2e8f9f7 211 {
<> 144:ef7eb2e8f9f7 212 __I uint32_t IntStatus;
<> 144:ef7eb2e8f9f7 213 __I uint32_t IO0IntStatR;
<> 144:ef7eb2e8f9f7 214 __I uint32_t IO0IntStatF;
<> 144:ef7eb2e8f9f7 215 __O uint32_t IO0IntClr;
<> 144:ef7eb2e8f9f7 216 __IO uint32_t IO0IntEnR;
<> 144:ef7eb2e8f9f7 217 __IO uint32_t IO0IntEnF;
<> 144:ef7eb2e8f9f7 218 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 219 __I uint32_t IO2IntStatR;
<> 144:ef7eb2e8f9f7 220 __I uint32_t IO2IntStatF;
<> 144:ef7eb2e8f9f7 221 __O uint32_t IO2IntClr;
<> 144:ef7eb2e8f9f7 222 __IO uint32_t IO2IntEnR;
<> 144:ef7eb2e8f9f7 223 __IO uint32_t IO2IntEnF;
<> 144:ef7eb2e8f9f7 224 } LPC_GPIOINT_TypeDef;
<> 144:ef7eb2e8f9f7 225
<> 144:ef7eb2e8f9f7 226 /*------------- Timer (TIM) --------------------------------------------------*/
<> 144:ef7eb2e8f9f7 227 typedef struct
<> 144:ef7eb2e8f9f7 228 {
<> 144:ef7eb2e8f9f7 229 __IO uint32_t IR;
<> 144:ef7eb2e8f9f7 230 __IO uint32_t TCR;
<> 144:ef7eb2e8f9f7 231 __IO uint32_t TC;
<> 144:ef7eb2e8f9f7 232 __IO uint32_t PR;
<> 144:ef7eb2e8f9f7 233 __IO uint32_t PC;
<> 144:ef7eb2e8f9f7 234 __IO uint32_t MCR;
<> 144:ef7eb2e8f9f7 235 __IO uint32_t MR0;
<> 144:ef7eb2e8f9f7 236 __IO uint32_t MR1;
<> 144:ef7eb2e8f9f7 237 __IO uint32_t MR2;
<> 144:ef7eb2e8f9f7 238 __IO uint32_t MR3;
<> 144:ef7eb2e8f9f7 239 __IO uint32_t CCR;
<> 144:ef7eb2e8f9f7 240 __I uint32_t CR0;
<> 144:ef7eb2e8f9f7 241 __I uint32_t CR1;
<> 144:ef7eb2e8f9f7 242 uint32_t RESERVED0[2];
<> 144:ef7eb2e8f9f7 243 __IO uint32_t EMR;
<> 144:ef7eb2e8f9f7 244 uint32_t RESERVED1[12];
<> 144:ef7eb2e8f9f7 245 __IO uint32_t CTCR;
<> 144:ef7eb2e8f9f7 246 } LPC_TIM_TypeDef;
<> 144:ef7eb2e8f9f7 247
<> 144:ef7eb2e8f9f7 248 /*------------- Pulse-Width Modulation (PWM) ---------------------------------*/
<> 144:ef7eb2e8f9f7 249 typedef struct
<> 144:ef7eb2e8f9f7 250 {
<> 144:ef7eb2e8f9f7 251 __IO uint32_t IR;
<> 144:ef7eb2e8f9f7 252 __IO uint32_t TCR;
<> 144:ef7eb2e8f9f7 253 __IO uint32_t TC;
<> 144:ef7eb2e8f9f7 254 __IO uint32_t PR;
<> 144:ef7eb2e8f9f7 255 __IO uint32_t PC;
<> 144:ef7eb2e8f9f7 256 __IO uint32_t MCR;
<> 144:ef7eb2e8f9f7 257 __IO uint32_t MR0;
<> 144:ef7eb2e8f9f7 258 __IO uint32_t MR1;
<> 144:ef7eb2e8f9f7 259 __IO uint32_t MR2;
<> 144:ef7eb2e8f9f7 260 __IO uint32_t MR3;
<> 144:ef7eb2e8f9f7 261 __IO uint32_t CCR;
<> 144:ef7eb2e8f9f7 262 __I uint32_t CR0;
<> 144:ef7eb2e8f9f7 263 __I uint32_t CR1;
<> 144:ef7eb2e8f9f7 264 __I uint32_t CR2;
<> 144:ef7eb2e8f9f7 265 __I uint32_t CR3;
<> 144:ef7eb2e8f9f7 266 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 267 __IO uint32_t MR4;
<> 144:ef7eb2e8f9f7 268 __IO uint32_t MR5;
<> 144:ef7eb2e8f9f7 269 __IO uint32_t MR6;
<> 144:ef7eb2e8f9f7 270 __IO uint32_t PCR;
<> 144:ef7eb2e8f9f7 271 __IO uint32_t LER;
<> 144:ef7eb2e8f9f7 272 uint32_t RESERVED1[7];
<> 144:ef7eb2e8f9f7 273 __IO uint32_t CTCR;
<> 144:ef7eb2e8f9f7 274 } LPC_PWM_TypeDef;
<> 144:ef7eb2e8f9f7 275
<> 144:ef7eb2e8f9f7 276 /*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
<> 144:ef7eb2e8f9f7 277 typedef struct
<> 144:ef7eb2e8f9f7 278 {
<> 144:ef7eb2e8f9f7 279 union {
<> 144:ef7eb2e8f9f7 280 __I uint8_t RBR;
<> 144:ef7eb2e8f9f7 281 __O uint8_t THR;
<> 144:ef7eb2e8f9f7 282 __IO uint8_t DLL;
<> 144:ef7eb2e8f9f7 283 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 284 };
<> 144:ef7eb2e8f9f7 285 union {
<> 144:ef7eb2e8f9f7 286 __IO uint8_t DLM;
<> 144:ef7eb2e8f9f7 287 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 288 };
<> 144:ef7eb2e8f9f7 289 union {
<> 144:ef7eb2e8f9f7 290 __I uint32_t IIR;
<> 144:ef7eb2e8f9f7 291 __O uint8_t FCR;
<> 144:ef7eb2e8f9f7 292 };
<> 144:ef7eb2e8f9f7 293 __IO uint8_t LCR;
<> 144:ef7eb2e8f9f7 294 uint8_t RESERVED1[7];
<> 144:ef7eb2e8f9f7 295 __IO uint8_t LSR;
<> 144:ef7eb2e8f9f7 296 uint8_t RESERVED2[7];
<> 144:ef7eb2e8f9f7 297 __IO uint8_t SCR;
<> 144:ef7eb2e8f9f7 298 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 299 __IO uint32_t ACR;
<> 144:ef7eb2e8f9f7 300 __IO uint8_t ICR;
<> 144:ef7eb2e8f9f7 301 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 302 __IO uint8_t FDR;
<> 144:ef7eb2e8f9f7 303 uint8_t RESERVED5[7];
<> 144:ef7eb2e8f9f7 304 __IO uint8_t TER;
<> 144:ef7eb2e8f9f7 305 uint8_t RESERVED6[27];
<> 144:ef7eb2e8f9f7 306 __IO uint8_t RS485CTRL;
<> 144:ef7eb2e8f9f7 307 uint8_t RESERVED7[3];
<> 144:ef7eb2e8f9f7 308 __IO uint8_t ADRMATCH;
<> 144:ef7eb2e8f9f7 309 } LPC_UART_TypeDef;
<> 144:ef7eb2e8f9f7 310
<> 144:ef7eb2e8f9f7 311 typedef struct
<> 144:ef7eb2e8f9f7 312 {
<> 144:ef7eb2e8f9f7 313 union {
<> 144:ef7eb2e8f9f7 314 __I uint8_t RBR;
<> 144:ef7eb2e8f9f7 315 __O uint8_t THR;
<> 144:ef7eb2e8f9f7 316 __IO uint8_t DLL;
<> 144:ef7eb2e8f9f7 317 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 318 };
<> 144:ef7eb2e8f9f7 319 union {
<> 144:ef7eb2e8f9f7 320 __IO uint8_t DLM;
<> 144:ef7eb2e8f9f7 321 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 322 };
<> 144:ef7eb2e8f9f7 323 union {
<> 144:ef7eb2e8f9f7 324 __I uint32_t IIR;
<> 144:ef7eb2e8f9f7 325 __O uint8_t FCR;
<> 144:ef7eb2e8f9f7 326 };
<> 144:ef7eb2e8f9f7 327 __IO uint8_t LCR;
<> 144:ef7eb2e8f9f7 328 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 329 __IO uint8_t MCR;
<> 144:ef7eb2e8f9f7 330 uint8_t RESERVED2[3];
<> 144:ef7eb2e8f9f7 331 __IO uint8_t LSR;
<> 144:ef7eb2e8f9f7 332 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 333 __IO uint8_t MSR;
<> 144:ef7eb2e8f9f7 334 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 335 __IO uint8_t SCR;
<> 144:ef7eb2e8f9f7 336 uint8_t RESERVED5[3];
<> 144:ef7eb2e8f9f7 337 __IO uint32_t ACR;
<> 144:ef7eb2e8f9f7 338 uint32_t RESERVED6;
<> 144:ef7eb2e8f9f7 339 __IO uint32_t FDR;
<> 144:ef7eb2e8f9f7 340 uint32_t RESERVED7;
<> 144:ef7eb2e8f9f7 341 __IO uint8_t TER;
<> 144:ef7eb2e8f9f7 342 uint8_t RESERVED8[27];
<> 144:ef7eb2e8f9f7 343 __IO uint8_t RS485CTRL;
<> 144:ef7eb2e8f9f7 344 uint8_t RESERVED9[3];
<> 144:ef7eb2e8f9f7 345 __IO uint8_t ADRMATCH;
<> 144:ef7eb2e8f9f7 346 uint8_t RESERVED10[3];
<> 144:ef7eb2e8f9f7 347 __IO uint8_t RS485DLY;
<> 144:ef7eb2e8f9f7 348 } LPC_UART1_TypeDef;
<> 144:ef7eb2e8f9f7 349
<> 144:ef7eb2e8f9f7 350 /*------------- Serial Peripheral Interface (SPI) ----------------------------*/
<> 144:ef7eb2e8f9f7 351 typedef struct
<> 144:ef7eb2e8f9f7 352 {
<> 144:ef7eb2e8f9f7 353 __IO uint32_t SPCR;
<> 144:ef7eb2e8f9f7 354 __I uint32_t SPSR;
<> 144:ef7eb2e8f9f7 355 __IO uint32_t SPDR;
<> 144:ef7eb2e8f9f7 356 __IO uint32_t SPCCR;
<> 144:ef7eb2e8f9f7 357 uint32_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 358 __IO uint32_t SPINT;
<> 144:ef7eb2e8f9f7 359 } LPC_SPI_TypeDef;
<> 144:ef7eb2e8f9f7 360
<> 144:ef7eb2e8f9f7 361 /*------------- Synchronous Serial Communication (SSP) -----------------------*/
<> 144:ef7eb2e8f9f7 362 typedef struct
<> 144:ef7eb2e8f9f7 363 {
<> 144:ef7eb2e8f9f7 364 __IO uint32_t CR0;
<> 144:ef7eb2e8f9f7 365 __IO uint32_t CR1;
<> 144:ef7eb2e8f9f7 366 __IO uint32_t DR;
<> 144:ef7eb2e8f9f7 367 __I uint32_t SR;
<> 144:ef7eb2e8f9f7 368 __IO uint32_t CPSR;
<> 144:ef7eb2e8f9f7 369 __IO uint32_t IMSC;
<> 144:ef7eb2e8f9f7 370 __IO uint32_t RIS;
<> 144:ef7eb2e8f9f7 371 __IO uint32_t MIS;
<> 144:ef7eb2e8f9f7 372 __IO uint32_t ICR;
<> 144:ef7eb2e8f9f7 373 __IO uint32_t DMACR;
<> 144:ef7eb2e8f9f7 374 } LPC_SSP_TypeDef;
<> 144:ef7eb2e8f9f7 375
<> 144:ef7eb2e8f9f7 376 /*------------- Inter-Integrated Circuit (I2C) -------------------------------*/
<> 144:ef7eb2e8f9f7 377 typedef struct
<> 144:ef7eb2e8f9f7 378 {
<> 144:ef7eb2e8f9f7 379 __IO uint32_t I2CONSET;
<> 144:ef7eb2e8f9f7 380 __I uint32_t I2STAT;
<> 144:ef7eb2e8f9f7 381 __IO uint32_t I2DAT;
<> 144:ef7eb2e8f9f7 382 __IO uint32_t I2ADR0;
<> 144:ef7eb2e8f9f7 383 __IO uint32_t I2SCLH;
<> 144:ef7eb2e8f9f7 384 __IO uint32_t I2SCLL;
<> 144:ef7eb2e8f9f7 385 __O uint32_t I2CONCLR;
<> 144:ef7eb2e8f9f7 386 __IO uint32_t MMCTRL;
<> 144:ef7eb2e8f9f7 387 __IO uint32_t I2ADR1;
<> 144:ef7eb2e8f9f7 388 __IO uint32_t I2ADR2;
<> 144:ef7eb2e8f9f7 389 __IO uint32_t I2ADR3;
<> 144:ef7eb2e8f9f7 390 __I uint32_t I2DATA_BUFFER;
<> 144:ef7eb2e8f9f7 391 __IO uint32_t I2MASK0;
<> 144:ef7eb2e8f9f7 392 __IO uint32_t I2MASK1;
<> 144:ef7eb2e8f9f7 393 __IO uint32_t I2MASK2;
<> 144:ef7eb2e8f9f7 394 __IO uint32_t I2MASK3;
<> 144:ef7eb2e8f9f7 395 } LPC_I2C_TypeDef;
<> 144:ef7eb2e8f9f7 396
<> 144:ef7eb2e8f9f7 397 /*------------- Inter IC Sound (I2S) -----------------------------------------*/
<> 144:ef7eb2e8f9f7 398 typedef struct
<> 144:ef7eb2e8f9f7 399 {
<> 144:ef7eb2e8f9f7 400 __IO uint32_t I2SDAO;
<> 144:ef7eb2e8f9f7 401 __I uint32_t I2SDAI;
<> 144:ef7eb2e8f9f7 402 __O uint32_t I2STXFIFO;
<> 144:ef7eb2e8f9f7 403 __I uint32_t I2SRXFIFO;
<> 144:ef7eb2e8f9f7 404 __I uint32_t I2SSTATE;
<> 144:ef7eb2e8f9f7 405 __IO uint32_t I2SDMA1;
<> 144:ef7eb2e8f9f7 406 __IO uint32_t I2SDMA2;
<> 144:ef7eb2e8f9f7 407 __IO uint32_t I2SIRQ;
<> 144:ef7eb2e8f9f7 408 __IO uint32_t I2STXRATE;
<> 144:ef7eb2e8f9f7 409 __IO uint32_t I2SRXRATE;
<> 144:ef7eb2e8f9f7 410 __IO uint32_t I2STXBITRATE;
<> 144:ef7eb2e8f9f7 411 __IO uint32_t I2SRXBITRATE;
<> 144:ef7eb2e8f9f7 412 __IO uint32_t I2STXMODE;
<> 144:ef7eb2e8f9f7 413 __IO uint32_t I2SRXMODE;
<> 144:ef7eb2e8f9f7 414 } LPC_I2S_TypeDef;
<> 144:ef7eb2e8f9f7 415
<> 144:ef7eb2e8f9f7 416 /*------------- Real-Time Clock (RTC) ----------------------------------------*/
<> 144:ef7eb2e8f9f7 417 typedef struct
<> 144:ef7eb2e8f9f7 418 {
<> 144:ef7eb2e8f9f7 419 __IO uint8_t ILR;
<> 144:ef7eb2e8f9f7 420 uint8_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 421 __IO uint8_t CTC;
<> 144:ef7eb2e8f9f7 422 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 423 __IO uint8_t CCR;
<> 144:ef7eb2e8f9f7 424 uint8_t RESERVED2[3];
<> 144:ef7eb2e8f9f7 425 __IO uint8_t CIIR;
<> 144:ef7eb2e8f9f7 426 uint8_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 427 __IO uint8_t AMR;
<> 144:ef7eb2e8f9f7 428 uint8_t RESERVED4[3];
<> 144:ef7eb2e8f9f7 429 __I uint32_t CTIME0;
<> 144:ef7eb2e8f9f7 430 __I uint32_t CTIME1;
<> 144:ef7eb2e8f9f7 431 __I uint32_t CTIME2;
<> 144:ef7eb2e8f9f7 432 __IO uint8_t SEC;
<> 144:ef7eb2e8f9f7 433 uint8_t RESERVED5[3];
<> 144:ef7eb2e8f9f7 434 __IO uint8_t MIN;
<> 144:ef7eb2e8f9f7 435 uint8_t RESERVED6[3];
<> 144:ef7eb2e8f9f7 436 __IO uint8_t HOUR;
<> 144:ef7eb2e8f9f7 437 uint8_t RESERVED7[3];
<> 144:ef7eb2e8f9f7 438 __IO uint8_t DOM;
<> 144:ef7eb2e8f9f7 439 uint8_t RESERVED8[3];
<> 144:ef7eb2e8f9f7 440 __IO uint8_t DOW;
<> 144:ef7eb2e8f9f7 441 uint8_t RESERVED9[3];
<> 144:ef7eb2e8f9f7 442 __IO uint16_t DOY;
<> 144:ef7eb2e8f9f7 443 uint16_t RESERVED10;
<> 144:ef7eb2e8f9f7 444 __IO uint8_t MONTH;
<> 144:ef7eb2e8f9f7 445 uint8_t RESERVED11[3];
<> 144:ef7eb2e8f9f7 446 __IO uint16_t YEAR;
<> 144:ef7eb2e8f9f7 447 uint16_t RESERVED12;
<> 144:ef7eb2e8f9f7 448 __IO uint32_t CALIBRATION;
<> 144:ef7eb2e8f9f7 449 __IO uint32_t GPREG0;
<> 144:ef7eb2e8f9f7 450 __IO uint32_t GPREG1;
<> 144:ef7eb2e8f9f7 451 __IO uint32_t GPREG2;
<> 144:ef7eb2e8f9f7 452 __IO uint32_t GPREG3;
<> 144:ef7eb2e8f9f7 453 __IO uint32_t GPREG4;
<> 144:ef7eb2e8f9f7 454 __IO uint8_t WAKEUPDIS;
<> 144:ef7eb2e8f9f7 455 uint8_t RESERVED13[3];
<> 144:ef7eb2e8f9f7 456 __IO uint8_t PWRCTRL;
<> 144:ef7eb2e8f9f7 457 uint8_t RESERVED14[3];
<> 144:ef7eb2e8f9f7 458 __IO uint8_t ALSEC;
<> 144:ef7eb2e8f9f7 459 uint8_t RESERVED15[3];
<> 144:ef7eb2e8f9f7 460 __IO uint8_t ALMIN;
<> 144:ef7eb2e8f9f7 461 uint8_t RESERVED16[3];
<> 144:ef7eb2e8f9f7 462 __IO uint8_t ALHOUR;
<> 144:ef7eb2e8f9f7 463 uint8_t RESERVED17[3];
<> 144:ef7eb2e8f9f7 464 __IO uint8_t ALDOM;
<> 144:ef7eb2e8f9f7 465 uint8_t RESERVED18[3];
<> 144:ef7eb2e8f9f7 466 __IO uint8_t ALDOW;
<> 144:ef7eb2e8f9f7 467 uint8_t RESERVED19[3];
<> 144:ef7eb2e8f9f7 468 __IO uint16_t ALDOY;
<> 144:ef7eb2e8f9f7 469 uint16_t RESERVED20;
<> 144:ef7eb2e8f9f7 470 __IO uint8_t ALMON;
<> 144:ef7eb2e8f9f7 471 uint8_t RESERVED21[3];
<> 144:ef7eb2e8f9f7 472 __IO uint16_t ALYEAR;
<> 144:ef7eb2e8f9f7 473 uint16_t RESERVED22;
<> 144:ef7eb2e8f9f7 474 } LPC_RTC_TypeDef;
<> 144:ef7eb2e8f9f7 475
<> 144:ef7eb2e8f9f7 476 /*------------- Watchdog Timer (WDT) -----------------------------------------*/
<> 144:ef7eb2e8f9f7 477 typedef struct
<> 144:ef7eb2e8f9f7 478 {
<> 144:ef7eb2e8f9f7 479 __IO uint8_t WDMOD;
<> 144:ef7eb2e8f9f7 480 uint8_t RESERVED0[3];
<> 144:ef7eb2e8f9f7 481 __IO uint32_t WDTC;
<> 144:ef7eb2e8f9f7 482 __O uint8_t WDFEED;
<> 144:ef7eb2e8f9f7 483 uint8_t RESERVED1[3];
<> 144:ef7eb2e8f9f7 484 __I uint32_t WDTV;
<> 144:ef7eb2e8f9f7 485 __IO uint32_t WDCLKSEL;
<> 144:ef7eb2e8f9f7 486 } LPC_WDT_TypeDef;
<> 144:ef7eb2e8f9f7 487
<> 144:ef7eb2e8f9f7 488 /*------------- Analog-to-Digital Converter (ADC) ----------------------------*/
<> 144:ef7eb2e8f9f7 489 typedef struct
<> 144:ef7eb2e8f9f7 490 {
<> 144:ef7eb2e8f9f7 491 __IO uint32_t ADCR;
<> 144:ef7eb2e8f9f7 492 __IO uint32_t ADGDR;
<> 144:ef7eb2e8f9f7 493 uint32_t RESERVED0;
<> 144:ef7eb2e8f9f7 494 __IO uint32_t ADINTEN;
<> 144:ef7eb2e8f9f7 495 __I uint32_t ADDR0;
<> 144:ef7eb2e8f9f7 496 __I uint32_t ADDR1;
<> 144:ef7eb2e8f9f7 497 __I uint32_t ADDR2;
<> 144:ef7eb2e8f9f7 498 __I uint32_t ADDR3;
<> 144:ef7eb2e8f9f7 499 __I uint32_t ADDR4;
<> 144:ef7eb2e8f9f7 500 __I uint32_t ADDR5;
<> 144:ef7eb2e8f9f7 501 __I uint32_t ADDR6;
<> 144:ef7eb2e8f9f7 502 __I uint32_t ADDR7;
<> 144:ef7eb2e8f9f7 503 __I uint32_t ADSTAT;
<> 144:ef7eb2e8f9f7 504 __IO uint32_t ADTRM;
<> 144:ef7eb2e8f9f7 505 } LPC_ADC_TypeDef;
<> 144:ef7eb2e8f9f7 506
<> 144:ef7eb2e8f9f7 507 /*------------- Digital-to-Analog Converter (DAC) ----------------------------*/
<> 144:ef7eb2e8f9f7 508 typedef struct
<> 144:ef7eb2e8f9f7 509 {
<> 144:ef7eb2e8f9f7 510 __IO uint32_t DACR;
<> 144:ef7eb2e8f9f7 511 __IO uint32_t DACCTRL;
<> 144:ef7eb2e8f9f7 512 __IO uint16_t DACCNTVAL;
<> 144:ef7eb2e8f9f7 513 } LPC_DAC_TypeDef;
<> 144:ef7eb2e8f9f7 514
<> 144:ef7eb2e8f9f7 515 /*------------- Multimedia Card Interface (MCI) ------------------------------*/
<> 144:ef7eb2e8f9f7 516 typedef struct
<> 144:ef7eb2e8f9f7 517 {
<> 144:ef7eb2e8f9f7 518 __IO uint32_t MCIPower; /* Power control */
<> 144:ef7eb2e8f9f7 519 __IO uint32_t MCIClock; /* Clock control */
<> 144:ef7eb2e8f9f7 520 __IO uint32_t MCIArgument;
<> 144:ef7eb2e8f9f7 521 __IO uint32_t MMCCommand;
<> 144:ef7eb2e8f9f7 522 __I uint32_t MCIRespCmd;
<> 144:ef7eb2e8f9f7 523 __I uint32_t MCIResponse0;
<> 144:ef7eb2e8f9f7 524 __I uint32_t MCIResponse1;
<> 144:ef7eb2e8f9f7 525 __I uint32_t MCIResponse2;
<> 144:ef7eb2e8f9f7 526 __I uint32_t MCIResponse3;
<> 144:ef7eb2e8f9f7 527 __IO uint32_t MCIDataTimer;
<> 144:ef7eb2e8f9f7 528 __IO uint32_t MCIDataLength;
<> 144:ef7eb2e8f9f7 529 __IO uint32_t MCIDataCtrl;
<> 144:ef7eb2e8f9f7 530 __I uint32_t MCIDataCnt;
<> 144:ef7eb2e8f9f7 531 __I uint32_t MCIStatus;
<> 144:ef7eb2e8f9f7 532 __O uint32_t MCIClear;
<> 144:ef7eb2e8f9f7 533 __IO uint32_t MCIMask0;
<> 144:ef7eb2e8f9f7 534 uint32_t RESERVED1[2];
<> 144:ef7eb2e8f9f7 535 __I uint32_t MCIFifoCnt;
<> 144:ef7eb2e8f9f7 536 uint32_t RESERVED2[13];
<> 144:ef7eb2e8f9f7 537 __IO uint32_t MCIFIFO[16];
<> 144:ef7eb2e8f9f7 538 } LPC_MCI_TypeDef;
<> 144:ef7eb2e8f9f7 539
<> 144:ef7eb2e8f9f7 540 /*------------- Controller Area Network (CAN) --------------------------------*/
<> 144:ef7eb2e8f9f7 541 typedef struct
<> 144:ef7eb2e8f9f7 542 {
<> 144:ef7eb2e8f9f7 543 __IO uint32_t mask[512]; /* ID Masks */
<> 144:ef7eb2e8f9f7 544 } LPC_CANAF_RAM_TypeDef;
<> 144:ef7eb2e8f9f7 545
<> 144:ef7eb2e8f9f7 546 typedef struct /* Acceptance Filter Registers */
<> 144:ef7eb2e8f9f7 547 {
<> 144:ef7eb2e8f9f7 548 __IO uint32_t AFMR;
<> 144:ef7eb2e8f9f7 549 __IO uint32_t SFF_sa;
<> 144:ef7eb2e8f9f7 550 __IO uint32_t SFF_GRP_sa;
<> 144:ef7eb2e8f9f7 551 __IO uint32_t EFF_sa;
<> 144:ef7eb2e8f9f7 552 __IO uint32_t EFF_GRP_sa;
<> 144:ef7eb2e8f9f7 553 __IO uint32_t ENDofTable;
<> 144:ef7eb2e8f9f7 554 __I uint32_t LUTerrAd;
<> 144:ef7eb2e8f9f7 555 __I uint32_t LUTerr;
<> 144:ef7eb2e8f9f7 556 __IO uint32_t FCANIE;
<> 144:ef7eb2e8f9f7 557 __IO uint32_t FCANIC0;
<> 144:ef7eb2e8f9f7 558 __IO uint32_t FCANIC1;
<> 144:ef7eb2e8f9f7 559 } LPC_CANAF_TypeDef;
<> 144:ef7eb2e8f9f7 560
<> 144:ef7eb2e8f9f7 561 typedef struct /* Central Registers */
<> 144:ef7eb2e8f9f7 562 {
<> 144:ef7eb2e8f9f7 563 __I uint32_t CANTxSR;
<> 144:ef7eb2e8f9f7 564 __I uint32_t CANRxSR;
<> 144:ef7eb2e8f9f7 565 __I uint32_t CANMSR;
<> 144:ef7eb2e8f9f7 566 } LPC_CANCR_TypeDef;
<> 144:ef7eb2e8f9f7 567
<> 144:ef7eb2e8f9f7 568 typedef struct /* Controller Registers */
<> 144:ef7eb2e8f9f7 569 {
<> 144:ef7eb2e8f9f7 570 __IO uint32_t MOD;
<> 144:ef7eb2e8f9f7 571 __O uint32_t CMR;
<> 144:ef7eb2e8f9f7 572 __IO uint32_t GSR;
<> 144:ef7eb2e8f9f7 573 __I uint32_t ICR;
<> 144:ef7eb2e8f9f7 574 __IO uint32_t IER;
<> 144:ef7eb2e8f9f7 575 __IO uint32_t BTR;
<> 144:ef7eb2e8f9f7 576 __IO uint32_t EWL;
<> 144:ef7eb2e8f9f7 577 __I uint32_t SR;
<> 144:ef7eb2e8f9f7 578 __IO uint32_t RFS;
<> 144:ef7eb2e8f9f7 579 __IO uint32_t RID;
<> 144:ef7eb2e8f9f7 580 __IO uint32_t RDA;
<> 144:ef7eb2e8f9f7 581 __IO uint32_t RDB;
<> 144:ef7eb2e8f9f7 582 __IO uint32_t TFI1;
<> 144:ef7eb2e8f9f7 583 __IO uint32_t TID1;
<> 144:ef7eb2e8f9f7 584 __IO uint32_t TDA1;
<> 144:ef7eb2e8f9f7 585 __IO uint32_t TDB1;
<> 144:ef7eb2e8f9f7 586 __IO uint32_t TFI2;
<> 144:ef7eb2e8f9f7 587 __IO uint32_t TID2;
<> 144:ef7eb2e8f9f7 588 __IO uint32_t TDA2;
<> 144:ef7eb2e8f9f7 589 __IO uint32_t TDB2;
<> 144:ef7eb2e8f9f7 590 __IO uint32_t TFI3;
<> 144:ef7eb2e8f9f7 591 __IO uint32_t TID3;
<> 144:ef7eb2e8f9f7 592 __IO uint32_t TDA3;
<> 144:ef7eb2e8f9f7 593 __IO uint32_t TDB3;
<> 144:ef7eb2e8f9f7 594 } LPC_CAN_TypeDef;
<> 144:ef7eb2e8f9f7 595
<> 144:ef7eb2e8f9f7 596 /*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/
<> 144:ef7eb2e8f9f7 597 typedef struct /* Common Registers */
<> 144:ef7eb2e8f9f7 598 {
<> 144:ef7eb2e8f9f7 599 __I uint32_t DMACIntStat;
<> 144:ef7eb2e8f9f7 600 __I uint32_t DMACIntTCStat;
<> 144:ef7eb2e8f9f7 601 __O uint32_t DMACIntTCClear;
<> 144:ef7eb2e8f9f7 602 __I uint32_t DMACIntErrStat;
<> 144:ef7eb2e8f9f7 603 __O uint32_t DMACIntErrClr;
<> 144:ef7eb2e8f9f7 604 __I uint32_t DMACRawIntTCStat;
<> 144:ef7eb2e8f9f7 605 __I uint32_t DMACRawIntErrStat;
<> 144:ef7eb2e8f9f7 606 __I uint32_t DMACEnbldChns;
<> 144:ef7eb2e8f9f7 607 __IO uint32_t DMACSoftBReq;
<> 144:ef7eb2e8f9f7 608 __IO uint32_t DMACSoftSReq;
<> 144:ef7eb2e8f9f7 609 __IO uint32_t DMACSoftLBReq;
<> 144:ef7eb2e8f9f7 610 __IO uint32_t DMACSoftLSReq;
<> 144:ef7eb2e8f9f7 611 __IO uint32_t DMACConfig;
<> 144:ef7eb2e8f9f7 612 __IO uint32_t DMACSync;
<> 144:ef7eb2e8f9f7 613 } LPC_GPDMA_TypeDef;
<> 144:ef7eb2e8f9f7 614
<> 144:ef7eb2e8f9f7 615 typedef struct /* Channel Registers */
<> 144:ef7eb2e8f9f7 616 {
<> 144:ef7eb2e8f9f7 617 __IO uint32_t DMACCSrcAddr;
<> 144:ef7eb2e8f9f7 618 __IO uint32_t DMACCDestAddr;
<> 144:ef7eb2e8f9f7 619 __IO uint32_t DMACCLLI;
<> 144:ef7eb2e8f9f7 620 __IO uint32_t DMACCControl;
<> 144:ef7eb2e8f9f7 621 __IO uint32_t DMACCConfig;
<> 144:ef7eb2e8f9f7 622 } LPC_GPDMACH_TypeDef;
<> 144:ef7eb2e8f9f7 623
<> 144:ef7eb2e8f9f7 624 /*------------- Universal Serial Bus (USB) -----------------------------------*/
<> 144:ef7eb2e8f9f7 625 typedef struct
<> 144:ef7eb2e8f9f7 626 {
<> 144:ef7eb2e8f9f7 627 __I uint32_t HcRevision; /* USB Host Registers */
<> 144:ef7eb2e8f9f7 628 __IO uint32_t HcControl;
<> 144:ef7eb2e8f9f7 629 __IO uint32_t HcCommandStatus;
<> 144:ef7eb2e8f9f7 630 __IO uint32_t HcInterruptStatus;
<> 144:ef7eb2e8f9f7 631 __IO uint32_t HcInterruptEnable;
<> 144:ef7eb2e8f9f7 632 __IO uint32_t HcInterruptDisable;
<> 144:ef7eb2e8f9f7 633 __IO uint32_t HcHCCA;
<> 144:ef7eb2e8f9f7 634 __I uint32_t HcPeriodCurrentED;
<> 144:ef7eb2e8f9f7 635 __IO uint32_t HcControlHeadED;
<> 144:ef7eb2e8f9f7 636 __IO uint32_t HcControlCurrentED;
<> 144:ef7eb2e8f9f7 637 __IO uint32_t HcBulkHeadED;
<> 144:ef7eb2e8f9f7 638 __IO uint32_t HcBulkCurrentED;
<> 144:ef7eb2e8f9f7 639 __I uint32_t HcDoneHead;
<> 144:ef7eb2e8f9f7 640 __IO uint32_t HcFmInterval;
<> 144:ef7eb2e8f9f7 641 __I uint32_t HcFmRemaining;
<> 144:ef7eb2e8f9f7 642 __I uint32_t HcFmNumber;
<> 144:ef7eb2e8f9f7 643 __IO uint32_t HcPeriodicStart;
<> 144:ef7eb2e8f9f7 644 __IO uint32_t HcLSTreshold;
<> 144:ef7eb2e8f9f7 645 __IO uint32_t HcRhDescriptorA;
<> 144:ef7eb2e8f9f7 646 __IO uint32_t HcRhDescriptorB;
<> 144:ef7eb2e8f9f7 647 __IO uint32_t HcRhStatus;
<> 144:ef7eb2e8f9f7 648 __IO uint32_t HcRhPortStatus1;
<> 144:ef7eb2e8f9f7 649 __IO uint32_t HcRhPortStatus2;
<> 144:ef7eb2e8f9f7 650 uint32_t RESERVED0[40];
<> 144:ef7eb2e8f9f7 651 __I uint32_t Module_ID;
<> 144:ef7eb2e8f9f7 652
<> 144:ef7eb2e8f9f7 653 __I uint32_t OTGIntSt; /* USB On-The-Go Registers */
<> 144:ef7eb2e8f9f7 654 __IO uint32_t OTGIntEn;
<> 144:ef7eb2e8f9f7 655 __O uint32_t OTGIntSet;
<> 144:ef7eb2e8f9f7 656 __O uint32_t OTGIntClr;
<> 144:ef7eb2e8f9f7 657 __IO uint32_t OTGStCtrl;
<> 144:ef7eb2e8f9f7 658 __IO uint32_t OTGTmr;
<> 144:ef7eb2e8f9f7 659 uint32_t RESERVED1[58];
<> 144:ef7eb2e8f9f7 660
<> 144:ef7eb2e8f9f7 661 __I uint32_t USBDevIntSt; /* USB Device Interrupt Registers */
<> 144:ef7eb2e8f9f7 662 __IO uint32_t USBDevIntEn;
<> 144:ef7eb2e8f9f7 663 __O uint32_t USBDevIntClr;
<> 144:ef7eb2e8f9f7 664 __O uint32_t USBDevIntSet;
<> 144:ef7eb2e8f9f7 665
<> 144:ef7eb2e8f9f7 666 __O uint32_t USBCmdCode; /* USB Device SIE Command Registers */
<> 144:ef7eb2e8f9f7 667 __I uint32_t USBCmdData;
<> 144:ef7eb2e8f9f7 668
<> 144:ef7eb2e8f9f7 669 __I uint32_t USBRxData; /* USB Device Transfer Registers */
<> 144:ef7eb2e8f9f7 670 __O uint32_t USBTxData;
<> 144:ef7eb2e8f9f7 671 __I uint32_t USBRxPLen;
<> 144:ef7eb2e8f9f7 672 __O uint32_t USBTxPLen;
<> 144:ef7eb2e8f9f7 673 __IO uint32_t USBCtrl;
<> 144:ef7eb2e8f9f7 674 __O uint32_t USBDevIntPri;
<> 144:ef7eb2e8f9f7 675
<> 144:ef7eb2e8f9f7 676 __I uint32_t USBEpIntSt; /* USB Device Endpoint Interrupt Regs */
<> 144:ef7eb2e8f9f7 677 __IO uint32_t USBEpIntEn;
<> 144:ef7eb2e8f9f7 678 __O uint32_t USBEpIntClr;
<> 144:ef7eb2e8f9f7 679 __O uint32_t USBEpIntSet;
<> 144:ef7eb2e8f9f7 680 __O uint32_t USBEpIntPri;
<> 144:ef7eb2e8f9f7 681
<> 144:ef7eb2e8f9f7 682 __IO uint32_t USBReEp; /* USB Device Endpoint Realization Reg*/
<> 144:ef7eb2e8f9f7 683 __O uint32_t USBEpInd;
<> 144:ef7eb2e8f9f7 684 __IO uint32_t USBMaxPSize;
<> 144:ef7eb2e8f9f7 685
<> 144:ef7eb2e8f9f7 686 __I uint32_t USBDMARSt; /* USB Device DMA Registers */
<> 144:ef7eb2e8f9f7 687 __O uint32_t USBDMARClr;
<> 144:ef7eb2e8f9f7 688 __O uint32_t USBDMARSet;
<> 144:ef7eb2e8f9f7 689 uint32_t RESERVED2[9];
<> 144:ef7eb2e8f9f7 690 __IO uint32_t USBUDCAH;
<> 144:ef7eb2e8f9f7 691 __I uint32_t USBEpDMASt;
<> 144:ef7eb2e8f9f7 692 __O uint32_t USBEpDMAEn;
<> 144:ef7eb2e8f9f7 693 __O uint32_t USBEpDMADis;
<> 144:ef7eb2e8f9f7 694 __I uint32_t USBDMAIntSt;
<> 144:ef7eb2e8f9f7 695 __IO uint32_t USBDMAIntEn;
<> 144:ef7eb2e8f9f7 696 uint32_t RESERVED3[2];
<> 144:ef7eb2e8f9f7 697 __I uint32_t USBEoTIntSt;
<> 144:ef7eb2e8f9f7 698 __O uint32_t USBEoTIntClr;
<> 144:ef7eb2e8f9f7 699 __O uint32_t USBEoTIntSet;
<> 144:ef7eb2e8f9f7 700 __I uint32_t USBNDDRIntSt;
<> 144:ef7eb2e8f9f7 701 __O uint32_t USBNDDRIntClr;
<> 144:ef7eb2e8f9f7 702 __O uint32_t USBNDDRIntSet;
<> 144:ef7eb2e8f9f7 703 __I uint32_t USBSysErrIntSt;
<> 144:ef7eb2e8f9f7 704 __O uint32_t USBSysErrIntClr;
<> 144:ef7eb2e8f9f7 705 __O uint32_t USBSysErrIntSet;
<> 144:ef7eb2e8f9f7 706 uint32_t RESERVED4[15];
<> 144:ef7eb2e8f9f7 707
<> 144:ef7eb2e8f9f7 708 __I uint32_t I2C_RX; /* USB OTG I2C Registers */
<> 144:ef7eb2e8f9f7 709 __O uint32_t I2C_WO;
<> 144:ef7eb2e8f9f7 710 __I uint32_t I2C_STS;
<> 144:ef7eb2e8f9f7 711 __IO uint32_t I2C_CTL;
<> 144:ef7eb2e8f9f7 712 __IO uint32_t I2C_CLKHI;
<> 144:ef7eb2e8f9f7 713 __O uint32_t I2C_CLKLO;
<> 144:ef7eb2e8f9f7 714 uint32_t RESERVED5[823];
<> 144:ef7eb2e8f9f7 715
<> 144:ef7eb2e8f9f7 716 union {
<> 144:ef7eb2e8f9f7 717 __IO uint32_t USBClkCtrl; /* USB Clock Control Registers */
<> 144:ef7eb2e8f9f7 718 __IO uint32_t OTGClkCtrl;
<> 144:ef7eb2e8f9f7 719 };
<> 144:ef7eb2e8f9f7 720 union {
<> 144:ef7eb2e8f9f7 721 __I uint32_t USBClkSt;
<> 144:ef7eb2e8f9f7 722 __I uint32_t OTGClkSt;
<> 144:ef7eb2e8f9f7 723 };
<> 144:ef7eb2e8f9f7 724 } LPC_USB_TypeDef;
<> 144:ef7eb2e8f9f7 725
<> 144:ef7eb2e8f9f7 726 /*------------- Ethernet Media Access Controller (EMAC) ----------------------*/
<> 144:ef7eb2e8f9f7 727 typedef struct
<> 144:ef7eb2e8f9f7 728 {
<> 144:ef7eb2e8f9f7 729 __IO uint32_t MAC1; /* MAC Registers */
<> 144:ef7eb2e8f9f7 730 __IO uint32_t MAC2;
<> 144:ef7eb2e8f9f7 731 __IO uint32_t IPGT;
<> 144:ef7eb2e8f9f7 732 __IO uint32_t IPGR;
<> 144:ef7eb2e8f9f7 733 __IO uint32_t CLRT;
<> 144:ef7eb2e8f9f7 734 __IO uint32_t MAXF;
<> 144:ef7eb2e8f9f7 735 __IO uint32_t SUPP;
<> 144:ef7eb2e8f9f7 736 __IO uint32_t TEST;
<> 144:ef7eb2e8f9f7 737 __IO uint32_t MCFG;
<> 144:ef7eb2e8f9f7 738 __IO uint32_t MCMD;
<> 144:ef7eb2e8f9f7 739 __IO uint32_t MADR;
<> 144:ef7eb2e8f9f7 740 __O uint32_t MWTD;
<> 144:ef7eb2e8f9f7 741 __I uint32_t MRDD;
<> 144:ef7eb2e8f9f7 742 __I uint32_t MIND;
<> 144:ef7eb2e8f9f7 743 uint32_t RESERVED0[2];
<> 144:ef7eb2e8f9f7 744 __IO uint32_t SA0;
<> 144:ef7eb2e8f9f7 745 __IO uint32_t SA1;
<> 144:ef7eb2e8f9f7 746 __IO uint32_t SA2;
<> 144:ef7eb2e8f9f7 747 uint32_t RESERVED1[45];
<> 144:ef7eb2e8f9f7 748 __IO uint32_t Command; /* Control Registers */
<> 144:ef7eb2e8f9f7 749 __I uint32_t Status;
<> 144:ef7eb2e8f9f7 750 __IO uint32_t RxDescriptor;
<> 144:ef7eb2e8f9f7 751 __IO uint32_t RxStatus;
<> 144:ef7eb2e8f9f7 752 __IO uint32_t RxDescriptorNumber;
<> 144:ef7eb2e8f9f7 753 __I uint32_t RxProduceIndex;
<> 144:ef7eb2e8f9f7 754 __IO uint32_t RxConsumeIndex;
<> 144:ef7eb2e8f9f7 755 __IO uint32_t TxDescriptor;
<> 144:ef7eb2e8f9f7 756 __IO uint32_t TxStatus;
<> 144:ef7eb2e8f9f7 757 __IO uint32_t TxDescriptorNumber;
<> 144:ef7eb2e8f9f7 758 __IO uint32_t TxProduceIndex;
<> 144:ef7eb2e8f9f7 759 __I uint32_t TxConsumeIndex;
<> 144:ef7eb2e8f9f7 760 uint32_t RESERVED2[10];
<> 144:ef7eb2e8f9f7 761 __I uint32_t TSV0;
<> 144:ef7eb2e8f9f7 762 __I uint32_t TSV1;
<> 144:ef7eb2e8f9f7 763 __I uint32_t RSV;
<> 144:ef7eb2e8f9f7 764 uint32_t RESERVED3[3];
<> 144:ef7eb2e8f9f7 765 __IO uint32_t FlowControlCounter;
<> 144:ef7eb2e8f9f7 766 __I uint32_t FlowControlStatus;
<> 144:ef7eb2e8f9f7 767 uint32_t RESERVED4[34];
<> 144:ef7eb2e8f9f7 768 __IO uint32_t RxFilterCtrl; /* Rx Filter Registers */
<> 144:ef7eb2e8f9f7 769 __IO uint32_t RxFilterWoLStatus;
<> 144:ef7eb2e8f9f7 770 __IO uint32_t RxFilterWoLClear;
<> 144:ef7eb2e8f9f7 771 uint32_t RESERVED5;
<> 144:ef7eb2e8f9f7 772 __IO uint32_t HashFilterL;
<> 144:ef7eb2e8f9f7 773 __IO uint32_t HashFilterH;
<> 144:ef7eb2e8f9f7 774 uint32_t RESERVED6[882];
<> 144:ef7eb2e8f9f7 775 __I uint32_t IntStatus; /* Module Control Registers */
<> 144:ef7eb2e8f9f7 776 __IO uint32_t IntEnable;
<> 144:ef7eb2e8f9f7 777 __O uint32_t IntClear;
<> 144:ef7eb2e8f9f7 778 __O uint32_t IntSet;
<> 144:ef7eb2e8f9f7 779 uint32_t RESERVED7;
<> 144:ef7eb2e8f9f7 780 __IO uint32_t PowerDown;
<> 144:ef7eb2e8f9f7 781 uint32_t RESERVED8;
<> 144:ef7eb2e8f9f7 782 __IO uint32_t Module_ID;
<> 144:ef7eb2e8f9f7 783 } LPC_EMAC_TypeDef;
<> 144:ef7eb2e8f9f7 784
<> 144:ef7eb2e8f9f7 785 /*-------------------- External Memory Controller (EMC) ----------------------*/
<> 144:ef7eb2e8f9f7 786 typedef struct
<> 144:ef7eb2e8f9f7 787 {
<> 144:ef7eb2e8f9f7 788 __IO uint32_t EMCControl;
<> 144:ef7eb2e8f9f7 789 __I uint32_t EMCStatus;
<> 144:ef7eb2e8f9f7 790 __IO uint32_t EMCConfig;
<> 144:ef7eb2e8f9f7 791 uint32_t RESERVED1[5];
<> 144:ef7eb2e8f9f7 792 __IO uint32_t EMCDynamicControl;
<> 144:ef7eb2e8f9f7 793 __IO uint32_t EMCDynamicRefresh;
<> 144:ef7eb2e8f9f7 794 __IO uint32_t EMCDynamicReadConfig;
<> 144:ef7eb2e8f9f7 795 uint32_t RESERVED2;
<> 144:ef7eb2e8f9f7 796 __IO uint32_t EMCDynamicRP;
<> 144:ef7eb2e8f9f7 797 __IO uint32_t EMCDynamicRAS;
<> 144:ef7eb2e8f9f7 798 __IO uint32_t EMCDynamicSREX;
<> 144:ef7eb2e8f9f7 799 __IO uint32_t EMCDynamicAPR;
<> 144:ef7eb2e8f9f7 800 __IO uint32_t EMCDynamicDAL;
<> 144:ef7eb2e8f9f7 801 __IO uint32_t EMCDynamicWR;
<> 144:ef7eb2e8f9f7 802 __IO uint32_t EMCDynamicRC;
<> 144:ef7eb2e8f9f7 803 __IO uint32_t EMCDynamicRFC;
<> 144:ef7eb2e8f9f7 804 __IO uint32_t EMCDynamicXSR;
<> 144:ef7eb2e8f9f7 805 __IO uint32_t EMCDynamicRRD;
<> 144:ef7eb2e8f9f7 806 __IO uint32_t EMCDynamicMRD;
<> 144:ef7eb2e8f9f7 807 uint32_t RESERVED3[9];
<> 144:ef7eb2e8f9f7 808 __IO uint32_t EMCStaticExtendedWait;
<> 144:ef7eb2e8f9f7 809 uint32_t RESERVED4[31];
<> 144:ef7eb2e8f9f7 810 __IO uint32_t EMCDynamicConfig0;
<> 144:ef7eb2e8f9f7 811 __IO uint32_t EMCDynamicRasCas0;
<> 144:ef7eb2e8f9f7 812 uint32_t RESERVED5[6];
<> 144:ef7eb2e8f9f7 813 __IO uint32_t EMCDynamicConfig1;
<> 144:ef7eb2e8f9f7 814 __IO uint32_t EMCDynamicRasCas1;
<> 144:ef7eb2e8f9f7 815 uint32_t RESERVED6[6];
<> 144:ef7eb2e8f9f7 816 __IO uint32_t EMCDynamicConfic2;
<> 144:ef7eb2e8f9f7 817 __IO uint32_t EMCDynamicRasCas2;
<> 144:ef7eb2e8f9f7 818 uint32_t RESERVED7[6];
<> 144:ef7eb2e8f9f7 819 __IO uint32_t EMCDynamicConfig3;
<> 144:ef7eb2e8f9f7 820 __IO uint32_t EMCDynamicRasCas3;
<> 144:ef7eb2e8f9f7 821 uint32_t RESERVED8[38];
<> 144:ef7eb2e8f9f7 822 __IO uint32_t EMCStaticConfig0;
<> 144:ef7eb2e8f9f7 823 __IO uint32_t EMCStaticWaitWen0;
<> 144:ef7eb2e8f9f7 824 __IO uint32_t EMCStaticWaitOen0;
<> 144:ef7eb2e8f9f7 825 __IO uint32_t EMCStaticWaitRd0;
<> 144:ef7eb2e8f9f7 826 __IO uint32_t EMCStaticWaitPage0;
<> 144:ef7eb2e8f9f7 827 __IO uint32_t EMCStaticWaitWr0;
<> 144:ef7eb2e8f9f7 828 __IO uint32_t EMCStaticWaitTurn0;
<> 144:ef7eb2e8f9f7 829 uint32_t RESERVED9;
<> 144:ef7eb2e8f9f7 830 __IO uint32_t EMCStaticConfig1;
<> 144:ef7eb2e8f9f7 831 __IO uint32_t EMCStaticWaitWen1;
<> 144:ef7eb2e8f9f7 832 __IO uint32_t EMCStaticWaitOen1;
<> 144:ef7eb2e8f9f7 833 __IO uint32_t EMCStaticWaitRd1;
<> 144:ef7eb2e8f9f7 834 __IO uint32_t EMCStaticWaitPage1;
<> 144:ef7eb2e8f9f7 835 __IO uint32_t EMCStaticWaitWr1;
<> 144:ef7eb2e8f9f7 836 __IO uint32_t EMCStaticWaitTurn1;
<> 144:ef7eb2e8f9f7 837 uint32_t RESERVED10;
<> 144:ef7eb2e8f9f7 838 __IO uint32_t EMCStaticConfig2;
<> 144:ef7eb2e8f9f7 839 __IO uint32_t EMCStaticWaitWen2;
<> 144:ef7eb2e8f9f7 840 __IO uint32_t EMCStaticWaitOen2;
<> 144:ef7eb2e8f9f7 841 __IO uint32_t EMCStaticWaitRd2;
<> 144:ef7eb2e8f9f7 842 __IO uint32_t EMCStaticWaitPage2;
<> 144:ef7eb2e8f9f7 843 __IO uint32_t EMCStaticWaitWr2;
<> 144:ef7eb2e8f9f7 844 __IO uint32_t EMCStaticWaitTurn2;
<> 144:ef7eb2e8f9f7 845 uint32_t RESERVED11;
<> 144:ef7eb2e8f9f7 846 __IO uint32_t EMCStaticConfig3;
<> 144:ef7eb2e8f9f7 847 __IO uint32_t EMCStaticWaitWen3;
<> 144:ef7eb2e8f9f7 848 __IO uint32_t EMCStaticWaitOen3;
<> 144:ef7eb2e8f9f7 849 __IO uint32_t EMCStaticWaitRd3;
<> 144:ef7eb2e8f9f7 850 __IO uint32_t EMCStaticWaitPage3;
<> 144:ef7eb2e8f9f7 851 __IO uint32_t EMCStaticWaitWr3;
<> 144:ef7eb2e8f9f7 852 __IO uint32_t EMCStaticWaitTurn3;
<> 144:ef7eb2e8f9f7 853 } LPC_EMC_TypeDef;
<> 144:ef7eb2e8f9f7 854 #if defined ( __CC_ARM )
<> 144:ef7eb2e8f9f7 855 #pragma no_anon_unions
<> 144:ef7eb2e8f9f7 856 #endif
<> 144:ef7eb2e8f9f7 857
<> 144:ef7eb2e8f9f7 858 /******************************************************************************/
<> 144:ef7eb2e8f9f7 859 /* Peripheral memory map */
<> 144:ef7eb2e8f9f7 860 /******************************************************************************/
<> 144:ef7eb2e8f9f7 861 /* Base addresses */
<> 144:ef7eb2e8f9f7 862
<> 144:ef7eb2e8f9f7 863 /* AHB Peripheral # 0 */
<> 144:ef7eb2e8f9f7 864
<> 144:ef7eb2e8f9f7 865 /*
<> 144:ef7eb2e8f9f7 866 #define FLASH_BASE (0x00000000UL)
<> 144:ef7eb2e8f9f7 867 #define RAM_BASE (0x10000000UL)
<> 144:ef7eb2e8f9f7 868 #define GPIO_BASE (0x2009C000UL)
<> 144:ef7eb2e8f9f7 869 #define APB0_BASE (0x40000000UL)
<> 144:ef7eb2e8f9f7 870 #define APB1_BASE (0x40080000UL)
<> 144:ef7eb2e8f9f7 871 #define AHB_BASE (0x50000000UL)
<> 144:ef7eb2e8f9f7 872 #define CM3_BASE (0xE0000000UL)
<> 144:ef7eb2e8f9f7 873 */
<> 144:ef7eb2e8f9f7 874
<> 144:ef7eb2e8f9f7 875 // TODO - #define VIC_BASE_ADDR 0xFFFFF000
<> 144:ef7eb2e8f9f7 876
<> 144:ef7eb2e8f9f7 877 #define LPC_WDT_BASE (0xE0000000)
<> 144:ef7eb2e8f9f7 878 #define LPC_TIM0_BASE (0xE0004000)
<> 144:ef7eb2e8f9f7 879 #define LPC_TIM1_BASE (0xE0008000)
<> 144:ef7eb2e8f9f7 880 #define LPC_UART0_BASE (0xE000C000)
<> 144:ef7eb2e8f9f7 881 #define LPC_UART1_BASE (0xE0010000)
<> 144:ef7eb2e8f9f7 882 #define LPC_PWM1_BASE (0xE0018000)
<> 144:ef7eb2e8f9f7 883 #define LPC_I2C0_BASE (0xE001C000)
<> 144:ef7eb2e8f9f7 884 #define LPC_SPI_BASE (0xE0020000)
<> 144:ef7eb2e8f9f7 885 #define LPC_RTC_BASE (0xE0024000)
<> 144:ef7eb2e8f9f7 886 #define LPC_GPIOINT_BASE (0xE0028080)
<> 144:ef7eb2e8f9f7 887 #define LPC_PINCON_BASE (0xE002C000)
<> 144:ef7eb2e8f9f7 888 #define LPC_SSP1_BASE (0xE0030000)
<> 144:ef7eb2e8f9f7 889 #define LPC_ADC_BASE (0xE0034000)
<> 144:ef7eb2e8f9f7 890 #define LPC_CANAF_RAM_BASE (0xE0038000)
<> 144:ef7eb2e8f9f7 891 #define LPC_CANAF_BASE (0xE003C000)
<> 144:ef7eb2e8f9f7 892 #define LPC_CANCR_BASE (0xE0040000)
<> 144:ef7eb2e8f9f7 893 #define LPC_CAN1_BASE (0xE0044000)
<> 144:ef7eb2e8f9f7 894 #define LPC_CAN2_BASE (0xE0048000)
<> 144:ef7eb2e8f9f7 895 #define LPC_I2C1_BASE (0xE005C000)
<> 144:ef7eb2e8f9f7 896 #define LPC_SSP0_BASE (0xE0068000)
<> 144:ef7eb2e8f9f7 897 #define LPC_DAC_BASE (0xE006C000)
<> 144:ef7eb2e8f9f7 898 #define LPC_TIM2_BASE (0xE0070000)
<> 144:ef7eb2e8f9f7 899 #define LPC_TIM3_BASE (0xE0074000)
<> 144:ef7eb2e8f9f7 900 #define LPC_UART2_BASE (0xE0078000)
<> 144:ef7eb2e8f9f7 901 #define LPC_UART3_BASE (0xE007C000)
<> 144:ef7eb2e8f9f7 902 #define LPC_I2C2_BASE (0xE0080000)
<> 144:ef7eb2e8f9f7 903 #define LPC_I2S_BASE (0xE0088000)
<> 144:ef7eb2e8f9f7 904 #define LPC_MCI_BASE (0xE008C000)
<> 144:ef7eb2e8f9f7 905 #define LPC_SC_BASE (0xE01FC000)
<> 144:ef7eb2e8f9f7 906 #define LPC_EMAC_BASE (0xFFE00000)
<> 144:ef7eb2e8f9f7 907 #define LPC_GPDMA_BASE (0xFFE04000)
<> 144:ef7eb2e8f9f7 908 #define LPC_GPDMACH0_BASE (0xFFE04100)
<> 144:ef7eb2e8f9f7 909 #define LPC_GPDMACH1_BASE (0xFFE04120)
<> 144:ef7eb2e8f9f7 910 #define LPC_EMC_BASE (0xFFE08000)
<> 144:ef7eb2e8f9f7 911 #define LPC_USB_BASE (0xFFE0C000)
<> 144:ef7eb2e8f9f7 912 #define LPC_VIC_BASE (0xFFFFF000)
<> 144:ef7eb2e8f9f7 913
<> 144:ef7eb2e8f9f7 914 /* GPIOs */
<> 144:ef7eb2e8f9f7 915 #define LPC_GPIO0_BASE (0x3FFFC000)
<> 144:ef7eb2e8f9f7 916 #define LPC_GPIO1_BASE (0x3FFFC020)
<> 144:ef7eb2e8f9f7 917 #define LPC_GPIO2_BASE (0x3FFFC040)
<> 144:ef7eb2e8f9f7 918 #define LPC_GPIO3_BASE (0x3FFFC060)
<> 144:ef7eb2e8f9f7 919 #define LPC_GPIO4_BASE (0x3FFFC080)
<> 144:ef7eb2e8f9f7 920
<> 144:ef7eb2e8f9f7 921
<> 144:ef7eb2e8f9f7 922 /******************************************************************************/
<> 144:ef7eb2e8f9f7 923 /* Peripheral declaration */
<> 144:ef7eb2e8f9f7 924 /******************************************************************************/
<> 144:ef7eb2e8f9f7 925 #define LPC_SC (( LPC_SC_TypeDef *) LPC_SC_BASE)
<> 144:ef7eb2e8f9f7 926 #define LPC_GPIO0 (( LPC_GPIO_TypeDef *) LPC_GPIO0_BASE)
<> 144:ef7eb2e8f9f7 927 #define LPC_GPIO1 (( LPC_GPIO_TypeDef *) LPC_GPIO1_BASE)
<> 144:ef7eb2e8f9f7 928 #define LPC_GPIO2 (( LPC_GPIO_TypeDef *) LPC_GPIO2_BASE)
<> 144:ef7eb2e8f9f7 929 #define LPC_GPIO3 (( LPC_GPIO_TypeDef *) LPC_GPIO3_BASE)
<> 144:ef7eb2e8f9f7 930 #define LPC_GPIO4 (( LPC_GPIO_TypeDef *) LPC_GPIO4_BASE)
<> 144:ef7eb2e8f9f7 931 #define LPC_WDT (( LPC_WDT_TypeDef *) LPC_WDT_BASE)
<> 144:ef7eb2e8f9f7 932 #define LPC_TIM0 (( LPC_TIM_TypeDef *) LPC_TIM0_BASE)
<> 144:ef7eb2e8f9f7 933 #define LPC_TIM1 (( LPC_TIM_TypeDef *) LPC_TIM1_BASE)
<> 144:ef7eb2e8f9f7 934 #define LPC_TIM2 (( LPC_TIM_TypeDef *) LPC_TIM2_BASE)
<> 144:ef7eb2e8f9f7 935 #define LPC_TIM3 (( LPC_TIM_TypeDef *) LPC_TIM3_BASE)
<> 144:ef7eb2e8f9f7 936 #define LPC_UART0 (( LPC_UART_TypeDef *) LPC_UART0_BASE)
<> 144:ef7eb2e8f9f7 937 #define LPC_UART1 (( LPC_UART1_TypeDef *) LPC_UART1_BASE)
<> 144:ef7eb2e8f9f7 938 #define LPC_UART2 (( LPC_UART_TypeDef *) LPC_UART2_BASE)
<> 144:ef7eb2e8f9f7 939 #define LPC_UART3 (( LPC_UART_TypeDef *) LPC_UART3_BASE)
<> 144:ef7eb2e8f9f7 940 #define LPC_PWM1 (( LPC_PWM_TypeDef *) LPC_PWM1_BASE)
<> 144:ef7eb2e8f9f7 941 #define LPC_I2C0 (( LPC_I2C_TypeDef *) LPC_I2C0_BASE)
<> 144:ef7eb2e8f9f7 942 #define LPC_I2C1 (( LPC_I2C_TypeDef *) LPC_I2C1_BASE)
<> 144:ef7eb2e8f9f7 943 #define LPC_I2C2 (( LPC_I2C_TypeDef *) LPC_I2C2_BASE)
<> 144:ef7eb2e8f9f7 944 #define LPC_I2S (( LPC_I2S_TypeDef *) LPC_I2S_BASE)
<> 144:ef7eb2e8f9f7 945 #define LPC_SPI (( LPC_SPI_TypeDef *) LPC_SPI_BASE)
<> 144:ef7eb2e8f9f7 946 #define LPC_RTC (( LPC_RTC_TypeDef *) LPC_RTC_BASE)
<> 144:ef7eb2e8f9f7 947 #define LPC_GPIOINT (( LPC_GPIOINT_TypeDef *) LPC_GPIOINT_BASE)
<> 144:ef7eb2e8f9f7 948 #define LPC_PINCON (( LPC_PINCON_TypeDef *) LPC_PINCON_BASE)
<> 144:ef7eb2e8f9f7 949 #define LPC_SSP0 (( LPC_SSP_TypeDef *) LPC_SSP0_BASE)
<> 144:ef7eb2e8f9f7 950 #define LPC_SSP1 (( LPC_SSP_TypeDef *) LPC_SSP1_BASE)
<> 144:ef7eb2e8f9f7 951 #define LPC_ADC (( LPC_ADC_TypeDef *) LPC_ADC_BASE)
<> 144:ef7eb2e8f9f7 952 #define LPC_DAC (( LPC_DAC_TypeDef *) LPC_DAC_BASE)
<> 144:ef7eb2e8f9f7 953 #define LPC_CANAF_RAM ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE)
<> 144:ef7eb2e8f9f7 954 #define LPC_CANAF (( LPC_CANAF_TypeDef *) LPC_CANAF_BASE)
<> 144:ef7eb2e8f9f7 955 #define LPC_CANCR (( LPC_CANCR_TypeDef *) LPC_CANCR_BASE)
<> 144:ef7eb2e8f9f7 956 #define LPC_CAN1 (( LPC_CAN_TypeDef *) LPC_CAN1_BASE)
<> 144:ef7eb2e8f9f7 957 #define LPC_CAN2 (( LPC_CAN_TypeDef *) LPC_CAN2_BASE)
<> 144:ef7eb2e8f9f7 958 #define LPC_MCI (( LPC_MCI_TypeDef *) LPC_MCI_BASE)
<> 144:ef7eb2e8f9f7 959 #define LPC_EMAC (( LPC_EMAC_TypeDef *) LPC_EMAC_BASE)
<> 144:ef7eb2e8f9f7 960 #define LPC_GPDMA (( LPC_GPDMA_TypeDef *) LPC_GPDMA_BASE)
<> 144:ef7eb2e8f9f7 961 #define LPC_GPDMACH0 (( LPC_GPDMACH_TypeDef *) LPC_GPDMACH0_BASE)
<> 144:ef7eb2e8f9f7 962 #define LPC_GPDMACH1 (( LPC_GPDMACH_TypeDef *) LPC_GPDMACH1_BASE)
<> 144:ef7eb2e8f9f7 963 #define LPC_USB (( LPC_USB_TypeDef *) LPC_USB_BASE)
<> 144:ef7eb2e8f9f7 964 #define LPC_VIC (( LPC_VIC_TypeDef *) LPC_VIC_BASE)
<> 144:ef7eb2e8f9f7 965 #define LPC_EMC (( LPC_EMC_TypeDef *) LPC_EMC_BASE)
<> 144:ef7eb2e8f9f7 966
<> 144:ef7eb2e8f9f7 967 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 968 }
<> 144:ef7eb2e8f9f7 969 #endif
<> 144:ef7eb2e8f9f7 970
<> 144:ef7eb2e8f9f7 971 #endif // __LPC24xx_H
<> 144:ef7eb2e8f9f7 972