aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-04-10 12:13:40 +0100
committerAkshay <[email protected]>2022-04-10 12:13:40 +0100
commitdc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch)
tree4ccb8fa5886b66fa9d480edef74236c27f035e16 /lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h')
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h383
1 files changed, 383 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h
new file mode 100644
index 000000000..13fe3b280
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC54616/LPC54616_features.h
@@ -0,0 +1,383 @@
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 _LPC54616_FEATURES_H_
33#define _LPC54616_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 EEPROM availability on the SoC. */
52#define FSL_FEATURE_SOC_EEPROM_COUNT (1)
53/* @brief EMC availability on the SoC. */
54#define FSL_FEATURE_SOC_EMC_COUNT (1)
55/* @brief LPC_ENET availability on the SoC. */
56#define FSL_FEATURE_SOC_LPC_ENET_COUNT (1)
57/* @brief FLEXCOMM availability on the SoC. */
58#define FSL_FEATURE_SOC_FLEXCOMM_COUNT (10)
59/* @brief FMC availability on the SoC. */
60#define FSL_FEATURE_SOC_FMC_COUNT (1)
61/* @brief GINT availability on the SoC. */
62#define FSL_FEATURE_SOC_GINT_COUNT (2)
63/* @brief GPIO availability on the SoC. */
64#define FSL_FEATURE_SOC_GPIO_COUNT (1)
65/* @brief I2C availability on the SoC. */
66#define FSL_FEATURE_SOC_I2C_COUNT (10)
67/* @brief I2S availability on the SoC. */
68#define FSL_FEATURE_SOC_I2S_COUNT (2)
69/* @brief INPUTMUX availability on the SoC. */
70#define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
71/* @brief IOCON availability on the SoC. */
72#define FSL_FEATURE_SOC_IOCON_COUNT (1)
73/* @brief MRT availability on the SoC. */
74#define FSL_FEATURE_SOC_MRT_COUNT (1)
75/* @brief PINT availability on the SoC. */
76#define FSL_FEATURE_SOC_PINT_COUNT (1)
77/* @brief RIT availability on the SoC. */
78#define FSL_FEATURE_SOC_RIT_COUNT (1)
79/* @brief LPC_RNG availability on the SoC. */
80#define FSL_FEATURE_SOC_LPC_RNG_COUNT (1)
81/* @brief RTC availability on the SoC. */
82#define FSL_FEATURE_SOC_RTC_COUNT (1)
83/* @brief SCT availability on the SoC. */
84#define FSL_FEATURE_SOC_SCT_COUNT (1)
85/* @brief SDIF availability on the SoC. */
86#define FSL_FEATURE_SOC_SDIF_COUNT (1)
87/* @brief SMARTCARD availability on the SoC. */
88#define FSL_FEATURE_SOC_SMARTCARD_COUNT (2)
89/* @brief SPI availability on the SoC. */
90#define FSL_FEATURE_SOC_SPI_COUNT (10)
91/* @brief SPIFI availability on the SoC. */
92#define FSL_FEATURE_SOC_SPIFI_COUNT (1)
93/* @brief SYSCON availability on the SoC. */
94#define FSL_FEATURE_SOC_SYSCON_COUNT (1)
95/* @brief USART availability on the SoC. */
96#define FSL_FEATURE_SOC_USART_COUNT (10)
97/* @brief USB availability on the SoC. */
98#define FSL_FEATURE_SOC_USB_COUNT (1)
99/* @brief USBFSH availability on the SoC. */
100#define FSL_FEATURE_SOC_USBFSH_COUNT (1)
101/* @brief USBHSD availability on the SoC. */
102#define FSL_FEATURE_SOC_USBHSD_COUNT (1)
103/* @brief USBHSH availability on the SoC. */
104#define FSL_FEATURE_SOC_USBHSH_COUNT (1)
105/* @brief UTICK availability on the SoC. */
106#define FSL_FEATURE_SOC_UTICK_COUNT (1)
107/* @brief WWDT availability on the SoC. */
108#define FSL_FEATURE_SOC_WWDT_COUNT (1)
109
110/* ADC module features */
111
112/* @brief Do not has input select (register INSEL). */
113#define FSL_FEATURE_ADC_HAS_NO_INSEL (0)
114/* @brief Has ASYNMODE bitfile in CTRL reigster. */
115#define FSL_FEATURE_ADC_HAS_CTRL_ASYNMODE (1)
116/* @brief Has ASYNMODE bitfile in CTRL reigster. */
117#define FSL_FEATURE_ADC_HAS_CTRL_RESOL (1)
118/* @brief Has ASYNMODE bitfile in CTRL reigster. */
119#define FSL_FEATURE_ADC_HAS_CTRL_BYPASSCAL (1)
120/* @brief Has ASYNMODE bitfile in CTRL reigster. */
121#define FSL_FEATURE_ADC_HAS_CTRL_TSAMP (1)
122/* @brief Has ASYNMODE bitfile in CTRL reigster. */
123#define FSL_FEATURE_ADC_HAS_CTRL_LPWRMODE (0)
124/* @brief Has ASYNMODE bitfile in CTRL reigster. */
125#define FSL_FEATURE_ADC_HAS_CTRL_CALMODE (0)
126/* @brief Has startup register. */
127#define FSL_FEATURE_ADC_HAS_STARTUP_REG (1)
128/* @brief Has ADTrim register */
129#define FSL_FEATURE_ADC_HAS_TRIM_REG (0)
130/* @brief Has Calibration register. */
131#define FSL_FEATURE_ADC_HAS_CALIB_REG (1)
132
133/* CAN module features */
134
135/* @brief Support CANFD or not */
136#define FSL_FEATURE_CAN_SUPPORT_CANFD (1)
137
138/* DMA module features */
139
140/* @brief Number of channels */
141#define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (30)
142/* @brief Align size of DMA descriptor */
143#define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512)
144/* @brief DMA head link descriptor table align size */
145#define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)
146
147/* EEPROM module features */
148
149/* @brief Size of the EEPROM */
150#define FSL_FEATURE_EEPROM_SIZE (0x00004000)
151/* @brief Base address of the EEPROM */
152#define FSL_FEATURE_EEPROM_BASE_ADDRESS (0x40108000)
153/* @brief Page count of the EEPROM */
154#define FSL_FEATURE_EEPROM_PAGE_COUNT (128)
155/* @brief Command number for eeprom program */
156#define FSL_FEATURE_EEPROM_PROGRAM_CMD (6)
157/* @brief EEPROM internal clock freqency */
158#define FSL_FEATURE_EEPROM_INTERNAL_FREQ (1500000)
159
160/* FLEXCOMM module features */
161
162/* @brief FLEXCOMM0 USART INDEX 0 */
163#define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0)
164/* @brief FLEXCOMM0 SPI INDEX 0 */
165#define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0)
166/* @brief FLEXCOMM0 I2C INDEX 0 */
167#define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0)
168/* @brief FLEXCOMM1 USART INDEX 1 */
169#define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1)
170/* @brief FLEXCOMM1 SPI INDEX 1 */
171#define FSL_FEATURE_FLEXCOMM1_SPI_INDEX (1)
172/* @brief FLEXCOMM1 I2C INDEX 1 */
173#define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1)
174/* @brief FLEXCOMM2 USART INDEX 2 */
175#define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2)
176/* @brief FLEXCOMM2 SPI INDEX 2 */
177#define FSL_FEATURE_FLEXCOMM2_SPI_INDEX (2)
178/* @brief FLEXCOMM2 I2C INDEX 2 */
179#define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2)
180/* @brief FLEXCOMM3 USART INDEX 3 */
181#define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3)
182/* @brief FLEXCOMM3 SPI INDEX 3 */
183#define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3)
184/* @brief FLEXCOMM3 I2C INDEX 3 */
185#define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3)
186/* @brief FLEXCOMM4 USART INDEX 4 */
187#define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4)
188/* @brief FLEXCOMM4 SPI INDEX 4 */
189#define FSL_FEATURE_FLEXCOMM4_SPI_INDEX (4)
190/* @brief FLEXCOMM4 I2C INDEX 4 */
191#define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4)
192/* @brief FLEXCOMM5 USART INDEX 5 */
193#define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5)
194/* @brief FLEXCOMM5 SPI INDEX 5 */
195#define FSL_FEATURE_FLEXCOMM5_SPI_INDEX (5)
196/* @brief FLEXCOMM5 I2C INDEX 5 */
197#define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5)
198/* @brief FLEXCOMM6 USART INDEX 6 */
199#define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6)
200/* @brief FLEXCOMM6 SPI INDEX 6 */
201#define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6)
202/* @brief FLEXCOMM6 I2C INDEX 6 */
203#define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6)
204/* @brief FLEXCOMM7 I2S INDEX 0 */
205#define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (0)
206/* @brief FLEXCOMM7 USART INDEX 7 */
207#define FSL_FEATURE_FLEXCOMM7_USART_INDEX (7)
208/* @brief FLEXCOMM7 SPI INDEX 7 */
209#define FSL_FEATURE_FLEXCOMM7_SPI_INDEX (7)
210/* @brief FLEXCOMM7 I2C INDEX 7 */
211#define FSL_FEATURE_FLEXCOMM7_I2C_INDEX (7)
212/* @brief FLEXCOMM7 I2S INDEX 1 */
213#define FSL_FEATURE_FLEXCOMM7_I2S_INDEX (1)
214/* @brief FLEXCOMM4 USART INDEX 8 */
215#define FSL_FEATURE_FLEXCOMM8_USART_INDEX (8)
216/* @brief FLEXCOMM4 SPI INDEX 8 */
217#define FSL_FEATURE_FLEXCOMM8_SPI_INDEX (8)
218/* @brief FLEXCOMM4 I2C INDEX 8 */
219#define FSL_FEATURE_FLEXCOMM8_I2C_INDEX (8)
220/* @brief FLEXCOMM5 USART INDEX 9 */
221#define FSL_FEATURE_FLEXCOMM9_USART_INDEX (9)
222/* @brief FLEXCOMM5 SPI INDEX 9 */
223#define FSL_FEATURE_FLEXCOMM9_SPI_INDEX (9)
224/* @brief FLEXCOMM5 I2C INDEX 9 */
225#define FSL_FEATURE_FLEXCOMM9_I2C_INDEX (9)
226/* @brief I2S has DMIC interconnection */
227#define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) \
228 (((x) == FLEXCOMM0) ? (0) : \
229 (((x) == FLEXCOMM1) ? (0) : \
230 (((x) == FLEXCOMM2) ? (0) : \
231 (((x) == FLEXCOMM3) ? (0) : \
232 (((x) == FLEXCOMM4) ? (0) : \
233 (((x) == FLEXCOMM5) ? (0) : \
234 (((x) == FLEXCOMM6) ? (0) : \
235 (((x) == FLEXCOMM7) ? (1) : \
236 (((x) == FLEXCOMM8) ? (0) : \
237 (((x) == FLEXCOMM9) ? (0) : (-1)))))))))))
238
239/* I2S module features */
240
241/* @brief I2S support dual channel transfer */
242#define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)
243/* @brief I2S has DMIC interconnection */
244#define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (1)
245
246/* IOCON module features */
247
248/* @brief Func bit field width */
249#define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4)
250
251/* MRT module features */
252
253/* @brief number of channels. */
254#define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4)
255
256/* interrupt module features */
257
258/* @brief Lowest interrupt request number. */
259#define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14)
260/* @brief Highest interrupt request number. */
261#define FSL_FEATURE_INTERRUPT_IRQ_MAX (105)
262
263/* PINT module features */
264
265/* @brief Number of connected outputs */
266#define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)
267
268/* RIT module features */
269
270/* @brief RIT has no reset control */
271#define FSL_FEATURE_RIT_HAS_NO_RESET (1)
272
273/* RTC module features */
274
275/* @brief RTC has no reset control */
276#define FSL_FEATURE_RTC_HAS_NO_RESET (1)
277
278/* SCT module features */
279
280/* @brief Number of events */
281#define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (10)
282/* @brief Number of states */
283#define FSL_FEATURE_SCT_NUMBER_OF_STATES (10)
284/* @brief Number of match capture */
285#define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (10)
286/* @brief Number of outputs */
287#define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)
288
289/* SDIF module features */
290
291/* @brief FIFO depth, every location is a WORD */
292#define FSL_FEATURE_SDIF_FIFO_DEPTH_64_32BITS (64)
293/* @brief Max DMA buffer size */
294#define FSL_FEATURE_SDIF_INTERNAL_DMA_MAX_BUFFER_SIZE (4096)
295/* @brief Max source clock in HZ */
296#define FSL_FEATURE_SDIF_MAX_SOURCE_CLOCK (52000000)
297
298/* SPIFI module features */
299
300/* @brief SPIFI start address */
301#define FSL_FEATURE_SPIFI_START_ADDR (0x10000000)
302/* @brief SPIFI end address */
303#define FSL_FEATURE_SPIFI_END_ADDR (0x17FFFFFF)
304
305/* SYSCON module features */
306
307#if defined(CPU_LPC54616J256ET180)
308 /* @brief Pointer to ROM IAP entry functions */
309 #define FSL_FEATURE_SYSCON_IAP_ENTRY_LOCATION (0x03000205)
310 /* @brief Flash page size in bytes */
311 #define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (256)
312 /* @brief Flash sector size in bytes */
313 #define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768)
314 /* @brief Flash size in bytes */
315 #define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (262144)
316 /* @brief IAP has Flash read & write function */
317 #define FSL_FEATURE_IAP_HAS_FLASH_FUNCTION (1)
318 /* @brief IAP has EEPROM read & write function */
319 #define FSL_FEATURE_IAP_HAS_EEPROM_FUNCTION (1)
320 /* @brief IAP has read Flash signature function */
321 #define FSL_FEATURE_IAP_HAS_FLASH_SIGNATURE_READ (0)
322 /* @brief IAP has read extended Flash signature function */
323 #define FSL_FEATURE_IAP_HAS_FLASH_EXTENDED_SIGNATURE_READ (1)
324#elif defined(CPU_LPC54616J512BD100) || defined(CPU_LPC54616J512BD208) || defined(CPU_LPC54616J512ET100)
325 /* @brief Pointer to ROM IAP entry functions */
326 #define FSL_FEATURE_SYSCON_IAP_ENTRY_LOCATION (0x03000205)
327 /* @brief Flash page size in bytes */
328 #define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (256)
329 /* @brief Flash sector size in bytes */
330 #define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768)
331 /* @brief Flash size in bytes */
332 #define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (524288)
333 /* @brief IAP has Flash read & write function */
334 #define FSL_FEATURE_IAP_HAS_FLASH_FUNCTION (1)
335 /* @brief IAP has EEPROM read & write function */
336 #define FSL_FEATURE_IAP_HAS_EEPROM_FUNCTION (1)
337 /* @brief IAP has read Flash signature function */
338 #define FSL_FEATURE_IAP_HAS_FLASH_SIGNATURE_READ (0)
339 /* @brief IAP has read extended Flash signature function */
340 #define FSL_FEATURE_IAP_HAS_FLASH_EXTENDED_SIGNATURE_READ (1)
341#endif /* defined(CPU_LPC54616J256ET180) */
342
343/* SysTick module features */
344
345/* @brief Systick has external reference clock. */
346#define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0)
347/* @brief Systick external reference clock is core clock divided by this value. */
348#define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0)
349
350/* USB module features */
351
352/* @brief Size of the USB dedicated RAM */
353#define FSL_FEATURE_USB_USB_RAM (0x00002000)
354/* @brief Base address of the USB dedicated RAM */
355#define FSL_FEATURE_USB_USB_RAM_BASE_ADDRESS (0x40100000)
356/* @brief Number of the endpoint in USB FS */
357#define FSL_FEATURE_USB_EP_NUM (5)
358
359/* USBFSH module features */
360
361/* @brief Size of the USB dedicated RAM */
362#define FSL_FEATURE_USBFSH_USB_RAM (0x00002000)
363/* @brief Base address of the USB dedicated RAM */
364#define FSL_FEATURE_USBFSH_USB_RAM_BASE_ADDRESS (0x40100000)
365
366/* USBHSD module features */
367
368/* @brief Size of the USB dedicated RAM */
369#define FSL_FEATURE_USBHSD_USB_RAM (0x00002000)
370/* @brief Base address of the USB dedicated RAM */
371#define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x40100000)
372/* @brief Number of the endpoint in USB HS */
373#define FSL_FEATURE_USBHSD_EP_NUM (6)
374
375/* USBHSH module features */
376
377/* @brief Size of the USB dedicated RAM */
378#define FSL_FEATURE_USBHSH_USB_RAM (0x00002000)
379/* @brief Base address of the USB dedicated RAM */
380#define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x40100000)
381
382#endif /* _LPC54616_FEATURES_H_ */
383