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