aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h')
-rw-r--r--lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h388
1 files changed, 388 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h
new file mode 100644
index 000000000..9fdfdcf83
--- /dev/null
+++ b/lib/chibios-contrib/ext/mcux-sdk/devices/MIMX8MD7/MIMX8MD7_cm4_features.h
@@ -0,0 +1,388 @@
1/*
2** ###################################################################
3** Version: rev. 4.0, 2018-01-26
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 (2016-06-02)
20** Initial version.
21** - rev. 2.0 (2017-04-27)
22** Rev.B Header EAR1
23** - rev. 3.0 (2017-07-19)
24** Rev.C Header EAR2
25** - rev. 4.0 (2018-01-26)
26** Rev.D Header RFP
27**
28** ###################################################################
29*/
30
31#ifndef _MIMX8MD7_cm4_FEATURES_H_
32#define _MIMX8MD7_cm4_FEATURES_H_
33
34/* SOC module features */
35
36/* @brief AIPSTZ availability on the SoC. */
37#define FSL_FEATURE_SOC_AIPSTZ_COUNT (4)
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 DDRC availability on the SoC. */
47#define FSL_FEATURE_SOC_DDRC_COUNT (1)
48/* @brief ECSPI availability on the SoC. */
49#define FSL_FEATURE_SOC_ECSPI_COUNT (3)
50/* @brief ENET availability on the SoC. */
51#define FSL_FEATURE_SOC_ENET_COUNT (1)
52/* @brief GPC availability on the SoC. */
53#define FSL_FEATURE_SOC_GPC_COUNT (1)
54/* @brief GPC_PGC availability on the SoC. */
55#define FSL_FEATURE_SOC_GPC_PGC_COUNT (1)
56/* @brief GPMI availability on the SoC. */
57#define FSL_FEATURE_SOC_GPMI_COUNT (1)
58/* @brief GPT availability on the SoC. */
59#define FSL_FEATURE_SOC_GPT_COUNT (6)
60/* @brief I2S availability on the SoC. */
61#define FSL_FEATURE_SOC_I2S_COUNT (6)
62/* @brief IGPIO availability on the SoC. */
63#define FSL_FEATURE_SOC_IGPIO_COUNT (5)
64/* @brief II2C availability on the SoC. */
65#define FSL_FEATURE_SOC_II2C_COUNT (4)
66/* @brief IOMUXC availability on the SoC. */
67#define FSL_FEATURE_SOC_IOMUXC_COUNT (1)
68/* @brief IOMUXC_GPR availability on the SoC. */
69#define FSL_FEATURE_SOC_IOMUXC_GPR_COUNT (1)
70/* @brief IPWM availability on the SoC. */
71#define FSL_FEATURE_SOC_IPWM_COUNT (4)
72/* @brief IRQSTEER availability on the SoC. */
73#define FSL_FEATURE_SOC_IRQSTEER_COUNT (1)
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 MIPI_CSI2RX availability on the SoC. */
83#define FSL_FEATURE_SOC_MIPI_CSI2RX_COUNT (2)
84/* @brief MIPI_DSI_HOST availability on the SoC. */
85#define FSL_FEATURE_SOC_MIPI_DSI_HOST_COUNT (1)
86/* @brief MU availability on the SoC. */
87#define FSL_FEATURE_SOC_MU_COUNT (1)
88/* @brief OCOTP availability on the SoC. */
89#define FSL_FEATURE_SOC_OCOTP_COUNT (1)
90/* @brief QuadSPI availability on the SoC. */
91#define FSL_FEATURE_SOC_QuadSPI_COUNT (1)
92/* @brief RDC availability on the SoC. */
93#define FSL_FEATURE_SOC_RDC_COUNT (1)
94/* @brief RDC_SEMAPHORE availability on the SoC. */
95#define FSL_FEATURE_SOC_RDC_SEMAPHORE_COUNT (2)
96/* @brief ROMC availability on the SoC. */
97#define FSL_FEATURE_SOC_ROMC_COUNT (1)
98/* @brief SEMA4 availability on the SoC. */
99#define FSL_FEATURE_SOC_SEMA4_COUNT (1)
100/* @brief SNVS availability on the SoC. */
101#define FSL_FEATURE_SOC_SNVS_COUNT (1)
102/* @brief SPBA availability on the SoC. */
103#define FSL_FEATURE_SOC_SPBA_COUNT (2)
104/* @brief SPDIF availability on the SoC. */
105#define FSL_FEATURE_SOC_SPDIF_COUNT (2)
106/* @brief SRC availability on the SoC. */
107#define FSL_FEATURE_SOC_SRC_COUNT (1)
108/* @brief USDHC availability on the SoC. */
109#define FSL_FEATURE_SOC_USDHC_COUNT (2)
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) \
174 (((x) == I2S1) ? (8) : \
175 (((x) == I2S2) ? (1) : \
176 (((x) == I2S3) ? (1) : \
177 (((x) == I2S4) ? (1) : \
178 (((x) == I2S5) ? (1) : \
179 (((x) == I2S6) ? (1) : (-1)))))))
180/* @brief Maximum words per frame (register bit fields TCR3[WDFL], TCR4[FRSZ], TMR[TWM], RCR3[WDFL], RCR4[FRSZ], RMR[RWM]). */
181#define FSL_FEATURE_SAI_MAX_WORDS_PER_FRAME (32)
182/* @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]). */
183#define FSL_FEATURE_SAI_HAS_FIFO_COMBINE_MODE (1)
184/* @brief Has packing of 8-bit and 16-bit data into each 32-bit FIFO word (register bit fields TCR4[FPACK], RCR4[FPACK]). */
185#define FSL_FEATURE_SAI_HAS_FIFO_PACKING (1)
186/* @brief Configures when the SAI will continue transmitting after a FIFO error has been detected (register bit fields TCR4[FCONT], RCR4[FCONT]). */
187#define FSL_FEATURE_SAI_HAS_FIFO_FUNCTION_AFTER_ERROR (1)
188/* @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]). */
189#define FSL_FEATURE_SAI_HAS_ON_DEMAND_MODE (1)
190/* @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]. */
191#define FSL_FEATURE_SAI_HAS_CLOCKING_MODE (0)
192/* @brief Has register for configuration of the MCLK divide ratio (register bit fields MDR[FRACT], MDR[DIVIDE]). */
193#define FSL_FEATURE_SAI_HAS_MCLKDIV_REGISTER (0)
194/* @brief Interrupt source number */
195#define FSL_FEATURE_SAI_INT_SOURCE_NUM (1)
196/* @brief Has register of MCR. */
197#define FSL_FEATURE_SAI_HAS_MCR (0)
198/* @brief Has bit field MICS of the MCR register. */
199#define FSL_FEATURE_SAI_HAS_NO_MCR_MICS (1)
200/* @brief Has register of MDR */
201#define FSL_FEATURE_SAI_HAS_MDR (0)
202/* @brief Has support the BCLK bypass mode when BCLK = MCLK. */
203#define FSL_FEATURE_SAI_HAS_BCLK_BYPASS (0)
204/* @brief Has DIV bit fields of MCR register (register bit fields MCR[DIV]. */
205#define FSL_FEATURE_SAI_HAS_MCR_MCLK_POST_DIV (0)
206/* @brief Support Channel Mode (register bit fields TCR4[CHMOD]). */
207#define FSL_FEATURE_SAI_HAS_CHANNEL_MODE (1)
208/* @brief SAI5 AND SAI6 SHARE ONE IRQNUMBER. */
209#define FSL_FEATURE_SAI_SAI5_SAI6_SHARE_IRQ (1)
210
211/* LMEM module features */
212
213/* @brief Has process identifier support. */
214#define FSL_FEATURE_LMEM_HAS_SYSTEMBUS_CACHE (1)
215/* @brief Support instruction cache demote. */
216#define FSL_FEATURE_LMEM_SUPPORT_ICACHE_DEMOTE_REMOVE (1)
217/* @brief Has no NONCACHEABLE section. */
218#define FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION (0)
219/* @brief L1 ICACHE line size in byte. */
220#define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (32)
221/* @brief L1 DCACHE line size in byte. */
222#define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (32)
223
224/* MEMORY module features */
225
226/* @brief Memory map has offset between subsystems. */
227#define FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET (1)
228
229/* MU module features */
230
231/* @brief MU side for current core */
232#define FSL_FEATURE_MU_SIDE_B (1)
233/* @brief MU Has register CCR */
234#define FSL_FEATURE_MU_HAS_CCR (0)
235/* @brief MU Has register SR[RS], BSR[ARS] */
236#define FSL_FEATURE_MU_HAS_SR_RS (1)
237/* @brief MU Has register CR[RDIE], CR[RAIE], SR[RDIP], SR[RAIP] */
238#define FSL_FEATURE_MU_HAS_RESET_INT (0)
239/* @brief MU Has register SR[MURIP] */
240#define FSL_FEATURE_MU_HAS_SR_MURIP (0)
241/* @brief MU Has register SR[HRIP] */
242#define FSL_FEATURE_MU_HAS_SR_HRIP (0)
243/* @brief MU does not support enable clock of the other core, CR[CLKE] or CCR[CLKE]. */
244#define FSL_FEATURE_MU_NO_CLKE (1)
245/* @brief MU does not support NMI, CR[NMI]. */
246#define FSL_FEATURE_MU_NO_NMI (1)
247/* @brief MU does not support hold the other core reset. CR[RSTH] or CCR[RSTH]. */
248#define FSL_FEATURE_MU_NO_RSTH (1)
249/* @brief MU does not supports MU reset, CR[MUR]. */
250#define FSL_FEATURE_MU_NO_MUR (1)
251/* @brief MU does not supports hardware reset, CR[HR] or CCR[HR]. */
252#define FSL_FEATURE_MU_NO_HR (1)
253/* @brief MU supports mask the hardware reset. CR[HRM] or CCR[HRM]. */
254#define FSL_FEATURE_MU_HAS_HRM (1)
255/* @brief MU does not support check the other core power mode. SR[PM]. */
256#define FSL_FEATURE_MU_NO_PM (1)
257/* @brief MU supports reset assert interrupt. CR[RAIE] or BCR[RAIE]. */
258#define FSL_FEATURE_MU_HAS_RESET_ASSERT_INT (0)
259/* @brief MU supports reset de-assert interrupt. CR[RDIE] or BCR[RDIE]. */
260#define FSL_FEATURE_MU_HAS_RESET_DEASSERT_INT (0)
261
262/* interrupt module features */
263
264/* @brief Lowest interrupt request number. */
265#define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14)
266/* @brief Highest interrupt request number. */
267#define FSL_FEATURE_INTERRUPT_IRQ_MAX (105)
268
269/* QSPI module features */
270
271/* @brief QSPI lookup table depth. */
272#define FSL_FEATURE_QSPI_LUT_DEPTH (64)
273/* @brief QSPI Tx FIFO depth. */
274#define FSL_FEATURE_QSPI_TXFIFO_DEPTH (16)
275/* @brief QSPI Rx FIFO depth. */
276#define FSL_FEATURE_QSPI_RXFIFO_DEPTH (16)
277/* @brief QSPI AHB buffer count. */
278#define FSL_FEATURE_QSPI_AHB_BUFFER_COUNT (4)
279/* @brief QSPI has command usage error flag. */
280#define FSL_FEATURE_QSPI_HAS_IP_COMMAND_USAGE_ERROR (1)
281/* @brief QSPI support parallel mode. */
282#define FSL_FEATURE_QSPI_SUPPORT_PARALLEL_MODE (1)
283/* @brief QSPI support dual die. */
284#define FSL_FEATURE_QSPI_SUPPORT_DUAL_DIE (1)
285/* @brief there is no SCLKCFG bit in MCR register. */
286#define FSL_FEATURE_QSPI_CLOCK_CONTROL_EXTERNAL (1)
287/* @brief there is no AITEF bit in FR register. */
288#define FSL_FEATURE_QSPI_HAS_NO_AITEF (1)
289/* @brief there is no AIBSEF bit in FR register. */
290#define FSL_FEATURE_QSPI_HAS_NO_AIBSEF (1)
291/* @brief there is no TXDMA and TXWA bit in SR register. */
292#define FSL_FEATURE_QSPI_HAS_NO_TXDMA (1)
293/* @brief there is no SFACR register. */
294#define FSL_FEATURE_QSPI_HAS_NO_SFACR (1)
295/* @brief there is no TDH bit in FLSHCR register. */
296#define FSL_FEATURE_QSPI_HAS_NO_TDH (0)
297/* @brief QSPI AHB buffer size in byte. */
298#define FSL_FEATURE_QSPI_AHB_BUFFER_SIZE (1024U)
299/* @brief QSPI AMBA base address. */
300#define FSL_FEATURE_QSPI_AMBA_BASE (0xC0000000U)
301/* @brief QSPI AHB buffer ARDB base address. */
302#define FSL_FEATURE_QSPI_ARDB_BASE (0x34000000U)
303/* @brief QSPI has no SOCCR register. */
304#define FSL_FEATURE_QSPI_HAS_NO_SOCCR_REG (1)
305
306/* SDMA module features */
307
308/* @brief SDMA module channel number. */
309#define FSL_FEATURE_SDMA_MODULE_CHANNEL (32)
310/* @brief SDMA module event number. */
311#define FSL_FEATURE_SDMA_EVENT_NUM (48)
312/* @brief SDMA ROM memory to memory script start address. */
313#define FSL_FEATURE_SDMA_M2M_ADDR (644)
314/* @brief SDMA ROM peripheral to memory script start address. */
315#define FSL_FEATURE_SDMA_P2M_ADDR (685)
316/* @brief SDMA ROM memory to peripheral script start address. */
317#define FSL_FEATURE_SDMA_M2P_ADDR (749)
318/* @brief SDMA ROM uart to memory script start address. */
319#define FSL_FEATURE_SDMA_UART2M_ADDR (819)
320/* @brief SDMA ROM peripheral on SPBA to memory script start address. */
321#define FSL_FEATURE_SDMA_SHP2M_ADDR (893)
322/* @brief SDMA ROM memory to peripheral on SPBA script start address. */
323#define FSL_FEATURE_SDMA_M2SHP_ADDR (962)
324/* @brief SDMA ROM UART on SPBA to memory script start address. */
325#define FSL_FEATURE_SDMA_UARTSH2M_ADDR (1034)
326/* @brief SDMA ROM SPDIF to memory script start address. */
327#define FSL_FEATURE_SDMA_SPDIF2M_ADDR (1102)
328/* @brief SDMA ROM memory to SPDIF script start address. */
329#define FSL_FEATURE_SDMA_M2SPDIF_ADDR (1136)
330
331/* SEMA4 module features */
332
333/* @brief Gate counts */
334#define FSL_FEATURE_SEMA4_GATE_COUNT (16)
335
336/* SNVS module features */
337
338/* @brief Has Secure Real Time Counter Enabled and Valid (bit field LPCR[SRTC_ENV]). */
339#define FSL_FEATURE_SNVS_HAS_SRTC (1)
340
341/* SPBA module features */
342
343/* @brief SPBA module start address. */
344#define FSL_FEATURE_SPBA_STARTn(x) \
345 (((x) == SPBA1) ? (0x30800000) : \
346 (((x) == SPBA2) ? (0x30000000) : (-1)))
347/* @brief SPBA module end address. */
348#define FSL_FEATURE_SPBA_ENDn(x) \
349 (((x) == SPBA1) ? (0x308FFFFF) : \
350 (((x) == SPBA2) ? (0x300FFFFF) : (-1)))
351
352/* SysTick module features */
353
354/* @brief Systick has external reference clock. */
355#define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0)
356/* @brief Systick external reference clock is core clock divided by this value. */
357#define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0)
358
359/* IUART module features */
360
361/* @brief UART Transmit/Receive FIFO Size */
362#define FSL_FEATURE_IUART_FIFO_SIZEn(x) (32)
363/* @brief UART RX MUXed input selected option */
364#define FSL_FEATURE_IUART_RXDMUXSEL (1)
365
366/* USDHC module features */
367
368/* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */
369#define FSL_FEATURE_USDHC_HAS_EXT_DMA (1)
370/* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */
371#define FSL_FEATURE_USDHC_HAS_HS400_MODE (1)
372/* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */
373#define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1)
374/* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */
375#define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1)
376/* @brief USDHC has reset control */
377#define FSL_FEATURE_USDHC_HAS_RESET (0)
378/* @brief USDHC has no bitfield WTMK_LVL[WR_BRST_LEN] and WTMK_LVL[RD_BRST_LEN] */
379#define FSL_FEATURE_USDHC_HAS_NO_RW_BURST_LEN (0)
380/* @brief If USDHC instance support 8 bit width */
381#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(x) (1)
382/* @brief If USDHC instance support HS400 mode */
383#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_HS400_MODEn(x) (0)
384/* @brief If USDHC instance support 1v8 signal */
385#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_1V8_SIGNALn(x) (1)
386
387#endif /* _MIMX8MD7_cm4_FEATURES_H_ */
388