aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h')
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h355
1 files changed, 355 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h
new file mode 100644
index 000000000..fa16b83b4
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MM6/MIMX8MM6_cm4_features.h
@@ -0,0 +1,355 @@
1/*
2** ###################################################################
3** Version: rev. 4.0, 2019-02-18
4** Build: b200922
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-03-26)
20** Initial version.
21** - rev. 2.0 (2018-07-20)
22** Rev.A Header EAR
23** - rev. 3.0 (2018-10-24)
24** Rev.B Header PRC
25** - rev. 4.0 (2019-02-18)
26** Rev.0 Header RFP
27**
28** ###################################################################
29*/
30
31#ifndef _MIMX8MM6_cm4_FEATURES_H_
32#define _MIMX8MM6_cm4_FEATURES_H_
33
34/* SOC module features */
35
36/* @brief AIPSTZ availability on the SoC. */
37#define FSL_FEATURE_SOC_AIPSTZ_COUNT (1)
38/* @brief APBH availability on the SoC. */
39#define FSL_FEATURE_SOC_APBH_COUNT (1)
40/* @brief BCH availability on the SoC. */
41#define FSL_FEATURE_SOC_BCH_COUNT (1)
42/* @brief CCM availability on the SoC. */
43#define FSL_FEATURE_SOC_CCM_COUNT (1)
44/* @brief CCM_ANALOG availability on the SoC. */
45#define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1)
46/* @brief CSI availability on the SoC. */
47#define FSL_FEATURE_SOC_CSI_COUNT (1)
48/* @brief DDRC availability on the SoC. */
49#define FSL_FEATURE_SOC_DDRC_COUNT (1)
50/* @brief ECSPI availability on the SoC. */
51#define FSL_FEATURE_SOC_ECSPI_COUNT (3)
52/* @brief ENET availability on the SoC. */
53#define FSL_FEATURE_SOC_ENET_COUNT (1)
54/* @brief GPC availability on the SoC. */
55#define FSL_FEATURE_SOC_GPC_COUNT (1)
56/* @brief GPC_PGC availability on the SoC. */
57#define FSL_FEATURE_SOC_GPC_PGC_COUNT (1)
58/* @brief GPMI availability on the SoC. */
59#define FSL_FEATURE_SOC_GPMI_COUNT (1)
60/* @brief GPT availability on the SoC. */
61#define FSL_FEATURE_SOC_GPT_COUNT (6)
62/* @brief I2S availability on the SoC. */
63#define FSL_FEATURE_SOC_I2S_COUNT (5)
64/* @brief IGPIO availability on the SoC. */
65#define FSL_FEATURE_SOC_IGPIO_COUNT (5)
66/* @brief II2C availability on the SoC. */
67#define FSL_FEATURE_SOC_II2C_COUNT (4)
68/* @brief IOMUXC availability on the SoC. */
69#define FSL_FEATURE_SOC_IOMUXC_COUNT (1)
70/* @brief IOMUXC_GPR availability on the SoC. */
71#define FSL_FEATURE_SOC_IOMUXC_GPR_COUNT (1)
72/* @brief IPWM availability on the SoC. */
73#define FSL_FEATURE_SOC_IPWM_COUNT (4)
74/* @brief IUART availability on the SoC. */
75#define FSL_FEATURE_SOC_IUART_COUNT (4)
76/* @brief LCDIF availability on the SoC. */
77#define FSL_FEATURE_SOC_LCDIF_COUNT (1)
78/* @brief LMEM availability on the SoC. */
79#define FSL_FEATURE_SOC_LMEM_COUNT (1)
80/* @brief MCM availability on the SoC. */
81#define FSL_FEATURE_SOC_MCM_COUNT (1)
82/* @brief MU availability on the SoC. */
83#define FSL_FEATURE_SOC_MU_COUNT (1)
84/* @brief OCOTP availability on the SoC. */
85#define FSL_FEATURE_SOC_OCOTP_COUNT (1)
86/* @brief PDM availability on the SoC. */
87#define FSL_FEATURE_SOC_PDM_COUNT (1)
88/* @brief RDC availability on the SoC. */
89#define FSL_FEATURE_SOC_RDC_COUNT (1)
90/* @brief RDC_SEMAPHORE availability on the SoC. */
91#define FSL_FEATURE_SOC_RDC_SEMAPHORE_COUNT (2)
92/* @brief SDMA availability on the SoC. */
93#define FSL_FEATURE_SOC_SDMA_COUNT (3)
94/* @brief SEMA4 availability on the SoC. */
95#define FSL_FEATURE_SOC_SEMA4_COUNT (1)
96/* @brief SNVS availability on the SoC. */
97#define FSL_FEATURE_SOC_SNVS_COUNT (1)
98/* @brief SPBA availability on the SoC. */
99#define FSL_FEATURE_SOC_SPBA_COUNT (2)
100/* @brief SPDIF availability on the SoC. */
101#define FSL_FEATURE_SOC_SPDIF_COUNT (2)
102/* @brief SRC availability on the SoC. */
103#define FSL_FEATURE_SOC_SRC_COUNT (1)
104/* @brief USB availability on the SoC. */
105#define FSL_FEATURE_SOC_USB_COUNT (2)
106/* @brief USBNC availability on the SoC. */
107#define FSL_FEATURE_SOC_USBNC_COUNT (1)
108/* @brief USDHC availability on the SoC. */
109#define FSL_FEATURE_SOC_USDHC_COUNT (3)
110/* @brief WDOG availability on the SoC. */
111#define FSL_FEATURE_SOC_WDOG_COUNT (3)
112/* @brief XTALOSC availability on the SoC. */
113#define FSL_FEATURE_SOC_XTALOSC_COUNT (1)
114
115/* CCM module features */
116
117/* @brief Is affected by errata with ID 50235 (Incorrect clock setting for CAN affects by LPUART clock gate). */
118#define FSL_FEATURE_CCM_HAS_ERRATA_50235 (0)
119
120/* ECSPI module features */
121
122/* @brief ECSPI Tx FIFO Size. */
123#define FSL_FEATURE_ECSPI_TX_FIFO_SIZEn(x) (64)
124
125/* ENET module features */
126
127/* @brief Support Interrupt Coalesce */
128#define FSL_FEATURE_ENET_HAS_INTERRUPT_COALESCE (1)
129/* @brief Queue Size. */
130#define FSL_FEATURE_ENET_QUEUE (3)
131/* @brief Has AVB Support. */
132#define FSL_FEATURE_ENET_HAS_AVB (1)
133/* @brief Has Timer Pulse Width control. */
134#define FSL_FEATURE_ENET_HAS_TIMER_PWCONTROL (0)
135/* @brief Has Extend MDIO Support. */
136#define FSL_FEATURE_ENET_HAS_EXTEND_MDIO (1)
137/* @brief Has Additional 1588 Timer Channel Interrupt. */
138#define FSL_FEATURE_ENET_HAS_ADD_1588_TIMER_CHN_INT (1)
139/* @brief Support Interrupt Coalesce for each instance */
140#define FSL_FEATURE_ENET_INSTANCE_HAS_INTERRUPT_COALESCEn(x) (0)
141/* @brief Queue Size for each instance. */
142#define FSL_FEATURE_ENET_INSTANCE_QUEUEn(x) (3)
143/* @brief Has AVB Support for each instance. */
144#define FSL_FEATURE_ENET_INSTANCE_HAS_AVBn(x) (1)
145/* @brief Has Timer Pulse Width control for each instance. */
146#define FSL_FEATURE_ENET_INSTANCE_HAS_TIMER_PWCONTROLn(x) (0)
147/* @brief Has Extend MDIO Support for each instance. */
148#define FSL_FEATURE_ENET_INSTANCE_HAS_EXTEND_MDIOn(x) (1)
149/* @brief Has Additional 1588 Timer Channel Interrupt for each instance. */
150#define FSL_FEATURE_ENET_INSTANCE_HAS_ADD_1588_TIMER_CHN_INTn(x) (1)
151/* @brief Has threshold for the number of frames in the receive FIFO (register bit field RSEM[STAT_SECTION_EMPTY]). */
152#define FSL_FEATURE_ENET_HAS_RECEIVE_STATUS_THRESHOLD (1)
153
154/* GPC module features */
155
156/* @brief Has PGC MF. */
157#define FSL_FEATURE_GPC_HAS_PGC_MF (1)
158
159/* IGPIO module features */
160
161/* @brief Has data register set DR_SET. */
162#define FSL_FEATURE_IGPIO_HAS_DR_SET (0)
163/* @brief Has data register clear DR_CLEAR. */
164#define FSL_FEATURE_IGPIO_HAS_DR_CLEAR (0)
165/* @brief Has data register toggle DR_TOGGLE. */
166#define FSL_FEATURE_IGPIO_HAS_DR_TOGGLE (0)
167
168/* SAI module features */
169
170/* @brief Receive/transmit FIFO size in item count (register bit fields TCSR[FRDE], TCSR[FRIE], TCSR[FRF], TCR1[TFW], RCSR[FRDE], RCSR[FRIE], RCSR[FRF], RCR1[RFW], registers TFRn, RFRn). */
171#define FSL_FEATURE_SAI_FIFO_COUNT (128)
172/* @brief Receive/transmit channel number (register bit fields TCR3[TCE], RCR3[RCE], registers TDRn and RDRn). */
173#define FSL_FEATURE_SAI_CHANNEL_COUNTn(x) (8)
174/* @brief Maximum words per frame (register bit fields TCR3[WDFL], TCR4[FRSZ], TMR[TWM], RCR3[WDFL], RCR4[FRSZ], RMR[RWM]). */
175#define FSL_FEATURE_SAI_MAX_WORDS_PER_FRAME (32)
176/* @brief Has support of combining multiple data channel FIFOs into single channel FIFO (register bit fields TCR3[CFR], TCR4[FCOMB], TFR0[WCP], TFR1[WCP], RCR3[CFR], RCR4[FCOMB], RFR0[RCP], RFR1[RCP]). */
177#define FSL_FEATURE_SAI_HAS_FIFO_COMBINE_MODE (1)
178/* @brief Has packing of 8-bit and 16-bit data into each 32-bit FIFO word (register bit fields TCR4[FPACK], RCR4[FPACK]). */
179#define FSL_FEATURE_SAI_HAS_FIFO_PACKING (1)
180/* @brief Configures when the SAI will continue transmitting after a FIFO error has been detected (register bit fields TCR4[FCONT], RCR4[FCONT]). */
181#define FSL_FEATURE_SAI_HAS_FIFO_FUNCTION_AFTER_ERROR (1)
182/* @brief Configures if the frame sync is generated internally, a frame sync is only generated when the FIFO warning flag is clear or continuously (register bit fields TCR4[ONDEM], RCR4[ONDEM]). */
183#define FSL_FEATURE_SAI_HAS_ON_DEMAND_MODE (1)
184/* @brief Simplified bit clock source and asynchronous/synchronous mode selection (register bit fields TCR2[CLKMODE], RCR2[CLKMODE]), in comparison with the exclusively implemented TCR2[SYNC,BCS,BCI,MSEL], RCR2[SYNC,BCS,BCI,MSEL]. */
185#define FSL_FEATURE_SAI_HAS_CLOCKING_MODE (0)
186/* @brief Has register for configuration of the MCLK divide ratio (register bit fields MDR[FRACT], MDR[DIVIDE]). */
187#define FSL_FEATURE_SAI_HAS_MCLKDIV_REGISTER (0)
188/* @brief Interrupt source number */
189#define FSL_FEATURE_SAI_INT_SOURCE_NUM (1)
190/* @brief Has register of MCR. */
191#define FSL_FEATURE_SAI_HAS_MCR (1)
192/* @brief Has bit field MICS of the MCR register. */
193#define FSL_FEATURE_SAI_HAS_NO_MCR_MICS (1)
194/* @brief Has register of MDR */
195#define FSL_FEATURE_SAI_HAS_MDR (0)
196/* @brief Has support the BCLK bypass mode when BCLK = MCLK. */
197#define FSL_FEATURE_SAI_HAS_BCLK_BYPASS (1)
198/* @brief Has DIV bit fields of MCR register (register bit fields MCR[DIV]. */
199#define FSL_FEATURE_SAI_HAS_MCR_MCLK_POST_DIV (1)
200/* @brief Support Channel Mode (register bit fields TCR4[CHMOD]). */
201#define FSL_FEATURE_SAI_HAS_CHANNEL_MODE (1)
202/* @brief SAI5 AND SAI6 SHARE ONE IRQNUMBER. */
203#define FSL_FEATURE_SAI_SAI5_SAI6_SHARE_IRQ (1)
204
205/* LMEM module features */
206
207/* @brief Has process identifier support. */
208#define FSL_FEATURE_LMEM_HAS_SYSTEMBUS_CACHE (1)
209/* @brief Support instruction cache demote. */
210#define FSL_FEATURE_LMEM_SUPPORT_ICACHE_DEMOTE_REMOVE (1)
211/* @brief Has no NONCACHEABLE section. */
212#define FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION (0)
213/* @brief L1 ICACHE line size in byte. */
214#define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (16)
215/* @brief L1 DCACHE line size in byte. */
216#define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (16)
217
218/* MEMORY module features */
219
220/* @brief Memory map has offset between subsystems. */
221#define FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET (1)
222
223/* MU module features */
224
225/* @brief MU side for current core */
226#define FSL_FEATURE_MU_SIDE_B (1)
227/* @brief MU Has register CCR */
228#define FSL_FEATURE_MU_HAS_CCR (0)
229/* @brief MU Has register SR[RS], BSR[ARS] */
230#define FSL_FEATURE_MU_HAS_SR_RS (1)
231/* @brief MU Has register CR[RDIE], CR[RAIE], SR[RDIP], SR[RAIP] */
232#define FSL_FEATURE_MU_HAS_RESET_INT (0)
233/* @brief MU Has register SR[MURIP] */
234#define FSL_FEATURE_MU_HAS_SR_MURIP (0)
235/* @brief MU Has register SR[HRIP] */
236#define FSL_FEATURE_MU_HAS_SR_HRIP (0)
237/* @brief MU does not support enable clock of the other core, CR[CLKE] or CCR[CLKE]. */
238#define FSL_FEATURE_MU_NO_CLKE (1)
239/* @brief MU does not support NMI, CR[NMI]. */
240#define FSL_FEATURE_MU_NO_NMI (1)
241/* @brief MU does not support hold the other core reset. CR[RSTH] or CCR[RSTH]. */
242#define FSL_FEATURE_MU_NO_RSTH (1)
243/* @brief MU does not supports MU reset, CR[MUR]. */
244#define FSL_FEATURE_MU_NO_MUR (1)
245/* @brief MU does not supports hardware reset, CR[HR] or CCR[HR]. */
246#define FSL_FEATURE_MU_NO_HR (1)
247/* @brief MU supports mask the hardware reset. CR[HRM] or CCR[HRM]. */
248#define FSL_FEATURE_MU_HAS_HRM (1)
249/* @brief MU does not support check the other core power mode. SR[PM]. */
250#define FSL_FEATURE_MU_NO_PM (1)
251/* @brief MU supports reset assert interrupt. CR[RAIE] or BCR[RAIE]. */
252#define FSL_FEATURE_MU_HAS_RESET_ASSERT_INT (0)
253/* @brief MU supports reset de-assert interrupt. CR[RDIE] or BCR[RDIE]. */
254#define FSL_FEATURE_MU_HAS_RESET_DEASSERT_INT (0)
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/* PDM module features */
264
265/* @brief PDM FIFO offset */
266#define FSL_FEATURE_PDM_FIFO_OFFSET (4)
267/* @brief PDM Channel Number */
268#define FSL_FEATURE_PDM_CHANNEL_NUM (8)
269/* @brief PDM FIFO WIDTH Size */
270#define FSL_FEATURE_PDM_FIFO_WIDTH (2)
271/* @brief PDM FIFO DEPTH Size */
272#define FSL_FEATURE_PDM_FIFO_DEPTH (8)
273
274/* SDMA module features */
275
276/* @brief SDMA module channel number. */
277#define FSL_FEATURE_SDMA_MODULE_CHANNEL (32)
278/* @brief SDMA module event number. */
279#define FSL_FEATURE_SDMA_EVENT_NUM (48)
280/* @brief SDMA ROM memory to memory script start address. */
281#define FSL_FEATURE_SDMA_M2M_ADDR (644)
282/* @brief SDMA ROM peripheral to memory script start address. */
283#define FSL_FEATURE_SDMA_P2M_ADDR (685)
284/* @brief SDMA ROM memory to peripheral script start address. */
285#define FSL_FEATURE_SDMA_M2P_ADDR (749)
286/* @brief SDMA ROM uart to memory script start address. */
287#define FSL_FEATURE_SDMA_UART2M_ADDR (819)
288/* @brief SDMA ROM peripheral on SPBA to memory script start address. */
289#define FSL_FEATURE_SDMA_SHP2M_ADDR (893)
290/* @brief SDMA ROM memory to peripheral on SPBA script start address. */
291#define FSL_FEATURE_SDMA_M2SHP_ADDR (962)
292/* @brief SDMA ROM UART on SPBA to memory script start address. */
293#define FSL_FEATURE_SDMA_UARTSH2M_ADDR (1034)
294/* @brief SDMA ROM SPDIF to memory script start address. */
295#define FSL_FEATURE_SDMA_SPDIF2M_ADDR (1102)
296/* @brief SDMA ROM memory to SPDIF script start address. */
297#define FSL_FEATURE_SDMA_M2SPDIF_ADDR (1136)
298/* @brief SDMA ROM memory to MULTI_FIFO_SAI_TX script start address. */
299#define FSL_FEATURE_SDMA_MULTI_FIFO_SAI_TX_ADDR (6235)
300/* @brief SDMA ROM memory to MULTI_FIFO_SAI_RX script start address. */
301#define FSL_FEATURE_SDMA_MULTI_FIFO_SAI_RX_ADDR (6729)
302
303/* SEMA4 module features */
304
305/* @brief Gate counts */
306#define FSL_FEATURE_SEMA4_GATE_COUNT (16)
307
308/* SPBA module features */
309
310/* @brief SPBA module start address. */
311#define FSL_FEATURE_SPBA_STARTn(x) \
312 (((x) == SPBA2) ? (0x30000000) : \
313 (((x) == SPBA1) ? (0x30800000) : (-1)))
314/* @brief SPBA module end address. */
315#define FSL_FEATURE_SPBA_ENDn(x) \
316 (((x) == SPBA2) ? (0x300FFFFF) : \
317 (((x) == SPBA1) ? (0x308FFFFF) : (-1)))
318
319/* SysTick module features */
320
321/* @brief Systick has external reference clock. */
322#define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0)
323/* @brief Systick external reference clock is core clock divided by this value. */
324#define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0)
325
326/* IUART module features */
327
328/* @brief UART Transmit/Receive FIFO Size */
329#define FSL_FEATURE_IUART_FIFO_SIZEn(x) (32)
330/* @brief UART RX MUXed input selected option */
331#define FSL_FEATURE_IUART_RXDMUXSEL (1)
332
333/* USDHC module features */
334
335/* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */
336#define FSL_FEATURE_USDHC_HAS_EXT_DMA (1)
337/* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */
338#define FSL_FEATURE_USDHC_HAS_HS400_MODE (1)
339/* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */
340#define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1)
341/* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */
342#define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1)
343/* @brief USDHC has reset control */
344#define FSL_FEATURE_USDHC_HAS_RESET (0)
345/* @brief USDHC has no bitfield WTMK_LVL[WR_BRST_LEN] and WTMK_LVL[RD_BRST_LEN] */
346#define FSL_FEATURE_USDHC_HAS_NO_RW_BURST_LEN (0)
347/* @brief If USDHC instance support 8 bit width */
348#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(x) (1)
349/* @brief If USDHC instance support HS400 mode */
350#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_HS400_MODEn(x) (0)
351/* @brief If USDHC instance support 1v8 signal */
352#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_1V8_SIGNALn(x) (1)
353
354#endif /* _MIMX8MM6_cm4_FEATURES_H_ */
355