aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h')
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h422
1 files changed, 422 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h
new file mode 100644
index 000000000..8ee61da0d
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S16/LPC55S16_features.h
@@ -0,0 +1,422 @@
1/*
2** ###################################################################
3** Version: rev. 1.1, 2019-12-03
4** Build: b200707
5**
6** Abstract:
7** Chip specific module features.
8**
9** Copyright 2016 Freescale Semiconductor, Inc.
10** Copyright 2016-2020 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 (2018-08-22)
20** Initial version based on v0.2UM
21** - rev. 1.1 (2019-12-03)
22** Initial version based on v0.6UM
23**
24** ###################################################################
25*/
26
27#ifndef _LPC55S16_FEATURES_H_
28#define _LPC55S16_FEATURES_H_
29
30/* SOC module features */
31
32/* @brief LPC_CAN availability on the SoC. */
33#define FSL_FEATURE_SOC_LPC_CAN_COUNT (1)
34/* @brief CASPER availability on the SoC. */
35#define FSL_FEATURE_SOC_CASPER_COUNT (1)
36/* @brief CRC availability on the SoC. */
37#define FSL_FEATURE_SOC_CRC_COUNT (1)
38/* @brief CTIMER availability on the SoC. */
39#define FSL_FEATURE_SOC_CTIMER_COUNT (5)
40/* @brief CWT availability on the SoC. */
41#define FSL_FEATURE_SOC_CWT_COUNT (1)
42/* @brief DMA availability on the SoC. */
43#define FSL_FEATURE_SOC_DMA_COUNT (2)
44/* @brief FLASH availability on the SoC. */
45#define FSL_FEATURE_SOC_FLASH_COUNT (1)
46/* @brief FLEXCOMM availability on the SoC. */
47#define FSL_FEATURE_SOC_FLEXCOMM_COUNT (9)
48/* @brief GINT availability on the SoC. */
49#define FSL_FEATURE_SOC_GINT_COUNT (2)
50/* @brief GPIO availability on the SoC. */
51#define FSL_FEATURE_SOC_GPIO_COUNT (1)
52/* @brief SECGPIO availability on the SoC. */
53#define FSL_FEATURE_SOC_SECGPIO_COUNT (1)
54/* @brief HASHCRYPT availability on the SoC. */
55#define FSL_FEATURE_SOC_HASHCRYPT_COUNT (1)
56/* @brief I2C availability on the SoC. */
57#define FSL_FEATURE_SOC_I2C_COUNT (8)
58/* @brief I2S availability on the SoC. */
59#define FSL_FEATURE_SOC_I2S_COUNT (8)
60/* @brief INPUTMUX availability on the SoC. */
61#define FSL_FEATURE_SOC_INPUTMUX_COUNT (1)
62/* @brief IOCON availability on the SoC. */
63#define FSL_FEATURE_SOC_IOCON_COUNT (1)
64/* @brief LPADC availability on the SoC. */
65#define FSL_FEATURE_SOC_LPADC_COUNT (1)
66/* @brief MRT availability on the SoC. */
67#define FSL_FEATURE_SOC_MRT_COUNT (1)
68/* @brief OSTIMER availability on the SoC. */
69#define FSL_FEATURE_SOC_OSTIMER_COUNT (1)
70/* @brief PINT availability on the SoC. */
71#define FSL_FEATURE_SOC_PINT_COUNT (1)
72/* @brief SECPINT availability on the SoC. */
73#define FSL_FEATURE_SOC_SECPINT_COUNT (1)
74/* @brief PMC availability on the SoC. */
75#define FSL_FEATURE_SOC_PMC_COUNT (1)
76/* @brief PUF availability on the SoC. */
77#define FSL_FEATURE_SOC_PUF_COUNT (1)
78/* @brief PUF_SRAM_CTRL availability on the SoC. */
79#define FSL_FEATURE_SOC_PUF_SRAM_CTRL_COUNT (1)
80/* @brief LPC_RNG1 availability on the SoC. */
81#define FSL_FEATURE_SOC_LPC_RNG1_COUNT (1)
82/* @brief RTC availability on the SoC. */
83#define FSL_FEATURE_SOC_RTC_COUNT (1)
84/* @brief SCT availability on the SoC. */
85#define FSL_FEATURE_SOC_SCT_COUNT (1)
86/* @brief SPI availability on the SoC. */
87#define FSL_FEATURE_SOC_SPI_COUNT (9)
88/* @brief SYSCON availability on the SoC. */
89#define FSL_FEATURE_SOC_SYSCON_COUNT (1)
90/* @brief SYSCTL1 availability on the SoC. */
91#define FSL_FEATURE_SOC_SYSCTL1_COUNT (1)
92/* @brief USART availability on the SoC. */
93#define FSL_FEATURE_SOC_USART_COUNT (8)
94/* @brief USB availability on the SoC. */
95#define FSL_FEATURE_SOC_USB_COUNT (1)
96/* @brief USBFSH availability on the SoC. */
97#define FSL_FEATURE_SOC_USBFSH_COUNT (1)
98/* @brief USBHSD availability on the SoC. */
99#define FSL_FEATURE_SOC_USBHSD_COUNT (1)
100/* @brief USBHSH availability on the SoC. */
101#define FSL_FEATURE_SOC_USBHSH_COUNT (1)
102/* @brief USBPHY availability on the SoC. */
103#define FSL_FEATURE_SOC_USBPHY_COUNT (1)
104/* @brief UTICK availability on the SoC. */
105#define FSL_FEATURE_SOC_UTICK_COUNT (1)
106/* @brief WWDT availability on the SoC. */
107#define FSL_FEATURE_SOC_WWDT_COUNT (1)
108
109/* LPADC module features */
110
111/* @brief FIFO availability on the SoC. */
112#define FSL_FEATURE_LPADC_FIFO_COUNT (2)
113/* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */
114#define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1)
115/* @brief Has differential mode (bitfield CMDLn[DIFF]). */
116#define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0)
117/* @brief Has channel scale (bitfield CMDLn[CSCALE]). */
118#define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0)
119/* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */
120#define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1)
121/* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */
122#define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1)
123/* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */
124#define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1)
125/* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */
126#define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1)
127/* @brief Has offset calibration (bitfield CTRL[CALOFS]). */
128#define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1)
129/* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */
130#define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1)
131/* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */
132#define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1)
133/* @brief Has internal clock (bitfield CFG[ADCKEN]). */
134#define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0)
135/* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */
136#define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0)
137/* @brief Has calibration (bitfield CFG[CALOFS]). */
138#define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0)
139/* @brief Has offset trim (register OFSTRIM). */
140#define FSL_FEATURE_LPADC_HAS_OFSTRIM (1)
141/* @brief Has internal temperature sensor. */
142#define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1)
143/* @brief Temperature sensor parameter A (slope). */
144#define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (799.0f)
145/* @brief Temperature sensor parameter B (offset). */
146#define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (280.0f)
147/* @brief Temperature sensor parameter Alpha. */
148#define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (8.5f)
149/* @brief Temperature sensor need calibration. */
150#define FSL_FEATURE_LPADC_TEMP_NEED_CALIBRATION (1)
151/* @brief the address of temperature sensor parameter A (slope) in Flash. */
152#define FSL_FEATURE_FLASH_NMPA_TEMP_SLOPE_ADDRS (0x3FD28U)
153/* @brief the address of temperature sensor parameter B (offset) in Flash. */
154#define FSL_FEATURE_FLASH_NMPA_TEMP_OFFSET_ADDRS (0x3FD2CU)
155/* @brief the buffer size of temperature sensor. */
156#define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (2U)
157
158/* CAN module features */
159
160/* @brief Support CANFD or not */
161#define FSL_FEATURE_CAN_SUPPORT_CANFD (1)
162
163/* CASPER module features */
164
165/* @brief Base address of the CASPER dedicated RAM */
166#define FSL_FEATURE_CASPER_RAM_BASE_ADDRESS (0x04000000)
167/* @brief Interleaving of the CASPER dedicated RAM */
168#define FSL_FEATURE_CASPER_RAM_IS_INTERLEAVED (1)
169/* @brief CASPER dedicated RAM offset */
170#define FSL_FEATURE_CASPER_RAM_OFFSET (0xC)
171
172/* DMA module features */
173
174/* @brief Number of channels */
175#define FSL_FEATURE_DMA_NUMBER_OF_CHANNELS (23)
176/* @brief Align size of DMA descriptor */
177#define FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZE (512)
178/* @brief DMA head link descriptor table align size */
179#define FSL_FEATURE_DMA_LINK_DESCRIPTOR_ALIGN_SIZE (16U)
180
181/* FLEXCOMM module features */
182
183/* @brief FLEXCOMM0 USART INDEX 0 */
184#define FSL_FEATURE_FLEXCOMM0_USART_INDEX (0)
185/* @brief FLEXCOMM0 SPI INDEX 0 */
186#define FSL_FEATURE_FLEXCOMM0_SPI_INDEX (0)
187/* @brief FLEXCOMM0 I2C INDEX 0 */
188#define FSL_FEATURE_FLEXCOMM0_I2C_INDEX (0)
189/* @brief FLEXCOMM0 I2S INDEX 0 */
190#define FSL_FEATURE_FLEXCOMM0_I2S_INDEX (0)
191/* @brief FLEXCOMM1 USART INDEX 1 */
192#define FSL_FEATURE_FLEXCOMM1_USART_INDEX (1)
193/* @brief FLEXCOMM1 SPI INDEX 1 */
194#define FSL_FEATURE_FLEXCOMM1_SPI_INDEX (1)
195/* @brief FLEXCOMM1 I2C INDEX 1 */
196#define FSL_FEATURE_FLEXCOMM1_I2C_INDEX (1)
197/* @brief FLEXCOMM1 I2S INDEX 1 */
198#define FSL_FEATURE_FLEXCOMM1_I2S_INDEX (1)
199/* @brief FLEXCOMM2 USART INDEX 2 */
200#define FSL_FEATURE_FLEXCOMM2_USART_INDEX (2)
201/* @brief FLEXCOMM2 SPI INDEX 2 */
202#define FSL_FEATURE_FLEXCOMM2_SPI_INDEX (2)
203/* @brief FLEXCOMM2 I2C INDEX 2 */
204#define FSL_FEATURE_FLEXCOMM2_I2C_INDEX (2)
205/* @brief FLEXCOMM2 I2S INDEX 2 */
206#define FSL_FEATURE_FLEXCOMM2_I2S_INDEX (2)
207/* @brief FLEXCOMM3 USART INDEX 3 */
208#define FSL_FEATURE_FLEXCOMM3_USART_INDEX (3)
209/* @brief FLEXCOMM3 SPI INDEX 3 */
210#define FSL_FEATURE_FLEXCOMM3_SPI_INDEX (3)
211/* @brief FLEXCOMM3 I2C INDEX 3 */
212#define FSL_FEATURE_FLEXCOMM3_I2C_INDEX (3)
213/* @brief FLEXCOMM3 I2S INDEX 3 */
214#define FSL_FEATURE_FLEXCOMM3_I2S_INDEX (3)
215/* @brief FLEXCOMM4 USART INDEX 4 */
216#define FSL_FEATURE_FLEXCOMM4_USART_INDEX (4)
217/* @brief FLEXCOMM4 SPI INDEX 4 */
218#define FSL_FEATURE_FLEXCOMM4_SPI_INDEX (4)
219/* @brief FLEXCOMM4 I2C INDEX 4 */
220#define FSL_FEATURE_FLEXCOMM4_I2C_INDEX (4)
221/* @brief FLEXCOMM4 I2S INDEX 4 */
222#define FSL_FEATURE_FLEXCOMM4_I2S_INDEX (4)
223/* @brief FLEXCOMM5 USART INDEX 5 */
224#define FSL_FEATURE_FLEXCOMM5_USART_INDEX (5)
225/* @brief FLEXCOMM5 SPI INDEX 5 */
226#define FSL_FEATURE_FLEXCOMM5_SPI_INDEX (5)
227/* @brief FLEXCOMM5 I2C INDEX 5 */
228#define FSL_FEATURE_FLEXCOMM5_I2C_INDEX (5)
229/* @brief FLEXCOMM5 I2S INDEX 5 */
230#define FSL_FEATURE_FLEXCOMM5_I2S_INDEX (5)
231/* @brief FLEXCOMM6 USART INDEX 6 */
232#define FSL_FEATURE_FLEXCOMM6_USART_INDEX (6)
233/* @brief FLEXCOMM6 SPI INDEX 6 */
234#define FSL_FEATURE_FLEXCOMM6_SPI_INDEX (6)
235/* @brief FLEXCOMM6 I2C INDEX 6 */
236#define FSL_FEATURE_FLEXCOMM6_I2C_INDEX (6)
237/* @brief FLEXCOMM6 I2S INDEX 6 */
238#define FSL_FEATURE_FLEXCOMM6_I2S_INDEX (6)
239/* @brief FLEXCOMM7 USART INDEX 7 */
240#define FSL_FEATURE_FLEXCOMM7_USART_INDEX (7)
241/* @brief FLEXCOMM7 SPI INDEX 7 */
242#define FSL_FEATURE_FLEXCOMM7_SPI_INDEX (7)
243/* @brief FLEXCOMM7 I2C INDEX 7 */
244#define FSL_FEATURE_FLEXCOMM7_I2C_INDEX (7)
245/* @brief FLEXCOMM7 I2S INDEX 7 */
246#define FSL_FEATURE_FLEXCOMM7_I2S_INDEX (7)
247/* @brief FLEXCOMM8 SPI(HS_SPI) INDEX 8 */
248#define FSL_FEATURE_FLEXCOMM8_SPI_INDEX (8)
249/* @brief I2S has DMIC interconnection */
250#define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_HAS_DMIC_INTERCONNECTIONn(x) (0)
251/* @brief I2S support dual channel transfer */
252#define FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_SUPPORT_SECONDARY_CHANNELn(x) \
253 (((x) == FLEXCOMM0) ? \
254 (0) : \
255 (((x) == FLEXCOMM1) ? \
256 (0) : \
257 (((x) == FLEXCOMM2) ? \
258 (0) : \
259 (((x) == FLEXCOMM3) ? \
260 (0) : \
261 (((x) == FLEXCOMM4) ? \
262 (0) : \
263 (((x) == FLEXCOMM5) ? \
264 (0) : \
265 (((x) == FLEXCOMM6) ? \
266 (1) : \
267 (((x) == FLEXCOMM7) ? (1) : (((x) == FLEXCOMM8) ? (0) : (-1))))))))))
268
269/* HASHCRYPT module features */
270
271/* @brief the address of alias offset */
272#define FSL_FEATURE_HASHCRYPT_ALIAS_OFFSET (0x00000000)
273/* @brief hashcrypt has reload feature */
274#define FSL_FEATURE_HASHCRYPT_HAS_RELOAD_FEATURE (1)
275
276/* I2S module features */
277
278/* @brief I2S6 and I2S7 support dual channel transfer. */
279#define FSL_FEATURE_I2S_SUPPORT_SECONDARY_CHANNEL (1)
280/* @brief I2S has DMIC interconnection */
281#define FSL_FEATURE_FLEXCOMM_I2S_HAS_DMIC_INTERCONNECTION (0)
282
283/* IOCON module features */
284
285/* @brief Func bit field width */
286#define FSL_FEATURE_IOCON_FUNC_FIELD_WIDTH (4)
287
288/* MRT module features */
289
290/* @brief number of channels. */
291#define FSL_FEATURE_MRT_NUMBER_OF_CHANNELS (4)
292
293/* PINT module features */
294
295/* @brief Number of connected outputs */
296#define FSL_FEATURE_PINT_NUMBER_OF_CONNECTED_OUTPUTS (8)
297
298/* PLU module features */
299
300/* @brief Has WAKEINT_CTRL register. */
301#define FSL_FEATURE_PLU_HAS_WAKEINT_CTRL_REG (1)
302
303/* PMC module features */
304
305/* @brief UTICK does not support PD configure. */
306#define FSL_FEATURE_UTICK_HAS_NO_PDCFG (1)
307/* @brief WDT OSC does not support PD configure. */
308#define FSL_FEATURE_WWDT_HAS_NO_PDCFG (1)
309
310/* POWERLIB module features */
311
312/* @brief Powerlib API is different with other LPC series devices. */
313#define FSL_FEATURE_POWERLIB_EXTEND (1)
314
315/* PUF module features */
316
317/* @brief Number of PUF key slots available on device. */
318#define FSL_FEATURE_PUF_HAS_KEYSLOTS (4)
319/* @brief the shift status value */
320#define FSL_FEATURE_PUF_HAS_SHIFT_STATUS (1)
321/* @brief PUF has dedicated SRAM control */
322#define FSL_FEATURE_PUF_HAS_SRAM_CTRL (1)
323
324/* RTC module features */
325
326/* No feature definitions */
327
328/* SCT module features */
329
330/* @brief Number of events */
331#define FSL_FEATURE_SCT_NUMBER_OF_EVENTS (16)
332/* @brief Number of states */
333#define FSL_FEATURE_SCT_NUMBER_OF_STATES (32)
334/* @brief Number of match capture */
335#define FSL_FEATURE_SCT_NUMBER_OF_MATCH_CAPTURE (16)
336/* @brief Number of outputs */
337#define FSL_FEATURE_SCT_NUMBER_OF_OUTPUTS (10)
338
339/* SECPINT module features */
340
341/* @brief Number of connected outputs */
342#define FSL_FEATURE_SECPINT_NUMBER_OF_CONNECTED_OUTPUTS (2)
343
344/* SYSCON module features */
345
346/* @brief Flash page size in bytes */
347#define FSL_FEATURE_SYSCON_FLASH_PAGE_SIZE_BYTES (512)
348/* @brief Flash sector size in bytes */
349#define FSL_FEATURE_SYSCON_FLASH_SECTOR_SIZE_BYTES (32768)
350/* @brief Flash size in bytes */
351#define FSL_FEATURE_SYSCON_FLASH_SIZE_BYTES (229376)
352/* @brief Has Power Down mode */
353#define FSL_FEATURE_SYSCON_HAS_POWERDOWN_MODE (1)
354/* @brief CCM_ANALOG availability on the SoC. */
355#define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1)
356/* @brief Starter register discontinuous. */
357#define FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS (1)
358
359/* SYSCTL1 module features */
360
361/* @brief SYSCTRL has Code Gray feature. */
362#define FSL_FEATURE_SYSCTRL_HAS_CODE_GRAY (1)
363
364/* USB module features */
365
366/* @brief Size of the USB dedicated RAM */
367#define FSL_FEATURE_USB_USB_RAM (0x00004000)
368/* @brief Base address of the USB dedicated RAM */
369#define FSL_FEATURE_USB_USB_RAM_BASE_ADDRESS (0x20010000)
370/* @brief USB version */
371#define FSL_FEATURE_USB_VERSION (200)
372/* @brief Number of the endpoint in USB FS */
373#define FSL_FEATURE_USB_EP_NUM (5)
374
375/* USBFSH module features */
376
377/* @brief Size of the USB dedicated RAM */
378#define FSL_FEATURE_USBFSH_USB_RAM (0x00004000)
379/* @brief Base address of the USB dedicated RAM */
380#define FSL_FEATURE_USBFSH_USB_RAM_BASE_ADDRESS (0x20010000)
381/* @brief USBFSH version */
382#define FSL_FEATURE_USBFSH_VERSION (200)
383
384/* USBHSD module features */
385
386/* @brief Size of the USB dedicated RAM */
387#define FSL_FEATURE_USBHSD_USB_RAM (0x00004000)
388/* @brief Base address of the USB dedicated RAM */
389#define FSL_FEATURE_USBHSD_USB_RAM_BASE_ADDRESS (0x20010000)
390/* @brief USBHSD version */
391#define FSL_FEATURE_USBHSD_VERSION (300)
392/* @brief Number of the endpoint in USB HS */
393#define FSL_FEATURE_USBHSD_EP_NUM (6)
394
395/* USBHSH module features */
396
397/* @brief Size of the USB dedicated RAM */
398#define FSL_FEATURE_USBHSH_USB_RAM (0x00004000)
399/* @brief Base address of the USB dedicated RAM */
400#define FSL_FEATURE_USBHSH_USB_RAM_BASE_ADDRESS (0x20010000)
401/* @brief USBHSH version */
402#define FSL_FEATURE_USBHSH_VERSION (300)
403
404/* USBPHY module features */
405
406/* @brief Size of the USB dedicated RAM */
407#define FSL_FEATURE_USBPHY_USB_RAM (0x00004000)
408/* @brief Base address of the USB dedicated RAM */
409#define FSL_FEATURE_USBPHY_USB_RAM_BASE_ADDRESS (0x20010000)
410/* @brief USBHSD version */
411#define FSL_FEATURE_USBPHY_VERSION (300)
412/* @brief Number of the endpoint in USB HS */
413#define FSL_FEATURE_USBPHY_EP_NUM (6)
414
415/* WWDT module features */
416
417/* @brief Has no RESET register. */
418#define FSL_FEATURE_WWDT_HAS_NO_RESET (1)
419/* @brief WWDT does not support oscillator lock. */
420#define FSL_FEATURE_WWDT_HAS_NO_OSCILLATOR_LOCK (1)
421
422#endif /* _LPC55S16_FEATURES_H_ */