CMSIS2000  0.0.7
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nxp_base_addresses.h
Go to the documentation of this file.
1 /*
2  * CMSIS2000
3  * CMSIS-like sources for LPC2xxx series MCUs
4  *
5  * (C) Copyright 2011-2012, Dmitriy Cherepanov, All Rights Reserved
6  *
7  * Version: 0.0.7
8  * Date of the Last Update: 2013-03-04
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining a copy
11  * of this software and associated documentation files (the "Software"), to
12  * deal in the Software without restriction, including without limitation the
13  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
14  * sell copies of the Software, and to permit persons to whom the Software is
15  * furnished to do so, subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be included in
18  * all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
26  * IN THE SOFTWARE.
27  *
28  * Do not be lasy! For the latest version see http://irtos.sourceforge.net .
29  *
30  *
31 #*/
32 
33 
34 #ifndef _ARCH_ARM_NXP_BASE_ADDRESSES_H_
35 #define _ARCH_ARM_NXP_BASE_ADDRESSES_H_ 1
36 /*-----------Документация Doxygen -- Doxygen documentation -----------------*/
37 /** \file
38  *\if russian_lng
39  * Базовые Адреса перефирийных устройств в NXP
40  *\else
41  * APB(ARM Peripheral Bus) peripheries base addresses
42  *\endif
43  * \author Dmitriy Cherepanov
44  * \date 2010
45  * \ingroup base_addresses_LPC2000
46  *
47  */
48 /*---------------------------------------------------------------------------*/
49 /** \ingroup LPC2xxx_System
50  *\if russian_lng
51  * \defgroup base_addresses_LPC2000 Базовые Адреса перефирийных устройств в NXP
52  *\else
53  * \defgroup base_addresses_LPC2000 APB(ARM Peripheral Bus) peripheries base addresses
54  *\endif
55  * \addtogroup base_addresses_LPC2000
56  * @{
57  */
58 /*------ МАКРОСЫ И ОПРЕДЕЛЕНИЯ - MACROSES ------------------------------------*/
59 /**\brief System Control Block(SCB) base address.
60  *
61  * module includes Memory Accelerator Module,
62  * Phase Locked Loop, VPB divider, Power Control, External Interrupt,
63  * Reset, and Code Security/Debugging
64  */
65 #define LPC_SC_BASE 0xE01FC000
66 /**-------------SYSTEM --------------------------------------------------------*/
67 /** Vectored Interrupt Controller (VIC) base address*/
68 #define VIC_BASE 0xFFFFF000
69 /** Pin Connect Block base address */
70 #define LPC_PINSEL_BASE 0xE002C000
71 /** General Purpose Input/Output (GPIO) */
72 #define LPC_GPIO_BASE 0xE0028000
73 /** Fast I/O setup base address */
74 #define LPC_FIO_BASE 0x3FFFC000
75 #define LPC_GPIO0_BASE (LPC_FIO_BASE + 0x00000)
76 #define LPC_GPIO1_BASE (LPC_FIO_BASE + 0x00020)
77 #define LPC_GPIO2_BASE (LPC_FIO_BASE + 0x00040)
78 #define LPC_GPIO3_BASE (LPC_FIO_BASE + 0x00060)
79 #define LPC_GPIO4_BASE (LPC_FIO_BASE + 0x00080)
80 
81 #define LPC_GPIOINT_BASE 0xE0028080
82 
83 /** External Memory Controller (EMC) base address */
84 #define LPC_EMC_BASE 0xFFE08000
85 
86 /*-------------TIMERS---------------------------------------------------------*/
87 /** Timer 0 base address */
88 #define LPC_TIM0_BASE 0xE0004000
89 /** Timer 1 base address */
90 #define LPC_TIM1_BASE 0xE0008000
91 /** Timer 2 base address */
92 #define LPC_TIM2_BASE 0xE0070000
93 /** Timer 3 base address */
94 #define LPC_TIM3_BASE 0xE0074000
95 
96 /** Pulse Width Modulator (PWM) base address */
97 #define LPC_PWM0_BASE 0xE0014000
98 #define LPC_PWM1_BASE 0xE0018000
99 
100 /** Real Time Clock base address */
101 #define LPC_RTC_BASE 0xE0024000
102 /** Watchdog base address */
103 #define LPC_WDG_BASE 0xE0000000
104 #define LPC_WDT_BASE LPC_WDG_BASE
105 /*-----SERIAL INTERFASES------------------------------------------------------*/
106 /** Universal Asynchronous Receiver Transmitter 0 (UART0) base address */
107 #define LPC_UART0_BASE 0xE000C000
108 /** Universal Asynchronous Receiver Transmitter 1 (UART1) base address */
109 #define LPC_UART1_BASE 0xE0010000
110 /** Universal Asynchronous Receiver Transmitter 2 (UART2) base address */
111 #define LPC_UART2_BASE 0xE0078000
112 /** Universal Asynchronous Receiver Transmitter 3 (UART3) base address */
113 #define LPC_UART3_BASE 0xE007C000
114 
115 /** I2C Interface 0 base address */
116 #define LPC_I2C0_BASE 0xE001C000
117 /** I2C Interface 1 base address */
118 #define LPC_I2C1_BASE 0xE005C000
119 /** I2C Interface 2 base address */
120 #define LPC_I2C2_BASE 0xE0080000
121 
122 /** SPI0 (Serial Peripheral Interface 0) base address */
123 #define LPC_SPI0_BASE 0xE0020000
124 /** SSP0 Controller base address */
125 #define LPC_SSP0_BASE 0xE0068000
126 /** SSP1 Controller base address */
127 #define LPC_SSP1_BASE 0xE0030000
128 
129 
130 /*-------------- ADC DAC --------------------------------------------------*/
131 /** A/D Converter 0 (AD0) base address */
132 #define LPC_AD0_BASE 0xE0034000
133 /** D/A Converter base address */
134 #define LPC_DAC_BASE 0xE006C000
135 /*-------------- CAN controllers ---------------------------------------------*/
136 /** CAN CONTROLLERS AND ACCEPTANCE FILTER base address */
137 #define LPC_CAN_ACCEPT_BASE 0xE003C000
138 #define LPC_CAN_CENTRAL_BASE 0xE0040000
139 #define LPC_CAN1_BASE 0xE0044000
140 #define LPC_CAN2_BASE 0xE0048000
141 
142 /*-------------- BLOCK DEVICES -----------------------------------------------*/
143 /** MultiMedia Card Interface(MCI) Controller base address */
144 #define LPC_MCI_BASE 0xE008C000
145 /** I2S Interface Controller (I2S) base address */
146 #define LPC_I2S_BASE 0xE0088000
147 /** General-purpose DMA Controller base address */
148 #define LPC_GPDMA_BASE 0xFFE04000
149 
150 /** General-purpose DMA Controller channel 0 base address */
151 #define LPC_GPDMACH0_BASE 0xFFE04100
152 /** General-purpose DMA Controller channel 1 base address */
153 #define LPC_GPDMACH1_BASE 0xFFE04120
154 /*-------------- USB OTG and etc ---------------------------------------------*/
155 /** USB Controller base address */
156 #define LPC_USB_INT_BASE 0xE01FC1C0
157 #define LPC_USB_BASE 0xFFE0C200
158 /** USB Host Controller and OTG registers base address */
159 #define LPC_USBHC_BASE 0xFFE0C000 /* for LPC24xx only */
160 /** USB OTG Controller base address */
161 #define LPC_USBOTG_BASE 0xFFE0C100
162 #define LPC_USBOTG_I2C_BASE 0xFFE0C300
163 #define LPC_USBOTG_CLK_BASE 0xFFE0CFF0
164 /*-------------- Ethernet ---------------------------------------------*/
165 /** Ethernet MAC (32 bit data bus) base address */
166 #define LPC_MAC_BASE 0xFFE00000 /* AHB Peripheral # 0 */
167 
168 #define LPC_PARTCFG_BASE 0x3FFF8000
169 /*-------------- Peripheral memory map----------------------------------------*/
170 /*-- Base addresses --*/
171 #define LPC_FLASH_BASE (0x00000000UL)
172 #define LPC_RAM_BASE (0x40000000UL)
173 
174 #define LPC_AHBRAM0_BASE (0x7FE00000UL) /*Ethernet RAM (16 kB*/
175 #define LPC_AHBRAM1_BASE (0x7FD00000UL) /* USB RAM (16 kB)*/
176 
177 #define LPC_APB0_BASE (0xE0000000UL)
178 #define LPC_APB1_BASE LPC_APB0_BASE
179 #define LPC_AHB_BASE (0xF0000000UL)
180 /*-------------- EMC ---------------------------------------------*/
181 /** MPMC(EMC) registers, note: all the external memory controller(EMC) registers
182 are for LPC24xx only. */
183 #define LPC_STATIC_MEM0_BASE 0x80000000
184 #define LPC_STATIC_MEM1_BASE 0x81000000
185 #define LPC_STATIC_MEM2_BASE 0x82000000
186 #define LPC_STATIC_MEM3_BASE 0x83000000
187 
188 #define LPC_DYNAMIC_MEM0_BASE 0xA0000000
189 #define LPC_DYNAMIC_MEM1_BASE 0xB0000000
190 #define LPC_DYNAMIC_MEM2_BASE 0xC0000000
191 #define LPC_DYNAMIC_MEM3_BASE 0xD0000000
192 
193 
194 #define LPC_EMC_BASE 0xFFE08000
195 
196 
197 /** @} end of group base_addresses_LPC2000 */
198 
199 #endif /* _ARCH_ARM_NXP_BASE_ADDRESSES_H_ */