forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Wed Feb 03 10:44:42 2016 +0300
Revision:
23:12e6183f04d4
[thyz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kovalev_D 23:12e6183f04d4 1 /**************************************************************************//**
Kovalev_D 23:12e6183f04d4 2 * @file LPC17xx.h
Kovalev_D 23:12e6183f04d4 3 * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for
Kovalev_D 23:12e6183f04d4 4 * NXP LPC17xx Device Series
Kovalev_D 23:12e6183f04d4 5 * @version V1.07
Kovalev_D 23:12e6183f04d4 6 * @date 19. October 2009
Kovalev_D 23:12e6183f04d4 7 *
Kovalev_D 23:12e6183f04d4 8 * @note
Kovalev_D 23:12e6183f04d4 9 * Copyright (C) 2009 ARM Limited. All rights reserved.
Kovalev_D 23:12e6183f04d4 10 *
Kovalev_D 23:12e6183f04d4 11 * @par
Kovalev_D 23:12e6183f04d4 12 * ARM Limited (ARM) is supplying this software for use with Cortex-M
Kovalev_D 23:12e6183f04d4 13 * processor based microcontrollers. This file can be freely distributed
Kovalev_D 23:12e6183f04d4 14 * within development tools that are supporting such ARM based processors.
Kovalev_D 23:12e6183f04d4 15 *
Kovalev_D 23:12e6183f04d4 16 * @par
Kovalev_D 23:12e6183f04d4 17 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
Kovalev_D 23:12e6183f04d4 18 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
Kovalev_D 23:12e6183f04d4 19 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
Kovalev_D 23:12e6183f04d4 20 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
Kovalev_D 23:12e6183f04d4 21 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
Kovalev_D 23:12e6183f04d4 22 *
Kovalev_D 23:12e6183f04d4 23 ******************************************************************************/
Kovalev_D 23:12e6183f04d4 24
Kovalev_D 23:12e6183f04d4 25
Kovalev_D 23:12e6183f04d4 26 #ifndef __LPC17xx_H__
Kovalev_D 23:12e6183f04d4 27 #define __LPC17xx_H__
Kovalev_D 23:12e6183f04d4 28
Kovalev_D 23:12e6183f04d4 29 /*
Kovalev_D 23:12e6183f04d4 30 * ==========================================================================
Kovalev_D 23:12e6183f04d4 31 * ---------- Interrupt Number Definition -----------------------------------
Kovalev_D 23:12e6183f04d4 32 * ==========================================================================
Kovalev_D 23:12e6183f04d4 33 */
Kovalev_D 23:12e6183f04d4 34
Kovalev_D 23:12e6183f04d4 35 typedef enum IRQn
Kovalev_D 23:12e6183f04d4 36 {
Kovalev_D 23:12e6183f04d4 37 /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/
Kovalev_D 23:12e6183f04d4 38 NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
Kovalev_D 23:12e6183f04d4 39 MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
Kovalev_D 23:12e6183f04d4 40 BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
Kovalev_D 23:12e6183f04d4 41 UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
Kovalev_D 23:12e6183f04d4 42 SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
Kovalev_D 23:12e6183f04d4 43 DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
Kovalev_D 23:12e6183f04d4 44 PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
Kovalev_D 23:12e6183f04d4 45 SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
Kovalev_D 23:12e6183f04d4 46
Kovalev_D 23:12e6183f04d4 47 /****** LPC17xx Specific Interrupt Numbers *******************************************************/
Kovalev_D 23:12e6183f04d4 48 WDT_IRQn = 0, /*!< Watchdog Timer Interrupt */
Kovalev_D 23:12e6183f04d4 49 TIMER0_IRQn = 1, /*!< Timer0 Interrupt */
Kovalev_D 23:12e6183f04d4 50 TIMER1_IRQn = 2, /*!< Timer1 Interrupt */
Kovalev_D 23:12e6183f04d4 51 TIMER2_IRQn = 3, /*!< Timer2 Interrupt */
Kovalev_D 23:12e6183f04d4 52 TIMER3_IRQn = 4, /*!< Timer3 Interrupt */
Kovalev_D 23:12e6183f04d4 53 UART0_IRQn = 5, /*!< UART0 Interrupt */
Kovalev_D 23:12e6183f04d4 54 UART1_IRQn = 6, /*!< UART1 Interrupt */
Kovalev_D 23:12e6183f04d4 55 UART2_IRQn = 7, /*!< UART2 Interrupt */
Kovalev_D 23:12e6183f04d4 56 UART3_IRQn = 8, /*!< UART3 Interrupt */
Kovalev_D 23:12e6183f04d4 57 PWM1_IRQn = 9, /*!< PWM1 Interrupt */
Kovalev_D 23:12e6183f04d4 58 I2C0_IRQn = 10, /*!< I2C0 Interrupt */
Kovalev_D 23:12e6183f04d4 59 I2C1_IRQn = 11, /*!< I2C1 Interrupt */
Kovalev_D 23:12e6183f04d4 60 I2C2_IRQn = 12, /*!< I2C2 Interrupt */
Kovalev_D 23:12e6183f04d4 61 SPI_IRQn = 13, /*!< SPI Interrupt */
Kovalev_D 23:12e6183f04d4 62 SSP0_IRQn = 14, /*!< SSP0 Interrupt */
Kovalev_D 23:12e6183f04d4 63 SSP1_IRQn = 15, /*!< SSP1 Interrupt */
Kovalev_D 23:12e6183f04d4 64 PLL0_IRQn = 16, /*!< PLL0 Lock (Main PLL) Interrupt */
Kovalev_D 23:12e6183f04d4 65 RTC_IRQn = 17, /*!< Real Time Clock Interrupt */
Kovalev_D 23:12e6183f04d4 66 EINT0_IRQn = 18, /*!< External Interrupt 0 Interrupt */
Kovalev_D 23:12e6183f04d4 67 EINT1_IRQn = 19, /*!< External Interrupt 1 Interrupt */
Kovalev_D 23:12e6183f04d4 68 EINT2_IRQn = 20, /*!< External Interrupt 2 Interrupt */
Kovalev_D 23:12e6183f04d4 69 EINT3_IRQn = 21, /*!< External Interrupt 3 Interrupt */
Kovalev_D 23:12e6183f04d4 70 ADC_IRQn = 22, /*!< A/D Converter Interrupt */
Kovalev_D 23:12e6183f04d4 71 BOD_IRQn = 23, /*!< Brown-Out Detect Interrupt */
Kovalev_D 23:12e6183f04d4 72 USB_IRQn = 24, /*!< USB Interrupt */
Kovalev_D 23:12e6183f04d4 73 CAN_IRQn = 25, /*!< CAN Interrupt */
Kovalev_D 23:12e6183f04d4 74 DMA_IRQn = 26, /*!< General Purpose DMA Interrupt */
Kovalev_D 23:12e6183f04d4 75 I2S_IRQn = 27, /*!< I2S Interrupt */
Kovalev_D 23:12e6183f04d4 76 ENET_IRQn = 28, /*!< Ethernet Interrupt */
Kovalev_D 23:12e6183f04d4 77 RIT_IRQn = 29, /*!< Repetitive Interrupt Timer Interrupt */
Kovalev_D 23:12e6183f04d4 78 MCPWM_IRQn = 30, /*!< Motor Control PWM Interrupt */
Kovalev_D 23:12e6183f04d4 79 QEI_IRQn = 31, /*!< Quadrature Encoder Interface Interrupt */
Kovalev_D 23:12e6183f04d4 80 PLL1_IRQn = 32, /*!< PLL1 Lock (USB PLL) Interrupt */
Kovalev_D 23:12e6183f04d4 81 } IRQn_Type;
Kovalev_D 23:12e6183f04d4 82
Kovalev_D 23:12e6183f04d4 83
Kovalev_D 23:12e6183f04d4 84 /*
Kovalev_D 23:12e6183f04d4 85 * ==========================================================================
Kovalev_D 23:12e6183f04d4 86 * ----------- Processor and Core Peripheral Section ------------------------
Kovalev_D 23:12e6183f04d4 87 * ==========================================================================
Kovalev_D 23:12e6183f04d4 88 */
Kovalev_D 23:12e6183f04d4 89
Kovalev_D 23:12e6183f04d4 90 /* Configuration of the Cortex-M3 Processor and Core Peripherals */
Kovalev_D 23:12e6183f04d4 91 #define __MPU_PRESENT 1 /*!< MPU present or not */
Kovalev_D 23:12e6183f04d4 92 #define __NVIC_PRIO_BITS 5 /*!< Number of Bits used for Priority Levels */
Kovalev_D 23:12e6183f04d4 93 #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
Kovalev_D 23:12e6183f04d4 94
Kovalev_D 23:12e6183f04d4 95
Kovalev_D 23:12e6183f04d4 96 #include "core_cm3.h" /* Cortex-M3 processor and core peripherals */
Kovalev_D 23:12e6183f04d4 97 #include "system_LPC17xx.h" /* System Header */
Kovalev_D 23:12e6183f04d4 98
Kovalev_D 23:12e6183f04d4 99
Kovalev_D 23:12e6183f04d4 100 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 101 /* Device Specific Peripheral registers structures */
Kovalev_D 23:12e6183f04d4 102 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 103
Kovalev_D 23:12e6183f04d4 104 #if defined ( __CC_ARM )
Kovalev_D 23:12e6183f04d4 105 #pragma anon_unions
Kovalev_D 23:12e6183f04d4 106 #endif
Kovalev_D 23:12e6183f04d4 107
Kovalev_D 23:12e6183f04d4 108 /*------------- System Control (SC) ------------------------------------------*/
Kovalev_D 23:12e6183f04d4 109 typedef struct
Kovalev_D 23:12e6183f04d4 110 {
Kovalev_D 23:12e6183f04d4 111 __IO uint32_t FLASHCFG; /* Flash Accelerator Module */
Kovalev_D 23:12e6183f04d4 112 uint32_t RESERVED0[31];
Kovalev_D 23:12e6183f04d4 113 __IO uint32_t PLL0CON; /* Clocking and Power Control */
Kovalev_D 23:12e6183f04d4 114 __IO uint32_t PLL0CFG;
Kovalev_D 23:12e6183f04d4 115 __I uint32_t PLL0STAT;
Kovalev_D 23:12e6183f04d4 116 __O uint32_t PLL0FEED;
Kovalev_D 23:12e6183f04d4 117 uint32_t RESERVED1[4];
Kovalev_D 23:12e6183f04d4 118 __IO uint32_t PLL1CON;
Kovalev_D 23:12e6183f04d4 119 __IO uint32_t PLL1CFG;
Kovalev_D 23:12e6183f04d4 120 __I uint32_t PLL1STAT;
Kovalev_D 23:12e6183f04d4 121 __O uint32_t PLL1FEED;
Kovalev_D 23:12e6183f04d4 122 uint32_t RESERVED2[4];
Kovalev_D 23:12e6183f04d4 123 __IO uint32_t PCON;
Kovalev_D 23:12e6183f04d4 124 __IO uint32_t PCONP;
Kovalev_D 23:12e6183f04d4 125 uint32_t RESERVED3[15];
Kovalev_D 23:12e6183f04d4 126 __IO uint32_t CCLKCFG;
Kovalev_D 23:12e6183f04d4 127 __IO uint32_t USBCLKCFG;
Kovalev_D 23:12e6183f04d4 128 __IO uint32_t CLKSRCSEL;
Kovalev_D 23:12e6183f04d4 129 uint32_t RESERVED4[12];
Kovalev_D 23:12e6183f04d4 130 __IO uint32_t EXTINT; /* External Interrupts */
Kovalev_D 23:12e6183f04d4 131 uint32_t RESERVED5;
Kovalev_D 23:12e6183f04d4 132 __IO uint32_t EXTMODE;
Kovalev_D 23:12e6183f04d4 133 __IO uint32_t EXTPOLAR;
Kovalev_D 23:12e6183f04d4 134 uint32_t RESERVED6[12];
Kovalev_D 23:12e6183f04d4 135 __IO uint32_t RSID; /* Reset */
Kovalev_D 23:12e6183f04d4 136 uint32_t RESERVED7[7];
Kovalev_D 23:12e6183f04d4 137 __IO uint32_t SCS; /* Syscon Miscellaneous Registers */
Kovalev_D 23:12e6183f04d4 138 __IO uint32_t IRCTRIM; /* Clock Dividers */
Kovalev_D 23:12e6183f04d4 139 __IO uint32_t PCLKSEL0;
Kovalev_D 23:12e6183f04d4 140 __IO uint32_t PCLKSEL1;
Kovalev_D 23:12e6183f04d4 141 uint32_t RESERVED8[4];
Kovalev_D 23:12e6183f04d4 142 __IO uint32_t USBIntSt; /* USB Device/OTG Interrupt Register */
Kovalev_D 23:12e6183f04d4 143 __IO uint32_t DMAREQSEL;
Kovalev_D 23:12e6183f04d4 144 __IO uint32_t CLKOUTCFG; /* Clock Output Configuration */
Kovalev_D 23:12e6183f04d4 145 } LPC_SC_TypeDef;
Kovalev_D 23:12e6183f04d4 146
Kovalev_D 23:12e6183f04d4 147 /*------------- Pin Connect Block (PINCON) -----------------------------------*/
Kovalev_D 23:12e6183f04d4 148 typedef struct
Kovalev_D 23:12e6183f04d4 149 {
Kovalev_D 23:12e6183f04d4 150 __IO uint32_t PINSEL0;
Kovalev_D 23:12e6183f04d4 151 __IO uint32_t PINSEL1;
Kovalev_D 23:12e6183f04d4 152 __IO uint32_t PINSEL2;
Kovalev_D 23:12e6183f04d4 153 __IO uint32_t PINSEL3;
Kovalev_D 23:12e6183f04d4 154 __IO uint32_t PINSEL4;
Kovalev_D 23:12e6183f04d4 155 __IO uint32_t PINSEL5;
Kovalev_D 23:12e6183f04d4 156 __IO uint32_t PINSEL6;
Kovalev_D 23:12e6183f04d4 157 __IO uint32_t PINSEL7;
Kovalev_D 23:12e6183f04d4 158 __IO uint32_t PINSEL8;
Kovalev_D 23:12e6183f04d4 159 __IO uint32_t PINSEL9;
Kovalev_D 23:12e6183f04d4 160 __IO uint32_t PINSEL10;
Kovalev_D 23:12e6183f04d4 161 uint32_t RESERVED0[5];
Kovalev_D 23:12e6183f04d4 162 __IO uint32_t PINMODE0;
Kovalev_D 23:12e6183f04d4 163 __IO uint32_t PINMODE1;
Kovalev_D 23:12e6183f04d4 164 __IO uint32_t PINMODE2;
Kovalev_D 23:12e6183f04d4 165 __IO uint32_t PINMODE3;
Kovalev_D 23:12e6183f04d4 166 __IO uint32_t PINMODE4;
Kovalev_D 23:12e6183f04d4 167 __IO uint32_t PINMODE5;
Kovalev_D 23:12e6183f04d4 168 __IO uint32_t PINMODE6;
Kovalev_D 23:12e6183f04d4 169 __IO uint32_t PINMODE7;
Kovalev_D 23:12e6183f04d4 170 __IO uint32_t PINMODE8;
Kovalev_D 23:12e6183f04d4 171 __IO uint32_t PINMODE9;
Kovalev_D 23:12e6183f04d4 172 __IO uint32_t PINMODE_OD0;
Kovalev_D 23:12e6183f04d4 173 __IO uint32_t PINMODE_OD1;
Kovalev_D 23:12e6183f04d4 174 __IO uint32_t PINMODE_OD2;
Kovalev_D 23:12e6183f04d4 175 __IO uint32_t PINMODE_OD3;
Kovalev_D 23:12e6183f04d4 176 __IO uint32_t PINMODE_OD4;
Kovalev_D 23:12e6183f04d4 177 __IO uint32_t I2CPADCFG;
Kovalev_D 23:12e6183f04d4 178 } LPC_PINCON_TypeDef;
Kovalev_D 23:12e6183f04d4 179
Kovalev_D 23:12e6183f04d4 180 /*------------- General Purpose Input/Output (GPIO) --------------------------*/
Kovalev_D 23:12e6183f04d4 181 typedef struct
Kovalev_D 23:12e6183f04d4 182 {
Kovalev_D 23:12e6183f04d4 183 union {
Kovalev_D 23:12e6183f04d4 184 __IO uint32_t FIODIR;
Kovalev_D 23:12e6183f04d4 185 struct {
Kovalev_D 23:12e6183f04d4 186 __IO uint16_t FIODIRL;
Kovalev_D 23:12e6183f04d4 187 __IO uint16_t FIODIRH;
Kovalev_D 23:12e6183f04d4 188 };
Kovalev_D 23:12e6183f04d4 189 struct {
Kovalev_D 23:12e6183f04d4 190 __IO uint8_t FIODIR0;
Kovalev_D 23:12e6183f04d4 191 __IO uint8_t FIODIR1;
Kovalev_D 23:12e6183f04d4 192 __IO uint8_t FIODIR2;
Kovalev_D 23:12e6183f04d4 193 __IO uint8_t FIODIR3;
Kovalev_D 23:12e6183f04d4 194 };
Kovalev_D 23:12e6183f04d4 195 };
Kovalev_D 23:12e6183f04d4 196 uint32_t RESERVED0[3];
Kovalev_D 23:12e6183f04d4 197 union {
Kovalev_D 23:12e6183f04d4 198 __IO uint32_t FIOMASK;
Kovalev_D 23:12e6183f04d4 199 struct {
Kovalev_D 23:12e6183f04d4 200 __IO uint16_t FIOMASKL;
Kovalev_D 23:12e6183f04d4 201 __IO uint16_t FIOMASKH;
Kovalev_D 23:12e6183f04d4 202 };
Kovalev_D 23:12e6183f04d4 203 struct {
Kovalev_D 23:12e6183f04d4 204 __IO uint8_t FIOMASK0;
Kovalev_D 23:12e6183f04d4 205 __IO uint8_t FIOMASK1;
Kovalev_D 23:12e6183f04d4 206 __IO uint8_t FIOMASK2;
Kovalev_D 23:12e6183f04d4 207 __IO uint8_t FIOMASK3;
Kovalev_D 23:12e6183f04d4 208 };
Kovalev_D 23:12e6183f04d4 209 };
Kovalev_D 23:12e6183f04d4 210 union {
Kovalev_D 23:12e6183f04d4 211 __IO uint32_t FIOPIN;
Kovalev_D 23:12e6183f04d4 212 struct {
Kovalev_D 23:12e6183f04d4 213 __IO uint16_t FIOPINL;
Kovalev_D 23:12e6183f04d4 214 __IO uint16_t FIOPINH;
Kovalev_D 23:12e6183f04d4 215 };
Kovalev_D 23:12e6183f04d4 216 struct {
Kovalev_D 23:12e6183f04d4 217 __IO uint8_t FIOPIN0;
Kovalev_D 23:12e6183f04d4 218 __IO uint8_t FIOPIN1;
Kovalev_D 23:12e6183f04d4 219 __IO uint8_t FIOPIN2;
Kovalev_D 23:12e6183f04d4 220 __IO uint8_t FIOPIN3;
Kovalev_D 23:12e6183f04d4 221 };
Kovalev_D 23:12e6183f04d4 222 };
Kovalev_D 23:12e6183f04d4 223 union {
Kovalev_D 23:12e6183f04d4 224 __IO uint32_t FIOSET;
Kovalev_D 23:12e6183f04d4 225 struct {
Kovalev_D 23:12e6183f04d4 226 __IO uint16_t FIOSETL;
Kovalev_D 23:12e6183f04d4 227 __IO uint16_t FIOSETH;
Kovalev_D 23:12e6183f04d4 228 };
Kovalev_D 23:12e6183f04d4 229 struct {
Kovalev_D 23:12e6183f04d4 230 __IO uint8_t FIOSET0;
Kovalev_D 23:12e6183f04d4 231 __IO uint8_t FIOSET1;
Kovalev_D 23:12e6183f04d4 232 __IO uint8_t FIOSET2;
Kovalev_D 23:12e6183f04d4 233 __IO uint8_t FIOSET3;
Kovalev_D 23:12e6183f04d4 234 };
Kovalev_D 23:12e6183f04d4 235 };
Kovalev_D 23:12e6183f04d4 236 union {
Kovalev_D 23:12e6183f04d4 237 __O uint32_t FIOCLR;
Kovalev_D 23:12e6183f04d4 238 struct {
Kovalev_D 23:12e6183f04d4 239 __O uint16_t FIOCLRL;
Kovalev_D 23:12e6183f04d4 240 __O uint16_t FIOCLRH;
Kovalev_D 23:12e6183f04d4 241 };
Kovalev_D 23:12e6183f04d4 242 struct {
Kovalev_D 23:12e6183f04d4 243 __O uint8_t FIOCLR0;
Kovalev_D 23:12e6183f04d4 244 __O uint8_t FIOCLR1;
Kovalev_D 23:12e6183f04d4 245 __O uint8_t FIOCLR2;
Kovalev_D 23:12e6183f04d4 246 __O uint8_t FIOCLR3;
Kovalev_D 23:12e6183f04d4 247 };
Kovalev_D 23:12e6183f04d4 248 };
Kovalev_D 23:12e6183f04d4 249 } LPC_GPIO_TypeDef;
Kovalev_D 23:12e6183f04d4 250
Kovalev_D 23:12e6183f04d4 251 typedef struct
Kovalev_D 23:12e6183f04d4 252 {
Kovalev_D 23:12e6183f04d4 253 __I uint32_t IntStatus;
Kovalev_D 23:12e6183f04d4 254 __I uint32_t IO0IntStatR;
Kovalev_D 23:12e6183f04d4 255 __I uint32_t IO0IntStatF;
Kovalev_D 23:12e6183f04d4 256 __O uint32_t IO0IntClr;
Kovalev_D 23:12e6183f04d4 257 __IO uint32_t IO0IntEnR;
Kovalev_D 23:12e6183f04d4 258 __IO uint32_t IO0IntEnF;
Kovalev_D 23:12e6183f04d4 259 uint32_t RESERVED0[3];
Kovalev_D 23:12e6183f04d4 260 __I uint32_t IO2IntStatR;
Kovalev_D 23:12e6183f04d4 261 __I uint32_t IO2IntStatF;
Kovalev_D 23:12e6183f04d4 262 __O uint32_t IO2IntClr;
Kovalev_D 23:12e6183f04d4 263 __IO uint32_t IO2IntEnR;
Kovalev_D 23:12e6183f04d4 264 __IO uint32_t IO2IntEnF;
Kovalev_D 23:12e6183f04d4 265 } LPC_GPIOINT_TypeDef;
Kovalev_D 23:12e6183f04d4 266
Kovalev_D 23:12e6183f04d4 267 /*------------- Timer (TIM) --------------------------------------------------*/
Kovalev_D 23:12e6183f04d4 268 typedef struct
Kovalev_D 23:12e6183f04d4 269 {
Kovalev_D 23:12e6183f04d4 270 __IO uint32_t IR;
Kovalev_D 23:12e6183f04d4 271 __IO uint32_t TCR;
Kovalev_D 23:12e6183f04d4 272 __IO uint32_t TC;
Kovalev_D 23:12e6183f04d4 273 __IO uint32_t PR;
Kovalev_D 23:12e6183f04d4 274 __IO uint32_t PC;
Kovalev_D 23:12e6183f04d4 275 __IO uint32_t MCR;
Kovalev_D 23:12e6183f04d4 276 __IO uint32_t MR0;
Kovalev_D 23:12e6183f04d4 277 __IO uint32_t MR1;
Kovalev_D 23:12e6183f04d4 278 __IO uint32_t MR2;
Kovalev_D 23:12e6183f04d4 279 __IO uint32_t MR3;
Kovalev_D 23:12e6183f04d4 280 __IO uint32_t CCR;
Kovalev_D 23:12e6183f04d4 281 __I uint32_t CR0;
Kovalev_D 23:12e6183f04d4 282 __I uint32_t CR1;
Kovalev_D 23:12e6183f04d4 283 uint32_t RESERVED0[2];
Kovalev_D 23:12e6183f04d4 284 __IO uint32_t EMR;
Kovalev_D 23:12e6183f04d4 285 uint32_t RESERVED1[12];
Kovalev_D 23:12e6183f04d4 286 __IO uint32_t CTCR;
Kovalev_D 23:12e6183f04d4 287 } LPC_TIM_TypeDef;
Kovalev_D 23:12e6183f04d4 288
Kovalev_D 23:12e6183f04d4 289 /*------------- Pulse-Width Modulation (PWM) ---------------------------------*/
Kovalev_D 23:12e6183f04d4 290 typedef struct
Kovalev_D 23:12e6183f04d4 291 {
Kovalev_D 23:12e6183f04d4 292 __IO uint32_t IR;
Kovalev_D 23:12e6183f04d4 293 __IO uint32_t TCR;
Kovalev_D 23:12e6183f04d4 294 __IO uint32_t TC;
Kovalev_D 23:12e6183f04d4 295 __IO uint32_t PR;
Kovalev_D 23:12e6183f04d4 296 __IO uint32_t PC;
Kovalev_D 23:12e6183f04d4 297 __IO uint32_t MCR;
Kovalev_D 23:12e6183f04d4 298 __IO uint32_t MR0;
Kovalev_D 23:12e6183f04d4 299 __IO uint32_t MR1;
Kovalev_D 23:12e6183f04d4 300 __IO uint32_t MR2;
Kovalev_D 23:12e6183f04d4 301 __IO uint32_t MR3;
Kovalev_D 23:12e6183f04d4 302 __IO uint32_t CCR;
Kovalev_D 23:12e6183f04d4 303 __I uint32_t CR0;
Kovalev_D 23:12e6183f04d4 304 __I uint32_t CR1;
Kovalev_D 23:12e6183f04d4 305 __I uint32_t CR2;
Kovalev_D 23:12e6183f04d4 306 __I uint32_t CR3;
Kovalev_D 23:12e6183f04d4 307 uint32_t RESERVED0;
Kovalev_D 23:12e6183f04d4 308 __IO uint32_t MR4;
Kovalev_D 23:12e6183f04d4 309 __IO uint32_t MR5;
Kovalev_D 23:12e6183f04d4 310 __IO uint32_t MR6;
Kovalev_D 23:12e6183f04d4 311 __IO uint32_t PCR;
Kovalev_D 23:12e6183f04d4 312 __IO uint32_t LER;
Kovalev_D 23:12e6183f04d4 313 uint32_t RESERVED1[7];
Kovalev_D 23:12e6183f04d4 314 __IO uint32_t CTCR;
Kovalev_D 23:12e6183f04d4 315 } LPC_PWM_TypeDef;
Kovalev_D 23:12e6183f04d4 316
Kovalev_D 23:12e6183f04d4 317 /*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
Kovalev_D 23:12e6183f04d4 318 typedef struct
Kovalev_D 23:12e6183f04d4 319 {
Kovalev_D 23:12e6183f04d4 320 union {
Kovalev_D 23:12e6183f04d4 321 __I uint8_t RBR;
Kovalev_D 23:12e6183f04d4 322 __O uint8_t THR;
Kovalev_D 23:12e6183f04d4 323 __IO uint8_t DLL;
Kovalev_D 23:12e6183f04d4 324 uint32_t RESERVED0;
Kovalev_D 23:12e6183f04d4 325 };
Kovalev_D 23:12e6183f04d4 326 union {
Kovalev_D 23:12e6183f04d4 327 __IO uint8_t DLM;
Kovalev_D 23:12e6183f04d4 328 __IO uint32_t IER;
Kovalev_D 23:12e6183f04d4 329 };
Kovalev_D 23:12e6183f04d4 330 union {
Kovalev_D 23:12e6183f04d4 331 __I uint32_t IIR;
Kovalev_D 23:12e6183f04d4 332 __O uint8_t FCR;
Kovalev_D 23:12e6183f04d4 333 };
Kovalev_D 23:12e6183f04d4 334 __IO uint8_t LCR;
Kovalev_D 23:12e6183f04d4 335 uint8_t RESERVED1[7];
Kovalev_D 23:12e6183f04d4 336 __I uint8_t LSR;
Kovalev_D 23:12e6183f04d4 337 uint8_t RESERVED2[7];
Kovalev_D 23:12e6183f04d4 338 __IO uint8_t SCR;
Kovalev_D 23:12e6183f04d4 339 uint8_t RESERVED3[3];
Kovalev_D 23:12e6183f04d4 340 __IO uint32_t ACR;
Kovalev_D 23:12e6183f04d4 341 __IO uint8_t ICR;
Kovalev_D 23:12e6183f04d4 342 uint8_t RESERVED4[3];
Kovalev_D 23:12e6183f04d4 343 __IO uint8_t FDR;
Kovalev_D 23:12e6183f04d4 344 uint8_t RESERVED5[7];
Kovalev_D 23:12e6183f04d4 345 __IO uint8_t TER;
Kovalev_D 23:12e6183f04d4 346 uint8_t RESERVED6[39];
Kovalev_D 23:12e6183f04d4 347 __I uint8_t FIFOLVL;
Kovalev_D 23:12e6183f04d4 348 } LPC_UART_TypeDef;
Kovalev_D 23:12e6183f04d4 349
Kovalev_D 23:12e6183f04d4 350 typedef struct
Kovalev_D 23:12e6183f04d4 351 {
Kovalev_D 23:12e6183f04d4 352 union {
Kovalev_D 23:12e6183f04d4 353 __I uint8_t RBR;
Kovalev_D 23:12e6183f04d4 354 __O uint8_t THR;
Kovalev_D 23:12e6183f04d4 355 __IO uint8_t DLL;
Kovalev_D 23:12e6183f04d4 356 uint32_t RESERVED0;
Kovalev_D 23:12e6183f04d4 357 };
Kovalev_D 23:12e6183f04d4 358 union {
Kovalev_D 23:12e6183f04d4 359 __IO uint8_t DLM;
Kovalev_D 23:12e6183f04d4 360 __IO uint32_t IER;
Kovalev_D 23:12e6183f04d4 361 };
Kovalev_D 23:12e6183f04d4 362 union {
Kovalev_D 23:12e6183f04d4 363 __I uint32_t IIR;
Kovalev_D 23:12e6183f04d4 364 __O uint8_t FCR;
Kovalev_D 23:12e6183f04d4 365 };
Kovalev_D 23:12e6183f04d4 366 __IO uint8_t LCR;
Kovalev_D 23:12e6183f04d4 367 uint8_t RESERVED1[7];
Kovalev_D 23:12e6183f04d4 368 __I uint8_t LSR;
Kovalev_D 23:12e6183f04d4 369 uint8_t RESERVED2[7];
Kovalev_D 23:12e6183f04d4 370 __IO uint8_t SCR;
Kovalev_D 23:12e6183f04d4 371 uint8_t RESERVED3[3];
Kovalev_D 23:12e6183f04d4 372 __IO uint32_t ACR;
Kovalev_D 23:12e6183f04d4 373 __IO uint8_t ICR;
Kovalev_D 23:12e6183f04d4 374 uint8_t RESERVED4[3];
Kovalev_D 23:12e6183f04d4 375 __IO uint8_t FDR;
Kovalev_D 23:12e6183f04d4 376 uint8_t RESERVED5[7];
Kovalev_D 23:12e6183f04d4 377 __IO uint8_t TER;
Kovalev_D 23:12e6183f04d4 378 uint8_t RESERVED6[39];
Kovalev_D 23:12e6183f04d4 379 __I uint8_t FIFOLVL;
Kovalev_D 23:12e6183f04d4 380 } LPC_UART0_TypeDef;
Kovalev_D 23:12e6183f04d4 381
Kovalev_D 23:12e6183f04d4 382 typedef struct
Kovalev_D 23:12e6183f04d4 383 {
Kovalev_D 23:12e6183f04d4 384 union {
Kovalev_D 23:12e6183f04d4 385 __I uint8_t RBR;
Kovalev_D 23:12e6183f04d4 386 __O uint8_t THR;
Kovalev_D 23:12e6183f04d4 387 __IO uint8_t DLL;
Kovalev_D 23:12e6183f04d4 388 uint32_t RESERVED0;
Kovalev_D 23:12e6183f04d4 389 };
Kovalev_D 23:12e6183f04d4 390 union {
Kovalev_D 23:12e6183f04d4 391 __IO uint8_t DLM;
Kovalev_D 23:12e6183f04d4 392 __IO uint32_t IER;
Kovalev_D 23:12e6183f04d4 393 };
Kovalev_D 23:12e6183f04d4 394 union {
Kovalev_D 23:12e6183f04d4 395 __I uint32_t IIR;
Kovalev_D 23:12e6183f04d4 396 __O uint8_t FCR;
Kovalev_D 23:12e6183f04d4 397 };
Kovalev_D 23:12e6183f04d4 398 __IO uint8_t LCR;
Kovalev_D 23:12e6183f04d4 399 uint8_t RESERVED1[3];
Kovalev_D 23:12e6183f04d4 400 __IO uint8_t MCR;
Kovalev_D 23:12e6183f04d4 401 uint8_t RESERVED2[3];
Kovalev_D 23:12e6183f04d4 402 __I uint8_t LSR;
Kovalev_D 23:12e6183f04d4 403 uint8_t RESERVED3[3];
Kovalev_D 23:12e6183f04d4 404 __I uint8_t MSR;
Kovalev_D 23:12e6183f04d4 405 uint8_t RESERVED4[3];
Kovalev_D 23:12e6183f04d4 406 __IO uint8_t SCR;
Kovalev_D 23:12e6183f04d4 407 uint8_t RESERVED5[3];
Kovalev_D 23:12e6183f04d4 408 __IO uint32_t ACR;
Kovalev_D 23:12e6183f04d4 409 uint32_t RESERVED6;
Kovalev_D 23:12e6183f04d4 410 __IO uint32_t FDR;
Kovalev_D 23:12e6183f04d4 411 uint32_t RESERVED7;
Kovalev_D 23:12e6183f04d4 412 __IO uint8_t TER;
Kovalev_D 23:12e6183f04d4 413 uint8_t RESERVED8[27];
Kovalev_D 23:12e6183f04d4 414 __IO uint8_t RS485CTRL;
Kovalev_D 23:12e6183f04d4 415 uint8_t RESERVED9[3];
Kovalev_D 23:12e6183f04d4 416 __IO uint8_t ADRMATCH;
Kovalev_D 23:12e6183f04d4 417 uint8_t RESERVED10[3];
Kovalev_D 23:12e6183f04d4 418 __IO uint8_t RS485DLY;
Kovalev_D 23:12e6183f04d4 419 uint8_t RESERVED11[3];
Kovalev_D 23:12e6183f04d4 420 __I uint8_t FIFOLVL;
Kovalev_D 23:12e6183f04d4 421 } LPC_UART1_TypeDef;
Kovalev_D 23:12e6183f04d4 422
Kovalev_D 23:12e6183f04d4 423 /*------------- Serial Peripheral Interface (SPI) ----------------------------*/
Kovalev_D 23:12e6183f04d4 424 typedef struct
Kovalev_D 23:12e6183f04d4 425 {
Kovalev_D 23:12e6183f04d4 426 __IO uint32_t SPCR;
Kovalev_D 23:12e6183f04d4 427 __I uint32_t SPSR;
Kovalev_D 23:12e6183f04d4 428 __IO uint32_t SPDR;
Kovalev_D 23:12e6183f04d4 429 __IO uint32_t SPCCR;
Kovalev_D 23:12e6183f04d4 430 uint32_t RESERVED0[3];
Kovalev_D 23:12e6183f04d4 431 __IO uint32_t SPINT;
Kovalev_D 23:12e6183f04d4 432 } LPC_SPI_TypeDef;
Kovalev_D 23:12e6183f04d4 433
Kovalev_D 23:12e6183f04d4 434 /*------------- Synchronous Serial Communication (SSP) -----------------------*/
Kovalev_D 23:12e6183f04d4 435 typedef struct
Kovalev_D 23:12e6183f04d4 436 {
Kovalev_D 23:12e6183f04d4 437 __IO uint32_t CR0;
Kovalev_D 23:12e6183f04d4 438 __IO uint32_t CR1;
Kovalev_D 23:12e6183f04d4 439 __IO uint32_t DR;
Kovalev_D 23:12e6183f04d4 440 __I uint32_t SR;
Kovalev_D 23:12e6183f04d4 441 __IO uint32_t CPSR;
Kovalev_D 23:12e6183f04d4 442 __IO uint32_t IMSC;
Kovalev_D 23:12e6183f04d4 443 __IO uint32_t RIS;
Kovalev_D 23:12e6183f04d4 444 __IO uint32_t MIS;
Kovalev_D 23:12e6183f04d4 445 __IO uint32_t ICR;
Kovalev_D 23:12e6183f04d4 446 __IO uint32_t DMACR;
Kovalev_D 23:12e6183f04d4 447 } LPC_SSP_TypeDef;
Kovalev_D 23:12e6183f04d4 448
Kovalev_D 23:12e6183f04d4 449 /*------------- Inter-Integrated Circuit (I2C) -------------------------------*/
Kovalev_D 23:12e6183f04d4 450 typedef struct
Kovalev_D 23:12e6183f04d4 451 {
Kovalev_D 23:12e6183f04d4 452 __IO uint32_t I2CONSET;
Kovalev_D 23:12e6183f04d4 453 __I uint32_t I2STAT;
Kovalev_D 23:12e6183f04d4 454 __IO uint32_t I2DAT;
Kovalev_D 23:12e6183f04d4 455 __IO uint32_t I2ADR0;
Kovalev_D 23:12e6183f04d4 456 __IO uint32_t I2SCLH;
Kovalev_D 23:12e6183f04d4 457 __IO uint32_t I2SCLL;
Kovalev_D 23:12e6183f04d4 458 __O uint32_t I2CONCLR;
Kovalev_D 23:12e6183f04d4 459 __IO uint32_t MMCTRL;
Kovalev_D 23:12e6183f04d4 460 __IO uint32_t I2ADR1;
Kovalev_D 23:12e6183f04d4 461 __IO uint32_t I2ADR2;
Kovalev_D 23:12e6183f04d4 462 __IO uint32_t I2ADR3;
Kovalev_D 23:12e6183f04d4 463 __I uint32_t I2DATA_BUFFER;
Kovalev_D 23:12e6183f04d4 464 __IO uint32_t I2MASK0;
Kovalev_D 23:12e6183f04d4 465 __IO uint32_t I2MASK1;
Kovalev_D 23:12e6183f04d4 466 __IO uint32_t I2MASK2;
Kovalev_D 23:12e6183f04d4 467 __IO uint32_t I2MASK3;
Kovalev_D 23:12e6183f04d4 468 } LPC_I2C_TypeDef;
Kovalev_D 23:12e6183f04d4 469
Kovalev_D 23:12e6183f04d4 470 /*------------- Inter IC Sound (I2S) -----------------------------------------*/
Kovalev_D 23:12e6183f04d4 471 typedef struct
Kovalev_D 23:12e6183f04d4 472 {
Kovalev_D 23:12e6183f04d4 473 __IO uint32_t I2SDAO;
Kovalev_D 23:12e6183f04d4 474 __IO uint32_t I2SDAI;
Kovalev_D 23:12e6183f04d4 475 __O uint32_t I2STXFIFO;
Kovalev_D 23:12e6183f04d4 476 __I uint32_t I2SRXFIFO;
Kovalev_D 23:12e6183f04d4 477 __I uint32_t I2SSTATE;
Kovalev_D 23:12e6183f04d4 478 __IO uint32_t I2SDMA1;
Kovalev_D 23:12e6183f04d4 479 __IO uint32_t I2SDMA2;
Kovalev_D 23:12e6183f04d4 480 __IO uint32_t I2SIRQ;
Kovalev_D 23:12e6183f04d4 481 __IO uint32_t I2STXRATE;
Kovalev_D 23:12e6183f04d4 482 __IO uint32_t I2SRXRATE;
Kovalev_D 23:12e6183f04d4 483 __IO uint32_t I2STXBITRATE;
Kovalev_D 23:12e6183f04d4 484 __IO uint32_t I2SRXBITRATE;
Kovalev_D 23:12e6183f04d4 485 __IO uint32_t I2STXMODE;
Kovalev_D 23:12e6183f04d4 486 __IO uint32_t I2SRXMODE;
Kovalev_D 23:12e6183f04d4 487 } LPC_I2S_TypeDef;
Kovalev_D 23:12e6183f04d4 488
Kovalev_D 23:12e6183f04d4 489 /*------------- Repetitive Interrupt Timer (RIT) -----------------------------*/
Kovalev_D 23:12e6183f04d4 490 typedef struct
Kovalev_D 23:12e6183f04d4 491 {
Kovalev_D 23:12e6183f04d4 492 __IO uint32_t RICOMPVAL;
Kovalev_D 23:12e6183f04d4 493 __IO uint32_t RIMASK;
Kovalev_D 23:12e6183f04d4 494 __IO uint8_t RICTRL;
Kovalev_D 23:12e6183f04d4 495 uint8_t RESERVED0[3];
Kovalev_D 23:12e6183f04d4 496 __IO uint32_t RICOUNTER;
Kovalev_D 23:12e6183f04d4 497 } LPC_RIT_TypeDef;
Kovalev_D 23:12e6183f04d4 498
Kovalev_D 23:12e6183f04d4 499 /*------------- Real-Time Clock (RTC) ----------------------------------------*/
Kovalev_D 23:12e6183f04d4 500 typedef struct
Kovalev_D 23:12e6183f04d4 501 {
Kovalev_D 23:12e6183f04d4 502 __IO uint8_t ILR;
Kovalev_D 23:12e6183f04d4 503 uint8_t RESERVED0[7];
Kovalev_D 23:12e6183f04d4 504 __IO uint8_t CCR;
Kovalev_D 23:12e6183f04d4 505 uint8_t RESERVED1[3];
Kovalev_D 23:12e6183f04d4 506 __IO uint8_t CIIR;
Kovalev_D 23:12e6183f04d4 507 uint8_t RESERVED2[3];
Kovalev_D 23:12e6183f04d4 508 __IO uint8_t AMR;
Kovalev_D 23:12e6183f04d4 509 uint8_t RESERVED3[3];
Kovalev_D 23:12e6183f04d4 510 __I uint32_t CTIME0;
Kovalev_D 23:12e6183f04d4 511 __I uint32_t CTIME1;
Kovalev_D 23:12e6183f04d4 512 __I uint32_t CTIME2;
Kovalev_D 23:12e6183f04d4 513 __IO uint8_t SEC;
Kovalev_D 23:12e6183f04d4 514 uint8_t RESERVED4[3];
Kovalev_D 23:12e6183f04d4 515 __IO uint8_t MIN;
Kovalev_D 23:12e6183f04d4 516 uint8_t RESERVED5[3];
Kovalev_D 23:12e6183f04d4 517 __IO uint8_t HOUR;
Kovalev_D 23:12e6183f04d4 518 uint8_t RESERVED6[3];
Kovalev_D 23:12e6183f04d4 519 __IO uint8_t DOM;
Kovalev_D 23:12e6183f04d4 520 uint8_t RESERVED7[3];
Kovalev_D 23:12e6183f04d4 521 __IO uint8_t DOW;
Kovalev_D 23:12e6183f04d4 522 uint8_t RESERVED8[3];
Kovalev_D 23:12e6183f04d4 523 __IO uint16_t DOY;
Kovalev_D 23:12e6183f04d4 524 uint16_t RESERVED9;
Kovalev_D 23:12e6183f04d4 525 __IO uint8_t MONTH;
Kovalev_D 23:12e6183f04d4 526 uint8_t RESERVED10[3];
Kovalev_D 23:12e6183f04d4 527 __IO uint16_t YEAR;
Kovalev_D 23:12e6183f04d4 528 uint16_t RESERVED11;
Kovalev_D 23:12e6183f04d4 529 __IO uint32_t CALIBRATION;
Kovalev_D 23:12e6183f04d4 530 __IO uint32_t GPREG0;
Kovalev_D 23:12e6183f04d4 531 __IO uint32_t GPREG1;
Kovalev_D 23:12e6183f04d4 532 __IO uint32_t GPREG2;
Kovalev_D 23:12e6183f04d4 533 __IO uint32_t GPREG3;
Kovalev_D 23:12e6183f04d4 534 __IO uint32_t GPREG4;
Kovalev_D 23:12e6183f04d4 535 __IO uint8_t RTC_AUXEN;
Kovalev_D 23:12e6183f04d4 536 uint8_t RESERVED12[3];
Kovalev_D 23:12e6183f04d4 537 __IO uint8_t RTC_AUX;
Kovalev_D 23:12e6183f04d4 538 uint8_t RESERVED13[3];
Kovalev_D 23:12e6183f04d4 539 __IO uint8_t ALSEC;
Kovalev_D 23:12e6183f04d4 540 uint8_t RESERVED14[3];
Kovalev_D 23:12e6183f04d4 541 __IO uint8_t ALMIN;
Kovalev_D 23:12e6183f04d4 542 uint8_t RESERVED15[3];
Kovalev_D 23:12e6183f04d4 543 __IO uint8_t ALHOUR;
Kovalev_D 23:12e6183f04d4 544 uint8_t RESERVED16[3];
Kovalev_D 23:12e6183f04d4 545 __IO uint8_t ALDOM;
Kovalev_D 23:12e6183f04d4 546 uint8_t RESERVED17[3];
Kovalev_D 23:12e6183f04d4 547 __IO uint8_t ALDOW;
Kovalev_D 23:12e6183f04d4 548 uint8_t RESERVED18[3];
Kovalev_D 23:12e6183f04d4 549 __IO uint16_t ALDOY;
Kovalev_D 23:12e6183f04d4 550 uint16_t RESERVED19;
Kovalev_D 23:12e6183f04d4 551 __IO uint8_t ALMON;
Kovalev_D 23:12e6183f04d4 552 uint8_t RESERVED20[3];
Kovalev_D 23:12e6183f04d4 553 __IO uint16_t ALYEAR;
Kovalev_D 23:12e6183f04d4 554 uint16_t RESERVED21;
Kovalev_D 23:12e6183f04d4 555 } LPC_RTC_TypeDef;
Kovalev_D 23:12e6183f04d4 556
Kovalev_D 23:12e6183f04d4 557 /*------------- Watchdog Timer (WDT) -----------------------------------------*/
Kovalev_D 23:12e6183f04d4 558 typedef struct
Kovalev_D 23:12e6183f04d4 559 {
Kovalev_D 23:12e6183f04d4 560 __IO uint8_t WDMOD;
Kovalev_D 23:12e6183f04d4 561 uint8_t RESERVED0[3];
Kovalev_D 23:12e6183f04d4 562 __IO uint32_t WDTC;
Kovalev_D 23:12e6183f04d4 563 __O uint8_t WDFEED;
Kovalev_D 23:12e6183f04d4 564 uint8_t RESERVED1[3];
Kovalev_D 23:12e6183f04d4 565 __I uint32_t WDTV;
Kovalev_D 23:12e6183f04d4 566 __IO uint32_t WDCLKSEL;
Kovalev_D 23:12e6183f04d4 567 } LPC_WDT_TypeDef;
Kovalev_D 23:12e6183f04d4 568
Kovalev_D 23:12e6183f04d4 569 /*------------- Analog-to-Digital Converter (ADC) ----------------------------*/
Kovalev_D 23:12e6183f04d4 570 typedef struct
Kovalev_D 23:12e6183f04d4 571 {
Kovalev_D 23:12e6183f04d4 572 __IO uint32_t ADCR;
Kovalev_D 23:12e6183f04d4 573 __IO uint32_t ADGDR;
Kovalev_D 23:12e6183f04d4 574 uint32_t RESERVED0;
Kovalev_D 23:12e6183f04d4 575 __IO uint32_t ADINTEN;
Kovalev_D 23:12e6183f04d4 576 __I uint32_t ADDR0;
Kovalev_D 23:12e6183f04d4 577 __I uint32_t ADDR1;
Kovalev_D 23:12e6183f04d4 578 __I uint32_t ADDR2;
Kovalev_D 23:12e6183f04d4 579 __I uint32_t ADDR3;
Kovalev_D 23:12e6183f04d4 580 __I uint32_t ADDR4;
Kovalev_D 23:12e6183f04d4 581 __I uint32_t ADDR5;
Kovalev_D 23:12e6183f04d4 582 __I uint32_t ADDR6;
Kovalev_D 23:12e6183f04d4 583 __I uint32_t ADDR7;
Kovalev_D 23:12e6183f04d4 584 __I uint32_t ADSTAT;
Kovalev_D 23:12e6183f04d4 585 __IO uint32_t ADTRM;
Kovalev_D 23:12e6183f04d4 586 } LPC_ADC_TypeDef;
Kovalev_D 23:12e6183f04d4 587
Kovalev_D 23:12e6183f04d4 588 /*------------- Digital-to-Analog Converter (DAC) ----------------------------*/
Kovalev_D 23:12e6183f04d4 589 typedef struct
Kovalev_D 23:12e6183f04d4 590 {
Kovalev_D 23:12e6183f04d4 591 __IO uint32_t DACR;
Kovalev_D 23:12e6183f04d4 592 __IO uint32_t DACCTRL;
Kovalev_D 23:12e6183f04d4 593 __IO uint16_t DACCNTVAL;
Kovalev_D 23:12e6183f04d4 594 } LPC_DAC_TypeDef;
Kovalev_D 23:12e6183f04d4 595
Kovalev_D 23:12e6183f04d4 596 /*------------- Motor Control Pulse-Width Modulation (MCPWM) -----------------*/
Kovalev_D 23:12e6183f04d4 597 typedef struct
Kovalev_D 23:12e6183f04d4 598 {
Kovalev_D 23:12e6183f04d4 599 __I uint32_t MCCON;
Kovalev_D 23:12e6183f04d4 600 __O uint32_t MCCON_SET;
Kovalev_D 23:12e6183f04d4 601 __O uint32_t MCCON_CLR;
Kovalev_D 23:12e6183f04d4 602 __I uint32_t MCCAPCON;
Kovalev_D 23:12e6183f04d4 603 __O uint32_t MCCAPCON_SET;
Kovalev_D 23:12e6183f04d4 604 __O uint32_t MCCAPCON_CLR;
Kovalev_D 23:12e6183f04d4 605 __IO uint32_t MCTIM0;
Kovalev_D 23:12e6183f04d4 606 __IO uint32_t MCTIM1;
Kovalev_D 23:12e6183f04d4 607 __IO uint32_t MCTIM2;
Kovalev_D 23:12e6183f04d4 608 __IO uint32_t MCPER0;
Kovalev_D 23:12e6183f04d4 609 __IO uint32_t MCPER1;
Kovalev_D 23:12e6183f04d4 610 __IO uint32_t MCPER2;
Kovalev_D 23:12e6183f04d4 611 __IO uint32_t MCPW0;
Kovalev_D 23:12e6183f04d4 612 __IO uint32_t MCPW1;
Kovalev_D 23:12e6183f04d4 613 __IO uint32_t MCPW2;
Kovalev_D 23:12e6183f04d4 614 __IO uint32_t MCDEADTIME;
Kovalev_D 23:12e6183f04d4 615 __IO uint32_t MCCCP;
Kovalev_D 23:12e6183f04d4 616 __IO uint32_t MCCR0;
Kovalev_D 23:12e6183f04d4 617 __IO uint32_t MCCR1;
Kovalev_D 23:12e6183f04d4 618 __IO uint32_t MCCR2;
Kovalev_D 23:12e6183f04d4 619 __I uint32_t MCINTEN;
Kovalev_D 23:12e6183f04d4 620 __O uint32_t MCINTEN_SET;
Kovalev_D 23:12e6183f04d4 621 __O uint32_t MCINTEN_CLR;
Kovalev_D 23:12e6183f04d4 622 __I uint32_t MCCNTCON;
Kovalev_D 23:12e6183f04d4 623 __O uint32_t MCCNTCON_SET;
Kovalev_D 23:12e6183f04d4 624 __O uint32_t MCCNTCON_CLR;
Kovalev_D 23:12e6183f04d4 625 __I uint32_t MCINTFLAG;
Kovalev_D 23:12e6183f04d4 626 __O uint32_t MCINTFLAG_SET;
Kovalev_D 23:12e6183f04d4 627 __O uint32_t MCINTFLAG_CLR;
Kovalev_D 23:12e6183f04d4 628 __O uint32_t MCCAP_CLR;
Kovalev_D 23:12e6183f04d4 629 } LPC_MCPWM_TypeDef;
Kovalev_D 23:12e6183f04d4 630
Kovalev_D 23:12e6183f04d4 631 /*------------- Quadrature Encoder Interface (QEI) ---------------------------*/
Kovalev_D 23:12e6183f04d4 632 typedef struct
Kovalev_D 23:12e6183f04d4 633 {
Kovalev_D 23:12e6183f04d4 634 __O uint32_t QEICON;
Kovalev_D 23:12e6183f04d4 635 __I uint32_t QEISTAT;
Kovalev_D 23:12e6183f04d4 636 __IO uint32_t QEICONF;
Kovalev_D 23:12e6183f04d4 637 __I uint32_t QEIPOS;
Kovalev_D 23:12e6183f04d4 638 __IO uint32_t QEIMAXPOS;
Kovalev_D 23:12e6183f04d4 639 __IO uint32_t CMPOS0;
Kovalev_D 23:12e6183f04d4 640 __IO uint32_t CMPOS1;
Kovalev_D 23:12e6183f04d4 641 __IO uint32_t CMPOS2;
Kovalev_D 23:12e6183f04d4 642 __I uint32_t INXCNT;
Kovalev_D 23:12e6183f04d4 643 __IO uint32_t INXCMP;
Kovalev_D 23:12e6183f04d4 644 __IO uint32_t QEILOAD;
Kovalev_D 23:12e6183f04d4 645 __I uint32_t QEITIME;
Kovalev_D 23:12e6183f04d4 646 __I uint32_t QEIVEL;
Kovalev_D 23:12e6183f04d4 647 __I uint32_t QEICAP;
Kovalev_D 23:12e6183f04d4 648 __IO uint32_t VELCOMP;
Kovalev_D 23:12e6183f04d4 649 __IO uint32_t FILTER;
Kovalev_D 23:12e6183f04d4 650 uint32_t RESERVED0[998];
Kovalev_D 23:12e6183f04d4 651 __O uint32_t QEIIEC;
Kovalev_D 23:12e6183f04d4 652 __O uint32_t QEIIES;
Kovalev_D 23:12e6183f04d4 653 __I uint32_t QEIINTSTAT;
Kovalev_D 23:12e6183f04d4 654 __I uint32_t QEIIE;
Kovalev_D 23:12e6183f04d4 655 __O uint32_t QEICLR;
Kovalev_D 23:12e6183f04d4 656 __O uint32_t QEISET;
Kovalev_D 23:12e6183f04d4 657 } LPC_QEI_TypeDef;
Kovalev_D 23:12e6183f04d4 658
Kovalev_D 23:12e6183f04d4 659 /*------------- Controller Area Network (CAN) --------------------------------*/
Kovalev_D 23:12e6183f04d4 660 typedef struct
Kovalev_D 23:12e6183f04d4 661 {
Kovalev_D 23:12e6183f04d4 662 __IO uint32_t mask[512]; /* ID Masks */
Kovalev_D 23:12e6183f04d4 663 } LPC_CANAF_RAM_TypeDef;
Kovalev_D 23:12e6183f04d4 664
Kovalev_D 23:12e6183f04d4 665 typedef struct /* Acceptance Filter Registers */
Kovalev_D 23:12e6183f04d4 666 {
Kovalev_D 23:12e6183f04d4 667 __IO uint32_t AFMR;
Kovalev_D 23:12e6183f04d4 668 __IO uint32_t SFF_sa;
Kovalev_D 23:12e6183f04d4 669 __IO uint32_t SFF_GRP_sa;
Kovalev_D 23:12e6183f04d4 670 __IO uint32_t EFF_sa;
Kovalev_D 23:12e6183f04d4 671 __IO uint32_t EFF_GRP_sa;
Kovalev_D 23:12e6183f04d4 672 __IO uint32_t ENDofTable;
Kovalev_D 23:12e6183f04d4 673 __I uint32_t LUTerrAd;
Kovalev_D 23:12e6183f04d4 674 __I uint32_t LUTerr;
Kovalev_D 23:12e6183f04d4 675 __IO uint32_t FCANIE;
Kovalev_D 23:12e6183f04d4 676 __IO uint32_t FCANIC0;
Kovalev_D 23:12e6183f04d4 677 __IO uint32_t FCANIC1;
Kovalev_D 23:12e6183f04d4 678 } LPC_CANAF_TypeDef;
Kovalev_D 23:12e6183f04d4 679
Kovalev_D 23:12e6183f04d4 680 typedef struct /* Central Registers */
Kovalev_D 23:12e6183f04d4 681 {
Kovalev_D 23:12e6183f04d4 682 __I uint32_t CANTxSR;
Kovalev_D 23:12e6183f04d4 683 __I uint32_t CANRxSR;
Kovalev_D 23:12e6183f04d4 684 __I uint32_t CANMSR;
Kovalev_D 23:12e6183f04d4 685 } LPC_CANCR_TypeDef;
Kovalev_D 23:12e6183f04d4 686
Kovalev_D 23:12e6183f04d4 687 typedef struct /* Controller Registers */
Kovalev_D 23:12e6183f04d4 688 {
Kovalev_D 23:12e6183f04d4 689 __IO uint32_t MOD;
Kovalev_D 23:12e6183f04d4 690 __O uint32_t CMR;
Kovalev_D 23:12e6183f04d4 691 __IO uint32_t GSR;
Kovalev_D 23:12e6183f04d4 692 __I uint32_t ICR;
Kovalev_D 23:12e6183f04d4 693 __IO uint32_t IER;
Kovalev_D 23:12e6183f04d4 694 __IO uint32_t BTR;
Kovalev_D 23:12e6183f04d4 695 __IO uint32_t EWL;
Kovalev_D 23:12e6183f04d4 696 __I uint32_t SR;
Kovalev_D 23:12e6183f04d4 697 __IO uint32_t RFS;
Kovalev_D 23:12e6183f04d4 698 __IO uint32_t RID;
Kovalev_D 23:12e6183f04d4 699 __IO uint32_t RDA;
Kovalev_D 23:12e6183f04d4 700 __IO uint32_t RDB;
Kovalev_D 23:12e6183f04d4 701 __IO uint32_t TFI1;
Kovalev_D 23:12e6183f04d4 702 __IO uint32_t TID1;
Kovalev_D 23:12e6183f04d4 703 __IO uint32_t TDA1;
Kovalev_D 23:12e6183f04d4 704 __IO uint32_t TDB1;
Kovalev_D 23:12e6183f04d4 705 __IO uint32_t TFI2;
Kovalev_D 23:12e6183f04d4 706 __IO uint32_t TID2;
Kovalev_D 23:12e6183f04d4 707 __IO uint32_t TDA2;
Kovalev_D 23:12e6183f04d4 708 __IO uint32_t TDB2;
Kovalev_D 23:12e6183f04d4 709 __IO uint32_t TFI3;
Kovalev_D 23:12e6183f04d4 710 __IO uint32_t TID3;
Kovalev_D 23:12e6183f04d4 711 __IO uint32_t TDA3;
Kovalev_D 23:12e6183f04d4 712 __IO uint32_t TDB3;
Kovalev_D 23:12e6183f04d4 713 } LPC_CAN_TypeDef;
Kovalev_D 23:12e6183f04d4 714
Kovalev_D 23:12e6183f04d4 715 /*------------- General Purpose Direct Memory Access (GPDMA) -----------------*/
Kovalev_D 23:12e6183f04d4 716 typedef struct /* Common Registers */
Kovalev_D 23:12e6183f04d4 717 {
Kovalev_D 23:12e6183f04d4 718 __I uint32_t DMACIntStat;
Kovalev_D 23:12e6183f04d4 719 __I uint32_t DMACIntTCStat;
Kovalev_D 23:12e6183f04d4 720 __O uint32_t DMACIntTCClear;
Kovalev_D 23:12e6183f04d4 721 __I uint32_t DMACIntErrStat;
Kovalev_D 23:12e6183f04d4 722 __O uint32_t DMACIntErrClr;
Kovalev_D 23:12e6183f04d4 723 __I uint32_t DMACRawIntTCStat;
Kovalev_D 23:12e6183f04d4 724 __I uint32_t DMACRawIntErrStat;
Kovalev_D 23:12e6183f04d4 725 __I uint32_t DMACEnbldChns;
Kovalev_D 23:12e6183f04d4 726 __IO uint32_t DMACSoftBReq;
Kovalev_D 23:12e6183f04d4 727 __IO uint32_t DMACSoftSReq;
Kovalev_D 23:12e6183f04d4 728 __IO uint32_t DMACSoftLBReq;
Kovalev_D 23:12e6183f04d4 729 __IO uint32_t DMACSoftLSReq;
Kovalev_D 23:12e6183f04d4 730 __IO uint32_t DMACConfig;
Kovalev_D 23:12e6183f04d4 731 __IO uint32_t DMACSync;
Kovalev_D 23:12e6183f04d4 732 } LPC_GPDMA_TypeDef;
Kovalev_D 23:12e6183f04d4 733
Kovalev_D 23:12e6183f04d4 734 typedef struct /* Channel Registers */
Kovalev_D 23:12e6183f04d4 735 {
Kovalev_D 23:12e6183f04d4 736 __IO uint32_t DMACCSrcAddr;
Kovalev_D 23:12e6183f04d4 737 __IO uint32_t DMACCDestAddr;
Kovalev_D 23:12e6183f04d4 738 __IO uint32_t DMACCLLI;
Kovalev_D 23:12e6183f04d4 739 __IO uint32_t DMACCControl;
Kovalev_D 23:12e6183f04d4 740 __IO uint32_t DMACCConfig;
Kovalev_D 23:12e6183f04d4 741 } LPC_GPDMACH_TypeDef;
Kovalev_D 23:12e6183f04d4 742
Kovalev_D 23:12e6183f04d4 743 /*------------- Universal Serial Bus (USB) -----------------------------------*/
Kovalev_D 23:12e6183f04d4 744 typedef struct
Kovalev_D 23:12e6183f04d4 745 {
Kovalev_D 23:12e6183f04d4 746 __I uint32_t HcRevision; /* USB Host Registers */
Kovalev_D 23:12e6183f04d4 747 __IO uint32_t HcControl;
Kovalev_D 23:12e6183f04d4 748 __IO uint32_t HcCommandStatus;
Kovalev_D 23:12e6183f04d4 749 __IO uint32_t HcInterruptStatus;
Kovalev_D 23:12e6183f04d4 750 __IO uint32_t HcInterruptEnable;
Kovalev_D 23:12e6183f04d4 751 __IO uint32_t HcInterruptDisable;
Kovalev_D 23:12e6183f04d4 752 __IO uint32_t HcHCCA;
Kovalev_D 23:12e6183f04d4 753 __I uint32_t HcPeriodCurrentED;
Kovalev_D 23:12e6183f04d4 754 __IO uint32_t HcControlHeadED;
Kovalev_D 23:12e6183f04d4 755 __IO uint32_t HcControlCurrentED;
Kovalev_D 23:12e6183f04d4 756 __IO uint32_t HcBulkHeadED;
Kovalev_D 23:12e6183f04d4 757 __IO uint32_t HcBulkCurrentED;
Kovalev_D 23:12e6183f04d4 758 __I uint32_t HcDoneHead;
Kovalev_D 23:12e6183f04d4 759 __IO uint32_t HcFmInterval;
Kovalev_D 23:12e6183f04d4 760 __I uint32_t HcFmRemaining;
Kovalev_D 23:12e6183f04d4 761 __I uint32_t HcFmNumber;
Kovalev_D 23:12e6183f04d4 762 __IO uint32_t HcPeriodicStart;
Kovalev_D 23:12e6183f04d4 763 __IO uint32_t HcLSTreshold;
Kovalev_D 23:12e6183f04d4 764 __IO uint32_t HcRhDescriptorA;
Kovalev_D 23:12e6183f04d4 765 __IO uint32_t HcRhDescriptorB;
Kovalev_D 23:12e6183f04d4 766 __IO uint32_t HcRhStatus;
Kovalev_D 23:12e6183f04d4 767 __IO uint32_t HcRhPortStatus1;
Kovalev_D 23:12e6183f04d4 768 __IO uint32_t HcRhPortStatus2;
Kovalev_D 23:12e6183f04d4 769 uint32_t RESERVED0[40];
Kovalev_D 23:12e6183f04d4 770 __I uint32_t Module_ID;
Kovalev_D 23:12e6183f04d4 771
Kovalev_D 23:12e6183f04d4 772 __I uint32_t OTGIntSt; /* USB On-The-Go Registers */
Kovalev_D 23:12e6183f04d4 773 __IO uint32_t OTGIntEn;
Kovalev_D 23:12e6183f04d4 774 __O uint32_t OTGIntSet;
Kovalev_D 23:12e6183f04d4 775 __O uint32_t OTGIntClr;
Kovalev_D 23:12e6183f04d4 776 __IO uint32_t OTGStCtrl;
Kovalev_D 23:12e6183f04d4 777 __IO uint32_t OTGTmr;
Kovalev_D 23:12e6183f04d4 778 uint32_t RESERVED1[58];
Kovalev_D 23:12e6183f04d4 779
Kovalev_D 23:12e6183f04d4 780 __I uint32_t USBDevIntSt; /* USB Device Interrupt Registers */
Kovalev_D 23:12e6183f04d4 781 __IO uint32_t USBDevIntEn;
Kovalev_D 23:12e6183f04d4 782 __O uint32_t USBDevIntClr;
Kovalev_D 23:12e6183f04d4 783 __O uint32_t USBDevIntSet;
Kovalev_D 23:12e6183f04d4 784
Kovalev_D 23:12e6183f04d4 785 __O uint32_t USBCmdCode; /* USB Device SIE Command Registers */
Kovalev_D 23:12e6183f04d4 786 __I uint32_t USBCmdData;
Kovalev_D 23:12e6183f04d4 787
Kovalev_D 23:12e6183f04d4 788 __I uint32_t USBRxData; /* USB Device Transfer Registers */
Kovalev_D 23:12e6183f04d4 789 __O uint32_t USBTxData;
Kovalev_D 23:12e6183f04d4 790 __I uint32_t USBRxPLen;
Kovalev_D 23:12e6183f04d4 791 __O uint32_t USBTxPLen;
Kovalev_D 23:12e6183f04d4 792 __IO uint32_t USBCtrl;
Kovalev_D 23:12e6183f04d4 793 __O uint32_t USBDevIntPri;
Kovalev_D 23:12e6183f04d4 794
Kovalev_D 23:12e6183f04d4 795 __I uint32_t USBEpIntSt; /* USB Device Endpoint Interrupt Regs */
Kovalev_D 23:12e6183f04d4 796 __IO uint32_t USBEpIntEn;
Kovalev_D 23:12e6183f04d4 797 __O uint32_t USBEpIntClr;
Kovalev_D 23:12e6183f04d4 798 __O uint32_t USBEpIntSet;
Kovalev_D 23:12e6183f04d4 799 __O uint32_t USBEpIntPri;
Kovalev_D 23:12e6183f04d4 800
Kovalev_D 23:12e6183f04d4 801 __IO uint32_t USBReEp; /* USB Device Endpoint Realization Reg*/
Kovalev_D 23:12e6183f04d4 802 __O uint32_t USBEpInd;
Kovalev_D 23:12e6183f04d4 803 __IO uint32_t USBMaxPSize;
Kovalev_D 23:12e6183f04d4 804
Kovalev_D 23:12e6183f04d4 805 __I uint32_t USBDMARSt; /* USB Device DMA Registers */
Kovalev_D 23:12e6183f04d4 806 __O uint32_t USBDMARClr;
Kovalev_D 23:12e6183f04d4 807 __O uint32_t USBDMARSet;
Kovalev_D 23:12e6183f04d4 808 uint32_t RESERVED2[9];
Kovalev_D 23:12e6183f04d4 809 __IO uint32_t USBUDCAH;
Kovalev_D 23:12e6183f04d4 810 __I uint32_t USBEpDMASt;
Kovalev_D 23:12e6183f04d4 811 __O uint32_t USBEpDMAEn;
Kovalev_D 23:12e6183f04d4 812 __O uint32_t USBEpDMADis;
Kovalev_D 23:12e6183f04d4 813 __I uint32_t USBDMAIntSt;
Kovalev_D 23:12e6183f04d4 814 __IO uint32_t USBDMAIntEn;
Kovalev_D 23:12e6183f04d4 815 uint32_t RESERVED3[2];
Kovalev_D 23:12e6183f04d4 816 __I uint32_t USBEoTIntSt;
Kovalev_D 23:12e6183f04d4 817 __O uint32_t USBEoTIntClr;
Kovalev_D 23:12e6183f04d4 818 __O uint32_t USBEoTIntSet;
Kovalev_D 23:12e6183f04d4 819 __I uint32_t USBNDDRIntSt;
Kovalev_D 23:12e6183f04d4 820 __O uint32_t USBNDDRIntClr;
Kovalev_D 23:12e6183f04d4 821 __O uint32_t USBNDDRIntSet;
Kovalev_D 23:12e6183f04d4 822 __I uint32_t USBSysErrIntSt;
Kovalev_D 23:12e6183f04d4 823 __O uint32_t USBSysErrIntClr;
Kovalev_D 23:12e6183f04d4 824 __O uint32_t USBSysErrIntSet;
Kovalev_D 23:12e6183f04d4 825 uint32_t RESERVED4[15];
Kovalev_D 23:12e6183f04d4 826
Kovalev_D 23:12e6183f04d4 827 __I uint32_t I2C_RX; /* USB OTG I2C Registers */
Kovalev_D 23:12e6183f04d4 828 __O uint32_t I2C_WO;
Kovalev_D 23:12e6183f04d4 829 __I uint32_t I2C_STS;
Kovalev_D 23:12e6183f04d4 830 __IO uint32_t I2C_CTL;
Kovalev_D 23:12e6183f04d4 831 __IO uint32_t I2C_CLKHI;
Kovalev_D 23:12e6183f04d4 832 __O uint32_t I2C_CLKLO;
Kovalev_D 23:12e6183f04d4 833 uint32_t RESERVED5[823];
Kovalev_D 23:12e6183f04d4 834
Kovalev_D 23:12e6183f04d4 835 union {
Kovalev_D 23:12e6183f04d4 836 __IO uint32_t USBClkCtrl; /* USB Clock Control Registers */
Kovalev_D 23:12e6183f04d4 837 __IO uint32_t OTGClkCtrl;
Kovalev_D 23:12e6183f04d4 838 };
Kovalev_D 23:12e6183f04d4 839 union {
Kovalev_D 23:12e6183f04d4 840 __I uint32_t USBClkSt;
Kovalev_D 23:12e6183f04d4 841 __I uint32_t OTGClkSt;
Kovalev_D 23:12e6183f04d4 842 };
Kovalev_D 23:12e6183f04d4 843 } LPC_USB_TypeDef;
Kovalev_D 23:12e6183f04d4 844
Kovalev_D 23:12e6183f04d4 845 /*------------- Ethernet Media Access Controller (EMAC) ----------------------*/
Kovalev_D 23:12e6183f04d4 846 typedef struct
Kovalev_D 23:12e6183f04d4 847 {
Kovalev_D 23:12e6183f04d4 848 __IO uint32_t MAC1; /* MAC Registers */
Kovalev_D 23:12e6183f04d4 849 __IO uint32_t MAC2;
Kovalev_D 23:12e6183f04d4 850 __IO uint32_t IPGT;
Kovalev_D 23:12e6183f04d4 851 __IO uint32_t IPGR;
Kovalev_D 23:12e6183f04d4 852 __IO uint32_t CLRT;
Kovalev_D 23:12e6183f04d4 853 __IO uint32_t MAXF;
Kovalev_D 23:12e6183f04d4 854 __IO uint32_t SUPP;
Kovalev_D 23:12e6183f04d4 855 __IO uint32_t TEST;
Kovalev_D 23:12e6183f04d4 856 __IO uint32_t MCFG;
Kovalev_D 23:12e6183f04d4 857 __IO uint32_t MCMD;
Kovalev_D 23:12e6183f04d4 858 __IO uint32_t MADR;
Kovalev_D 23:12e6183f04d4 859 __O uint32_t MWTD;
Kovalev_D 23:12e6183f04d4 860 __I uint32_t MRDD;
Kovalev_D 23:12e6183f04d4 861 __I uint32_t MIND;
Kovalev_D 23:12e6183f04d4 862 uint32_t RESERVED0[2];
Kovalev_D 23:12e6183f04d4 863 __IO uint32_t SA0;
Kovalev_D 23:12e6183f04d4 864 __IO uint32_t SA1;
Kovalev_D 23:12e6183f04d4 865 __IO uint32_t SA2;
Kovalev_D 23:12e6183f04d4 866 uint32_t RESERVED1[45];
Kovalev_D 23:12e6183f04d4 867 __IO uint32_t Command; /* Control Registers */
Kovalev_D 23:12e6183f04d4 868 __I uint32_t Status;
Kovalev_D 23:12e6183f04d4 869 __IO uint32_t RxDescriptor;
Kovalev_D 23:12e6183f04d4 870 __IO uint32_t RxStatus;
Kovalev_D 23:12e6183f04d4 871 __IO uint32_t RxDescriptorNumber;
Kovalev_D 23:12e6183f04d4 872 __I uint32_t RxProduceIndex;
Kovalev_D 23:12e6183f04d4 873 __IO uint32_t RxConsumeIndex;
Kovalev_D 23:12e6183f04d4 874 __IO uint32_t TxDescriptor;
Kovalev_D 23:12e6183f04d4 875 __IO uint32_t TxStatus;
Kovalev_D 23:12e6183f04d4 876 __IO uint32_t TxDescriptorNumber;
Kovalev_D 23:12e6183f04d4 877 __IO uint32_t TxProduceIndex;
Kovalev_D 23:12e6183f04d4 878 __I uint32_t TxConsumeIndex;
Kovalev_D 23:12e6183f04d4 879 uint32_t RESERVED2[10];
Kovalev_D 23:12e6183f04d4 880 __I uint32_t TSV0;
Kovalev_D 23:12e6183f04d4 881 __I uint32_t TSV1;
Kovalev_D 23:12e6183f04d4 882 __I uint32_t RSV;
Kovalev_D 23:12e6183f04d4 883 uint32_t RESERVED3[3];
Kovalev_D 23:12e6183f04d4 884 __IO uint32_t FlowControlCounter;
Kovalev_D 23:12e6183f04d4 885 __I uint32_t FlowControlStatus;
Kovalev_D 23:12e6183f04d4 886 uint32_t RESERVED4[34];
Kovalev_D 23:12e6183f04d4 887 __IO uint32_t RxFilterCtrl; /* Rx Filter Registers */
Kovalev_D 23:12e6183f04d4 888 __IO uint32_t RxFilterWoLStatus;
Kovalev_D 23:12e6183f04d4 889 __IO uint32_t RxFilterWoLClear;
Kovalev_D 23:12e6183f04d4 890 uint32_t RESERVED5;
Kovalev_D 23:12e6183f04d4 891 __IO uint32_t HashFilterL;
Kovalev_D 23:12e6183f04d4 892 __IO uint32_t HashFilterH;
Kovalev_D 23:12e6183f04d4 893 uint32_t RESERVED6[882];
Kovalev_D 23:12e6183f04d4 894 __I uint32_t IntStatus; /* Module Control Registers */
Kovalev_D 23:12e6183f04d4 895 __IO uint32_t IntEnable;
Kovalev_D 23:12e6183f04d4 896 __O uint32_t IntClear;
Kovalev_D 23:12e6183f04d4 897 __O uint32_t IntSet;
Kovalev_D 23:12e6183f04d4 898 uint32_t RESERVED7;
Kovalev_D 23:12e6183f04d4 899 __IO uint32_t PowerDown;
Kovalev_D 23:12e6183f04d4 900 uint32_t RESERVED8;
Kovalev_D 23:12e6183f04d4 901 __IO uint32_t Module_ID;
Kovalev_D 23:12e6183f04d4 902 } LPC_EMAC_TypeDef;
Kovalev_D 23:12e6183f04d4 903
Kovalev_D 23:12e6183f04d4 904 #if defined ( __CC_ARM )
Kovalev_D 23:12e6183f04d4 905 #pragma no_anon_unions
Kovalev_D 23:12e6183f04d4 906 #endif
Kovalev_D 23:12e6183f04d4 907
Kovalev_D 23:12e6183f04d4 908
Kovalev_D 23:12e6183f04d4 909 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 910 /* Peripheral memory map */
Kovalev_D 23:12e6183f04d4 911 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 912 /* Base addresses */
Kovalev_D 23:12e6183f04d4 913 #define LPC_FLASH_BASE (0x00000000UL)
Kovalev_D 23:12e6183f04d4 914 #define LPC_RAM_BASE (0x10000000UL)
Kovalev_D 23:12e6183f04d4 915 #define LPC_GPIO_BASE (0x2009C000UL)
Kovalev_D 23:12e6183f04d4 916 #define LPC_APB0_BASE (0x40000000UL)
Kovalev_D 23:12e6183f04d4 917 #define LPC_APB1_BASE (0x40080000UL)
Kovalev_D 23:12e6183f04d4 918 #define LPC_AHB_BASE (0x50000000UL)
Kovalev_D 23:12e6183f04d4 919 #define LPC_CM3_BASE (0xE0000000UL)
Kovalev_D 23:12e6183f04d4 920
Kovalev_D 23:12e6183f04d4 921 /* APB0 peripherals */
Kovalev_D 23:12e6183f04d4 922 #define LPC_WDT_BASE (LPC_APB0_BASE + 0x00000)
Kovalev_D 23:12e6183f04d4 923 #define LPC_TIM0_BASE (LPC_APB0_BASE + 0x04000)
Kovalev_D 23:12e6183f04d4 924 #define LPC_TIM1_BASE (LPC_APB0_BASE + 0x08000)
Kovalev_D 23:12e6183f04d4 925 #define LPC_UART0_BASE (LPC_APB0_BASE + 0x0C000)
Kovalev_D 23:12e6183f04d4 926 #define LPC_UART1_BASE (LPC_APB0_BASE + 0x10000)
Kovalev_D 23:12e6183f04d4 927 #define LPC_PWM1_BASE (LPC_APB0_BASE + 0x18000)
Kovalev_D 23:12e6183f04d4 928 #define LPC_I2C0_BASE (LPC_APB0_BASE + 0x1C000)
Kovalev_D 23:12e6183f04d4 929 #define LPC_SPI_BASE (LPC_APB0_BASE + 0x20000)
Kovalev_D 23:12e6183f04d4 930 #define LPC_RTC_BASE (LPC_APB0_BASE + 0x24000)
Kovalev_D 23:12e6183f04d4 931 #define LPC_GPIOINT_BASE (LPC_APB0_BASE + 0x28080)
Kovalev_D 23:12e6183f04d4 932 #define LPC_PINCON_BASE (LPC_APB0_BASE + 0x2C000)
Kovalev_D 23:12e6183f04d4 933 #define LPC_SSP1_BASE (LPC_APB0_BASE + 0x30000)
Kovalev_D 23:12e6183f04d4 934 #define LPC_ADC_BASE (LPC_APB0_BASE + 0x34000)
Kovalev_D 23:12e6183f04d4 935 #define LPC_CANAF_RAM_BASE (LPC_APB0_BASE + 0x38000)
Kovalev_D 23:12e6183f04d4 936 #define LPC_CANAF_BASE (LPC_APB0_BASE + 0x3C000)
Kovalev_D 23:12e6183f04d4 937 #define LPC_CANCR_BASE (LPC_APB0_BASE + 0x40000)
Kovalev_D 23:12e6183f04d4 938 #define LPC_CAN1_BASE (LPC_APB0_BASE + 0x44000)
Kovalev_D 23:12e6183f04d4 939 #define LPC_CAN2_BASE (LPC_APB0_BASE + 0x48000)
Kovalev_D 23:12e6183f04d4 940 #define LPC_I2C1_BASE (LPC_APB0_BASE + 0x5C000)
Kovalev_D 23:12e6183f04d4 941
Kovalev_D 23:12e6183f04d4 942 /* APB1 peripherals */
Kovalev_D 23:12e6183f04d4 943 #define LPC_SSP0_BASE (LPC_APB1_BASE + 0x08000)
Kovalev_D 23:12e6183f04d4 944 #define LPC_DAC_BASE (LPC_APB1_BASE + 0x0C000)
Kovalev_D 23:12e6183f04d4 945 #define LPC_TIM2_BASE (LPC_APB1_BASE + 0x10000)
Kovalev_D 23:12e6183f04d4 946 #define LPC_TIM3_BASE (LPC_APB1_BASE + 0x14000)
Kovalev_D 23:12e6183f04d4 947 #define LPC_UART2_BASE (LPC_APB1_BASE + 0x18000)
Kovalev_D 23:12e6183f04d4 948 #define LPC_UART3_BASE (LPC_APB1_BASE + 0x1C000)
Kovalev_D 23:12e6183f04d4 949 #define LPC_I2C2_BASE (LPC_APB1_BASE + 0x20000)
Kovalev_D 23:12e6183f04d4 950 #define LPC_I2S_BASE (LPC_APB1_BASE + 0x28000)
Kovalev_D 23:12e6183f04d4 951 #define LPC_RIT_BASE (LPC_APB1_BASE + 0x30000)
Kovalev_D 23:12e6183f04d4 952 #define LPC_MCPWM_BASE (LPC_APB1_BASE + 0x38000)
Kovalev_D 23:12e6183f04d4 953 #define LPC_QEI_BASE (LPC_APB1_BASE + 0x3C000)
Kovalev_D 23:12e6183f04d4 954 #define LPC_SC_BASE (LPC_APB1_BASE + 0x7C000)
Kovalev_D 23:12e6183f04d4 955
Kovalev_D 23:12e6183f04d4 956 /* AHB peripherals */
Kovalev_D 23:12e6183f04d4 957 #define LPC_EMAC_BASE (LPC_AHB_BASE + 0x00000)
Kovalev_D 23:12e6183f04d4 958 #define LPC_GPDMA_BASE (LPC_AHB_BASE + 0x04000)
Kovalev_D 23:12e6183f04d4 959 #define LPC_GPDMACH0_BASE (LPC_AHB_BASE + 0x04100)
Kovalev_D 23:12e6183f04d4 960 #define LPC_GPDMACH1_BASE (LPC_AHB_BASE + 0x04120)
Kovalev_D 23:12e6183f04d4 961 #define LPC_GPDMACH2_BASE (LPC_AHB_BASE + 0x04140)
Kovalev_D 23:12e6183f04d4 962 #define LPC_GPDMACH3_BASE (LPC_AHB_BASE + 0x04160)
Kovalev_D 23:12e6183f04d4 963 #define LPC_GPDMACH4_BASE (LPC_AHB_BASE + 0x04180)
Kovalev_D 23:12e6183f04d4 964 #define LPC_GPDMACH5_BASE (LPC_AHB_BASE + 0x041A0)
Kovalev_D 23:12e6183f04d4 965 #define LPC_GPDMACH6_BASE (LPC_AHB_BASE + 0x041C0)
Kovalev_D 23:12e6183f04d4 966 #define LPC_GPDMACH7_BASE (LPC_AHB_BASE + 0x041E0)
Kovalev_D 23:12e6183f04d4 967 #define LPC_USB_BASE (LPC_AHB_BASE + 0x0C000)
Kovalev_D 23:12e6183f04d4 968
Kovalev_D 23:12e6183f04d4 969 /* GPIOs */
Kovalev_D 23:12e6183f04d4 970 #define LPC_GPIO0_BASE (LPC_GPIO_BASE + 0x00000)
Kovalev_D 23:12e6183f04d4 971 #define LPC_GPIO1_BASE (LPC_GPIO_BASE + 0x00020)
Kovalev_D 23:12e6183f04d4 972 #define LPC_GPIO2_BASE (LPC_GPIO_BASE + 0x00040)
Kovalev_D 23:12e6183f04d4 973 #define LPC_GPIO3_BASE (LPC_GPIO_BASE + 0x00060)
Kovalev_D 23:12e6183f04d4 974 #define LPC_GPIO4_BASE (LPC_GPIO_BASE + 0x00080)
Kovalev_D 23:12e6183f04d4 975
Kovalev_D 23:12e6183f04d4 976
Kovalev_D 23:12e6183f04d4 977 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 978 /* Peripheral declaration */
Kovalev_D 23:12e6183f04d4 979 /******************************************************************************/
Kovalev_D 23:12e6183f04d4 980 #define LPC_SC ((LPC_SC_TypeDef *) LPC_SC_BASE )
Kovalev_D 23:12e6183f04d4 981 #define LPC_GPIO0 ((LPC_GPIO_TypeDef *) LPC_GPIO0_BASE )
Kovalev_D 23:12e6183f04d4 982 #define LPC_GPIO1 ((LPC_GPIO_TypeDef *) LPC_GPIO1_BASE )
Kovalev_D 23:12e6183f04d4 983 #define LPC_GPIO2 ((LPC_GPIO_TypeDef *) LPC_GPIO2_BASE )
Kovalev_D 23:12e6183f04d4 984 #define LPC_GPIO3 ((LPC_GPIO_TypeDef *) LPC_GPIO3_BASE )
Kovalev_D 23:12e6183f04d4 985 #define LPC_GPIO4 ((LPC_GPIO_TypeDef *) LPC_GPIO4_BASE )
Kovalev_D 23:12e6183f04d4 986 #define LPC_WDT ((LPC_WDT_TypeDef *) LPC_WDT_BASE )
Kovalev_D 23:12e6183f04d4 987 #define LPC_TIM0 ((LPC_TIM_TypeDef *) LPC_TIM0_BASE )
Kovalev_D 23:12e6183f04d4 988 #define LPC_TIM1 ((LPC_TIM_TypeDef *) LPC_TIM1_BASE )
Kovalev_D 23:12e6183f04d4 989 #define LPC_TIM2 ((LPC_TIM_TypeDef *) LPC_TIM2_BASE )
Kovalev_D 23:12e6183f04d4 990 #define LPC_TIM3 ((LPC_TIM_TypeDef *) LPC_TIM3_BASE )
Kovalev_D 23:12e6183f04d4 991 #define LPC_RIT ((LPC_RIT_TypeDef *) LPC_RIT_BASE )
Kovalev_D 23:12e6183f04d4 992 #define LPC_UART0 ((LPC_UART0_TypeDef *) LPC_UART0_BASE )
Kovalev_D 23:12e6183f04d4 993 #define LPC_UART1 ((LPC_UART1_TypeDef *) LPC_UART1_BASE )
Kovalev_D 23:12e6183f04d4 994 #define LPC_UART2 ((LPC_UART_TypeDef *) LPC_UART2_BASE )
Kovalev_D 23:12e6183f04d4 995 #define LPC_UART3 ((LPC_UART_TypeDef *) LPC_UART3_BASE )
Kovalev_D 23:12e6183f04d4 996 #define LPC_PWM1 ((LPC_PWM_TypeDef *) LPC_PWM1_BASE )
Kovalev_D 23:12e6183f04d4 997 #define LPC_I2C0 ((LPC_I2C_TypeDef *) LPC_I2C0_BASE )
Kovalev_D 23:12e6183f04d4 998 #define LPC_I2C1 ((LPC_I2C_TypeDef *) LPC_I2C1_BASE )
Kovalev_D 23:12e6183f04d4 999 #define LPC_I2C2 ((LPC_I2C_TypeDef *) LPC_I2C2_BASE )
Kovalev_D 23:12e6183f04d4 1000 #define LPC_I2S ((LPC_I2S_TypeDef *) LPC_I2S_BASE )
Kovalev_D 23:12e6183f04d4 1001 #define LPC_SPI ((LPC_SPI_TypeDef *) LPC_SPI_BASE )
Kovalev_D 23:12e6183f04d4 1002 #define LPC_RTC ((LPC_RTC_TypeDef *) LPC_RTC_BASE )
Kovalev_D 23:12e6183f04d4 1003 #define LPC_GPIOINT ((LPC_GPIOINT_TypeDef *) LPC_GPIOINT_BASE )
Kovalev_D 23:12e6183f04d4 1004 #define LPC_PINCON ((LPC_PINCON_TypeDef *) LPC_PINCON_BASE )
Kovalev_D 23:12e6183f04d4 1005 #define LPC_SSP0 ((LPC_SSP_TypeDef *) LPC_SSP0_BASE )
Kovalev_D 23:12e6183f04d4 1006 #define LPC_SSP1 ((LPC_SSP_TypeDef *) LPC_SSP1_BASE )
Kovalev_D 23:12e6183f04d4 1007 #define LPC_ADC ((LPC_ADC_TypeDef *) LPC_ADC_BASE )
Kovalev_D 23:12e6183f04d4 1008 #define LPC_DAC ((LPC_DAC_TypeDef *) LPC_DAC_BASE )
Kovalev_D 23:12e6183f04d4 1009 #define LPC_CANAF_RAM ((LPC_CANAF_RAM_TypeDef *) LPC_CANAF_RAM_BASE)
Kovalev_D 23:12e6183f04d4 1010 #define LPC_CANAF ((LPC_CANAF_TypeDef *) LPC_CANAF_BASE )
Kovalev_D 23:12e6183f04d4 1011 #define LPC_CANCR ((LPC_CANCR_TypeDef *) LPC_CANCR_BASE )
Kovalev_D 23:12e6183f04d4 1012 #define LPC_CAN1 ((LPC_CAN_TypeDef *) LPC_CAN1_BASE )
Kovalev_D 23:12e6183f04d4 1013 #define LPC_CAN2 ((LPC_CAN_TypeDef *) LPC_CAN2_BASE )
Kovalev_D 23:12e6183f04d4 1014 #define LPC_MCPWM ((LPC_MCPWM_TypeDef *) LPC_MCPWM_BASE )
Kovalev_D 23:12e6183f04d4 1015 #define LPC_QEI ((LPC_QEI_TypeDef *) LPC_QEI_BASE )
Kovalev_D 23:12e6183f04d4 1016 #define LPC_EMAC ((LPC_EMAC_TypeDef *) LPC_EMAC_BASE )
Kovalev_D 23:12e6183f04d4 1017 #define LPC_GPDMA ((LPC_GPDMA_TypeDef *) LPC_GPDMA_BASE )
Kovalev_D 23:12e6183f04d4 1018 #define LPC_GPDMACH0 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH0_BASE )
Kovalev_D 23:12e6183f04d4 1019 #define LPC_GPDMACH1 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH1_BASE )
Kovalev_D 23:12e6183f04d4 1020 #define LPC_GPDMACH2 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH2_BASE )
Kovalev_D 23:12e6183f04d4 1021 #define LPC_GPDMACH3 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH3_BASE )
Kovalev_D 23:12e6183f04d4 1022 #define LPC_GPDMACH4 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH4_BASE )
Kovalev_D 23:12e6183f04d4 1023 #define LPC_GPDMACH5 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH5_BASE )
Kovalev_D 23:12e6183f04d4 1024 #define LPC_GPDMACH6 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH6_BASE )
Kovalev_D 23:12e6183f04d4 1025 #define LPC_GPDMACH7 ((LPC_GPDMACH_TypeDef *) LPC_GPDMACH7_BASE )
Kovalev_D 23:12e6183f04d4 1026 #define LPC_USB ((LPC_USB_TypeDef *) LPC_USB_BASE )
Kovalev_D 23:12e6183f04d4 1027
Kovalev_D 23:12e6183f04d4 1028 #endif // __LPC17xx_H__