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