mbed library sources. Supersedes mbed-src.
Fork of mbed-dev by
targets/TARGET_NXP/TARGET_LPC2460/device/LPC24xx.h@165:2dd56e6daeec, 2017-05-23 (annotated)
- Committer:
- ranaumarnaeem
- Date:
- Tue May 23 12:54:50 2017 +0000
- Revision:
- 165:2dd56e6daeec
- Parent:
- 149:156823d33999
jhjg
Who changed what in which revision?
User | Revision | Line number | New 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 |