]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_LPC54018_MCUXpresso/NXP_Code/device/LPC54018_features.h
Add MPU demo project for LPC54018 board.
[freertos] / FreeRTOS / Demo / CORTEX_MPU_LPC54018_MCUXpresso / NXP_Code / device / LPC54018_features.h
1 /*\r
2 ** ###################################################################\r
3 **     Version:             rev. 1.2, 2017-06-08\r
4 **     Build:               b191115\r
5 **\r
6 **     Abstract:\r
7 **         Chip specific module features.\r
8 **\r
9 **     Copyright 2016 Freescale Semiconductor, Inc.\r
10 **     Copyright 2016-2019 NXP\r
11 **     All rights reserved.\r
12 **\r
13 **     SPDX-License-Identifier: BSD-3-Clause\r
14 **\r
15 **     http:                 www.nxp.com\r
16 **     mail:                 support@nxp.com\r
17 **\r
18 **     Revisions:\r
19 **     - rev. 1.0 (2016-08-12)\r
20 **         Initial version.\r
21 **     - rev. 1.1 (2016-11-25)\r
22 **         Update CANFD and Classic CAN register.\r
23 **         Add MAC TIMERSTAMP registers.\r
24 **     - rev. 1.2 (2017-06-08)\r
25 **         Remove RTC_CTRL_RTC_OSC_BYPASS.\r
26 **         SYSCON_ARMTRCLKDIV rename to SYSCON_ARMTRACECLKDIV.\r
27 **         Remove RESET and HALT from SYSCON_AHBCLKDIV.\r
28 **\r
29 ** ###################################################################\r
30 */\r
31 \r
32 #ifndef _LPC54018_FEATURES_H_\r
33 #define _LPC54018_FEATURES_H_\r
34 \r
35 /* SOC module features */\r
36 \r
37 /* @brief ADC availability on the SoC. */\r
38 #define FSL_FEATURE_SOC_ADC_COUNT (1)\r
39 /* @brief ASYNC_SYSCON availability on the SoC. */\r
40 #define FSL_FEATURE_SOC_ASYNC_SYSCON_COUNT (1)\r
41 /* @brief CAN availability on the SoC. */\r
42 #define FSL_FEATURE_SOC_LPC_CAN_COUNT (2)\r
43 /* @brief CRC availability on the SoC. */\r
44 #define FSL_FEATURE_SOC_CRC_COUNT (1)\r
45 /* @brief CTIMER availability on the SoC. */\r
46 #define FSL_FEATURE_SOC_CTIMER_COUNT (5)\r
47 /* @brief DMA availability on the SoC. */\r
48 #define FSL_FEATURE_SOC_DMA_COUNT (1)\r
49 /* @brief DMIC availability on the SoC. */\r
50 #define FSL_FEATURE_SOC_DMIC_COUNT (1)\r
51 /* @brief EMC availability on the SoC. */\r
52 #define FSL_FEATURE_SOC_EMC_COUNT (1)\r
53 /* @brief ENET availability on the SoC. */\r
54 #define FSL_FEATURE_SOC_LPC_ENET_COUNT (1)\r
55 /* @brief FLEXCOMM availability on the SoC. */\r
56 #define FSL_FEATURE_SOC_FLEXCOMM_COUNT (11)\r
57 /* @brief GINT availability on the SoC. */\r
58 #define FSL_FEATURE_SOC_GINT_COUNT (2)\r
59 /* @brief GPIO availability on the SoC. */\r
60 #define FSL_FEATURE_SOC_GPIO_COUNT (1)\r
61 /* @brief I2C availability on the SoC. */\r
62 #define FSL_FEATURE_SOC_I2C_COUNT (10)\r
63 /* @brief I2S availability on the SoC. */\r
64 #define FSL_FEATURE_SOC_I2S_COUNT (2)\r
65 /* @brief INPUTMUX availability on the SoC. */\r
66 #define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)\r
67 /* @brief IOCON availability on the SoC. */\r
68 #define FSL_FEATURE_SOC_IOCON_COUNT (1)\r
69 /* @brief LCD availability on the SoC. */\r
70 #define FSL_FEATURE_SOC_LCD_COUNT (1)\r
71 /* @brief MRT availability on the SoC. */\r
72 #define FSL_FEATURE_SOC_MRT_COUNT (1)\r
73 /* @brief PINT availability on the SoC. */\r
74 #define FSL_FEATURE_SOC_PINT_COUNT (1)\r
75 /* @brief RIT availability on the SoC. */\r
76 #define FSL_FEATURE_SOC_RIT_COUNT (1)\r
77 /* @brief RNG availability on the SoC. */\r
78 #define FSL_FEATURE_SOC_LPC_RNG_COUNT (1)\r
79 /* @brief RTC availability on the SoC. */\r
80 #define FSL_FEATURE_SOC_RTC_COUNT (1)\r
81 /* @brief SCT availability on the SoC. */\r
82 #define FSL_FEATURE_SOC_SCT_COUNT (1)\r
83 /* @brief SDIF availability on the SoC. */\r
84 #define FSL_FEATURE_SOC_SDIF_COUNT (1)\r
85 /* @brief SHA availability on the SoC. */\r
86 #define FSL_FEATURE_SOC_SHA_COUNT (1)\r
87 /* @brief SMARTCARD availability on the SoC. */\r
88 #define FSL_FEATURE_SOC_SMARTCARD_COUNT (2)\r
89 /* @brief SPI availability on the SoC. */\r
90 #define FSL_FEATURE_SOC_SPI_COUNT (11)\r
91 /* @brief SPIFI availability on the SoC. */\r
92 #define FSL_FEATURE_SOC_SPIFI_COUNT (1)\r
93 /* @brief SYSCON availability on the SoC. */\r
94 #define FSL_FEATURE_SOC_SYSCON_COUNT (1)\r
95 /* @brief USART availability on the SoC. */\r
96 #define FSL_FEATURE_SOC_USART_COUNT (10)\r
97 /* @brief USB availability on the SoC. */\r
98 #define FSL_FEATURE_SOC_USB_COUNT (1)\r
99 /* @brief USBFSH availability on the SoC. */\r
100 #define FSL_FEATURE_SOC_USBFSH_COUNT (1)\r
101 /* @brief USBHSD availability on the SoC. */\r
102 #define FSL_FEATURE_SOC_USBHSD_COUNT (1)\r
103 /* @brief USBHSH availability on the SoC. */\r
104 #define FSL_FEATURE_SOC_USBHSH_COUNT (1)\r
105 /* @brief UTICK availability on the SoC. */\r
106 #define FSL_FEATURE_SOC_UTICK_COUNT (1)\r
107 /* @brief WWDT availability on the SoC. */\r
108 #define FSL_FEATURE_SOC_WWDT_COUNT (1)\r
109 \r
110 /* ADC module features */\r
111 \r
112 /* @brief Do not has input select (register INSEL). */\r
113 #define FSL_FEATURE_ADC_HAS_NO_INSEL  (0)\r
114 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
115 #define FSL_FEATURE_ADC_HAS_CTRL_ASYNMODE (1)\r
116 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
117 #define FSL_FEATURE_ADC_HAS_CTRL_RESOL (1)\r
118 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
119 #define FSL_FEATURE_ADC_HAS_CTRL_BYPASSCAL (1)\r
120 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
121 #define FSL_FEATURE_ADC_HAS_CTRL_TSAMP (1)\r
122 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
123 #define FSL_FEATURE_ADC_HAS_CTRL_LPWRMODE (0)\r
124 /* @brief Has ASYNMODE bitfile in CTRL reigster. */\r
125 #define FSL_FEATURE_ADC_HAS_CTRL_CALMODE (0)\r
126 /* @brief Has startup register. */\r
127 #define FSL_FEATURE_ADC_HAS_STARTUP_REG (1)\r
128 /* @brief Has ADTrim register */\r
129 #define FSL_FEATURE_ADC_HAS_TRIM_REG (0)\r
130 /* @brief Has Calibration register. */\r
131 #define FSL_FEATURE_ADC_HAS_CALIB_REG (1)\r
132 \r
133 /* CAN module features */\r
134 \r
135 /* @brief Support CANFD or not */\r
136 #define FSL_FEATURE_CAN_SUPPORT_CANFD (1)\r
137 \r
138 /* DMA module features */\r
139 \r
140 /* @brief Number of channels */\r
141 #define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (30)\r
142 /* @brief Align size of DMA descriptor */\r
143 #define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512)\r
144 /* @brief DMA head link descriptor table align size */\r
145 #define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)\r
146 \r
147 /* FLEXCOMM module features */\r
148 \r
149 /* @brief FLEXCOMM0 USART INDEX 0 */\r
150 #define FSL_FEATURE_FLEXCOMM0_USART_INDEX  (0)\r
151 /* @brief FLEXCOMM0 SPI INDEX 0 */\r
152 #define FSL_FEATURE_FLEXCOMM0_SPI_INDEX  (0)\r
153 /* @brief FLEXCOMM0 I2C INDEX 0 */\r
154 #define FSL_FEATURE_FLEXCOMM0_I2C_INDEX  (0)\r
155 /* @brief FLEXCOMM1 USART INDEX 1 */\r
156 #define FSL_FEATURE_FLEXCOMM1_USART_INDEX  (1)\r
157 /* @brief FLEXCOMM1 SPI INDEX 1 */\r
158 #define FSL_FEATURE_FLEXCOMM1_SPI_INDEX  (1)\r
159 /* @brief FLEXCOMM1 I2C INDEX 1 */\r
160 #define FSL_FEATURE_FLEXCOMM1_I2C_INDEX  (1)\r
161 /* @brief FLEXCOMM2 USART INDEX 2 */\r
162 #define FSL_FEATURE_FLEXCOMM2_USART_INDEX  (2)\r
163 /* @brief FLEXCOMM2 SPI INDEX 2 */\r
164 #define FSL_FEATURE_FLEXCOMM2_SPI_INDEX  (2)\r
165 /* @brief FLEXCOMM2 I2C INDEX 2 */\r
166 #define FSL_FEATURE_FLEXCOMM2_I2C_INDEX  (2)\r
167 /* @brief FLEXCOMM3 USART INDEX 3 */\r
168 #define FSL_FEATURE_FLEXCOMM3_USART_INDEX  (3)\r
169 /* @brief FLEXCOMM3 SPI INDEX 3 */\r
170 #define FSL_FEATURE_FLEXCOMM3_SPI_INDEX  (3)\r
171 /* @brief FLEXCOMM3 I2C INDEX 3 */\r
172 #define FSL_FEATURE_FLEXCOMM3_I2C_INDEX  (3)\r
173 /* @brief FLEXCOMM4 USART INDEX 4 */\r
174 #define FSL_FEATURE_FLEXCOMM4_USART_INDEX  (4)\r
175 /* @brief FLEXCOMM4 SPI INDEX 4 */\r
176 #define FSL_FEATURE_FLEXCOMM4_SPI_INDEX  (4)\r
177 /* @brief FLEXCOMM4 I2C INDEX 4 */\r
178 #define FSL_FEATURE_FLEXCOMM4_I2C_INDEX  (4)\r
179 /* @brief FLEXCOMM5 USART INDEX 5 */\r
180 #define FSL_FEATURE_FLEXCOMM5_USART_INDEX  (5)\r
181 /* @brief FLEXCOMM5 SPI INDEX 5 */\r
182 #define FSL_FEATURE_FLEXCOMM5_SPI_INDEX  (5)\r
183 /* @brief FLEXCOMM5 I2C INDEX 5 */\r
184 #define FSL_FEATURE_FLEXCOMM5_I2C_INDEX  (5)\r
185 /* @brief FLEXCOMM6 USART INDEX 6 */\r
186 #define FSL_FEATURE_FLEXCOMM6_USART_INDEX  (6)\r
187 /* @brief FLEXCOMM6 SPI INDEX 6 */\r
188 #define FSL_FEATURE_FLEXCOMM6_SPI_INDEX  (6)\r
189 /* @brief FLEXCOMM6 I2C INDEX 6 */\r
190 #define FSL_FEATURE_FLEXCOMM6_I2C_INDEX  (6)\r
191 /* @brief FLEXCOMM7 I2S INDEX 0 */\r
192 #define FSL_FEATURE_FLEXCOMM6_I2S_INDEX  (0)\r
193 /* @brief FLEXCOMM7 USART INDEX 7 */\r
194 #define FSL_FEATURE_FLEXCOMM7_USART_INDEX  (7)\r
195 /* @brief FLEXCOMM7 SPI INDEX 7 */\r
196 #define FSL_FEATURE_FLEXCOMM7_SPI_INDEX  (7)\r
197 /* @brief FLEXCOMM7 I2C INDEX 7 */\r
198 #define FSL_FEATURE_FLEXCOMM7_I2C_INDEX  (7)\r
199 /* @brief FLEXCOMM7 I2S INDEX 1 */\r
200 #define FSL_FEATURE_FLEXCOMM7_I2S_INDEX  (1)\r
201 /* @brief FLEXCOMM4 USART INDEX 8 */\r
202 #define FSL_FEATURE_FLEXCOMM8_USART_INDEX  (8)\r
203 /* @brief FLEXCOMM4 SPI INDEX 8 */\r
204 #define FSL_FEATURE_FLEXCOMM8_SPI_INDEX  (8)\r
205 /* @brief FLEXCOMM4 I2C INDEX 8 */\r
206 #define FSL_FEATURE_FLEXCOMM8_I2C_INDEX  (8)\r
207 /* @brief FLEXCOMM5 USART INDEX 9 */\r
208 #define FSL_FEATURE_FLEXCOMM9_USART_INDEX  (9)\r
209 /* @brief FLEXCOMM5 SPI INDEX 9 */\r
210 #define FSL_FEATURE_FLEXCOMM9_SPI_INDEX  (9)\r
211 /* @brief FLEXCOMM5 I2C INDEX 9 */\r
212 #define FSL_FEATURE_FLEXCOMM9_I2C_INDEX  (9)\r
213 /* @brief I2S has DMIC interconnection */\r
214 #define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) \\r
215     (((x) == FLEXCOMM0) ? (0) : \\r
216     (((x) == FLEXCOMM1) ? (0) : \\r
217     (((x) == FLEXCOMM2) ? (0) : \\r
218     (((x) == FLEXCOMM3) ? (0) : \\r
219     (((x) == FLEXCOMM4) ? (0) : \\r
220     (((x) == FLEXCOMM5) ? (0) : \\r
221     (((x) == FLEXCOMM6) ? (0) : \\r
222     (((x) == FLEXCOMM7) ? (1) : \\r
223     (((x) == FLEXCOMM8) ? (0) : \\r
224     (((x) == FLEXCOMM9) ? (0) : \\r
225     (((x) == FLEXCOMM10) ? (0) : (-1))))))))))))\r
226 \r
227 /* I2S module features */\r
228 \r
229 /* @brief I2S support dual channel transfer */\r
230 #define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)\r
231 /* @brief I2S has DMIC interconnection */\r
232 #define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION  (1)\r
233 \r
234 /* IOCON module features */\r
235 \r
236 /* @brief Func bit field width */\r
237 #define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4)\r
238 \r
239 /* MRT module features */\r
240 \r
241 /* @brief number of channels. */\r
242 #define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS  (4)\r
243 \r
244 /* interrupt module features */\r
245 \r
246 /* @brief Lowest interrupt request number. */\r
247 #define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14)\r
248 /* @brief Highest interrupt request number. */\r
249 #define FSL_FEATURE_INTERRUPT_IRQ_MAX (105)\r
250 \r
251 /* PINT module features */\r
252 \r
253 /* @brief Number of connected outputs */\r
254 #define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)\r
255 \r
256 /* RIT module features */\r
257 \r
258 /* @brief RIT has no reset control */\r
259 #define FSL_FEATURE_RIT_HAS_NO_RESET (1)\r
260 \r
261 /* RTC module features */\r
262 \r
263 /* @brief RTC has no reset control */\r
264 #define FSL_FEATURE_RTC_HAS_NO_RESET (1)\r
265 \r
266 /* SCT module features */\r
267 \r
268 /* @brief Number of events */\r
269 #define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16)\r
270 /* @brief Number of states */\r
271 #define FSL_FEATURE_SCT_NUMBER_OF_STATES (16)\r
272 /* @brief Number of match capture */\r
273 #define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16)\r
274 /* @brief Number of outputs */\r
275 #define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)\r
276 \r
277 /* SDIF module features */\r
278 \r
279 /* @brief FIFO depth, every location is a WORD */\r
280 #define FSL_FEATURE_SDIF_FIFO_DEPTH_64_32BITS  (64)\r
281 /* @brief Max DMA buffer size */\r
282 #define FSL_FEATURE_SDIF_INTERNAL_DMA_MAX_BUFFER_SIZE  (4096)\r
283 /* @brief Max source clock in HZ */\r
284 #define FSL_FEATURE_SDIF_MAX_SOURCE_CLOCK  (52000000)\r
285 \r
286 /* SPIFI module features */\r
287 \r
288 /* @brief SPIFI start address */\r
289 #define FSL_FEATURE_SPIFI_START_ADDR (0x10000000)\r
290 /* @brief SPIFI end address */\r
291 #define FSL_FEATURE_SPIFI_END_ADDR (0x17FFFFFF)\r
292 \r
293 /* SYSCON module features */\r
294 \r
295 /* @brief Pointer to ROM IAP entry functions */\r
296 #define FSL_FEATURE_SYSCON_IAP_ENTRY_LOCATION (0x03000205)\r
297 \r
298 /* SysTick module features */\r
299 \r
300 /* @brief Systick has external reference clock. */\r
301 #define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0)\r
302 /* @brief Systick external reference clock is core clock divided by this value. */\r
303 #define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0)\r
304 \r
305 /* USB module features */\r
306 \r
307 /* @brief Size of the USB dedicated RAM */\r
308 #define FSL_FEATURE_USB_USB_RAM (0x00002000)\r
309 /* @brief Base address of the USB dedicated RAM */\r
310 #define FSL_FEATURE_USB_USB_RAM_BASE_ADDRESS (0x40100000)\r
311 /* @brief USB version */\r
312 #define FSL_FEATURE_USB_VERSION (200)\r
313 /* @brief Number of the endpoint in USB FS */\r
314 #define FSL_FEATURE_USB_EP_NUM (5)\r
315 \r
316 /* USBFSH module features */\r
317 \r
318 /* @brief Size of the USB dedicated RAM */\r
319 #define FSL_FEATURE_USBFSH_USB_RAM (0x00002000)\r
320 /* @brief Base address of the USB dedicated RAM */\r
321 #define FSL_FEATURE_USBFSH_USB_RAM_BASE_ADDRESS (0x40100000)\r
322 /* @brief USBFSH version */\r
323 #define FSL_FEATURE_USBFSH_VERSION (200)\r
324 \r
325 /* USBHSD module features */\r
326 \r
327 /* @brief Size of the USB dedicated RAM */\r
328 #define FSL_FEATURE_USBHSD_USB_RAM (0x00002000)\r
329 /* @brief Base address of the USB dedicated RAM */\r
330 #define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x40100000)\r
331 /* @brief USBHSD version */\r
332 #define FSL_FEATURE_USBHSD_VERSION (300)\r
333 /* @brief Number of the endpoint in USB HS */\r
334 #define FSL_FEATURE_USBHSD_EP_NUM (6)\r
335 /* @brief Resetting interrupt endpoint resets DATAx sequence to DATA.1 */\r
336 #define FSL_FEATURE_USBHSD_INTERRUPT_DATAX_ISSUE_VERSION_CHECK (1)\r
337 \r
338 /* USBHSH module features */\r
339 \r
340 /* @brief Size of the USB dedicated RAM */\r
341 #define FSL_FEATURE_USBHSH_USB_RAM (0x00002000)\r
342 /* @brief Base address of the USB dedicated RAM */\r
343 #define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x40100000)\r
344 /* @brief USBHSH version */\r
345 #define FSL_FEATURE_USBHSH_VERSION (300)\r
346 \r
347 #endif /* _LPC54018_FEATURES_H_ */\r
348 \r