1 /* 2 ** ################################################################### 3 ** Version: rev. 2.0, 2019-09-23 4 ** Build: b211028 5 ** 6 ** Abstract: 7 ** Chip specific module features. 8 ** 9 ** Copyright 2016 Freescale Semiconductor, Inc. 10 ** Copyright 2016-2021 NXP 11 ** All rights reserved. 12 ** 13 ** SPDX-License-Identifier: BSD-3-Clause 14 ** 15 ** http: www.nxp.com 16 ** mail: support@nxp.com 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 _MIMX8MN6_ca53_FEATURES_H_ 28 #define _MIMX8MN6_ca53_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 /* CCM module features */ 108 109 /* @brief Is affected by errata with ID 50235 (Incorrect clock setting for CAN affects by LPUART clock gate). */ 110 #define FSL_FEATURE_CCM_HAS_ERRATA_50235 (0) 111 112 /* ECSPI module features */ 113 114 /* @brief ECSPI Tx FIFO Size. */ 115 #define FSL_FEATURE_ECSPI_TX_FIFO_SIZEn(x) (64) 116 117 /* ENET module features */ 118 119 /* @brief Support Interrupt Coalesce */ 120 #define FSL_FEATURE_ENET_HAS_INTERRUPT_COALESCE (1) 121 /* @brief Queue Size. */ 122 #define FSL_FEATURE_ENET_QUEUE (3) 123 /* @brief Has AVB Support. */ 124 #define FSL_FEATURE_ENET_HAS_AVB (1) 125 /* @brief Has Timer Pulse Width control. */ 126 #define FSL_FEATURE_ENET_HAS_TIMER_PWCONTROL (0) 127 /* @brief Has Extend MDIO Support. */ 128 #define FSL_FEATURE_ENET_HAS_EXTEND_MDIO (1) 129 /* @brief Has Additional 1588 Timer Channel Interrupt. */ 130 #define FSL_FEATURE_ENET_HAS_ADD_1588_TIMER_CHN_INT (1) 131 /* @brief Support Interrupt Coalesce for each instance */ 132 #define FSL_FEATURE_ENET_INSTANCE_HAS_INTERRUPT_COALESCEn(x) (1) 133 /* @brief Queue Size for each instance. */ 134 #define FSL_FEATURE_ENET_INSTANCE_QUEUEn(x) (3) 135 /* @brief Has AVB Support for each instance. */ 136 #define FSL_FEATURE_ENET_INSTANCE_HAS_AVBn(x) (1) 137 /* @brief Has Timer Pulse Width control for each instance. */ 138 #define FSL_FEATURE_ENET_INSTANCE_HAS_TIMER_PWCONTROLn(x) (0) 139 /* @brief Has Extend MDIO Support for each instance. */ 140 #define FSL_FEATURE_ENET_INSTANCE_HAS_EXTEND_MDIOn(x) (1) 141 /* @brief Has Additional 1588 Timer Channel Interrupt for each instance. */ 142 #define FSL_FEATURE_ENET_INSTANCE_HAS_ADD_1588_TIMER_CHN_INTn(x) (1) 143 /* @brief Has threshold for the number of frames in the receive FIFO (register bit field RSEM[STAT_SECTION_EMPTY]). */ 144 #define FSL_FEATURE_ENET_HAS_RECEIVE_STATUS_THRESHOLD (1) 145 /* @brief Has trasfer clock delay (register bit field ECR[TXC_DLY]). */ 146 #define FSL_FEATURE_ENET_HAS_RGMII_TXC_DELAY (0) 147 /* @brief Has receive clock delay (register bit field ECR[RXC_DLY]). */ 148 #define FSL_FEATURE_ENET_HAS_RGMII_RXC_DELAY (0) 149 /* @brief PTP Timestamp CAPTURE bit always returns 0 when the capture is not over. */ 150 #define FSL_FEATURE_ENET_TIMESTAMP_CAPTURE_BIT_INVALID (0) 151 152 /* GPC module features */ 153 154 /* @brief Has PGC MF. */ 155 #define FSL_FEATURE_GPC_HAS_PGC_MF (0) 156 157 /* IGPIO module features */ 158 159 /* @brief Has data register set DR_SET. */ 160 #define FSL_FEATURE_IGPIO_HAS_DR_SET (0) 161 /* @brief Has data register clear DR_CLEAR. */ 162 #define FSL_FEATURE_IGPIO_HAS_DR_CLEAR (0) 163 /* @brief Has data register toggle DR_TOGGLE. */ 164 #define FSL_FEATURE_IGPIO_HAS_DR_TOGGLE (0) 165 166 /* SAI module features */ 167 168 /* @brief SAI has FIFO in this soc (register bit fields TCR1[TFW]. */ 169 #define FSL_FEATURE_SAI_HAS_FIFO (1) 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_COUNTn(x) (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) (4) 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 /* ISI module features */ 206 207 /* No feature definitions */ 208 209 /* CACHE module features */ 210 211 /* @brief L1 ICACHE line size in byte. */ 212 #define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (64) 213 /* @brief L1 DCACHE line size in byte. */ 214 #define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (64) 215 /* @brief Has no NONCACHEABLE section. */ 216 #define FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION (0) 217 218 /* MEMORY module features */ 219 220 /* @brief Memory map doesn't have offset between subsystems. */ 221 #define FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET (0) 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] or BSR[APM]. */ 250 #define FSL_FEATURE_MU_NO_PM (0) 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 /* PDM module features */ 257 258 /* @brief PDM FIFO offset */ 259 #define FSL_FEATURE_PDM_FIFO_OFFSET (4) 260 /* @brief PDM Channel Number */ 261 #define FSL_FEATURE_PDM_CHANNEL_NUM (8) 262 /* @brief PDM FIFO WIDTH Size */ 263 #define FSL_FEATURE_PDM_FIFO_WIDTH (2) 264 /* @brief PDM FIFO DEPTH Size */ 265 #define FSL_FEATURE_PDM_FIFO_DEPTH (8) 266 /* @brief PDM has RANGE_CTRL register */ 267 #define FSL_FEATURE_PDM_HAS_RANGE_CTRL (0) 268 /* @brief PDM Has Low Frequency */ 269 #define FSL_FEATURE_PDM_HAS_STATUS_LOW_FREQ (1) 270 /* @brief CLKDIV factor in Medium, High and Low Quality modes */ 271 #define FSL_FEATURE_PDM_HIGH_QUALITY_CLKDIV_FACTOR (125) 272 /* @brief CLKDIV factor in Very Low Quality modes */ 273 #define FSL_FEATURE_PDM_VERY_LOW_QUALITY_CLKDIV_FACTOR (19) 274 /* @brief PDM Has No VADEF Bitfield In PDM VAD0_STAT Register */ 275 #define FSL_FEATURE_PDM_HAS_NO_VADEF (0) 276 277 /* SDMA module features */ 278 279 /* @brief SDMA module channel number. */ 280 #define FSL_FEATURE_SDMA_MODULE_CHANNEL (32) 281 /* @brief SDMA module event number. */ 282 #define FSL_FEATURE_SDMA_EVENT_NUM (48) 283 /* @brief SDMA ROM memory to memory script start address. */ 284 #define FSL_FEATURE_SDMA_M2M_ADDR (644) 285 /* @brief SDMA ROM peripheral to memory script start address. */ 286 #define FSL_FEATURE_SDMA_P2M_ADDR (685) 287 /* @brief SDMA ROM memory to peripheral script start address. */ 288 #define FSL_FEATURE_SDMA_M2P_ADDR (749) 289 /* @brief SDMA ROM uart to memory script start address. */ 290 #define FSL_FEATURE_SDMA_UART2M_ADDR (819) 291 /* @brief SDMA ROM peripheral on SPBA to memory script start address. */ 292 #define FSL_FEATURE_SDMA_SHP2M_ADDR (893) 293 /* @brief SDMA ROM memory to peripheral on SPBA script start address. */ 294 #define FSL_FEATURE_SDMA_M2SHP_ADDR (962) 295 /* @brief SDMA ROM UART on SPBA to memory script start address. */ 296 #define FSL_FEATURE_SDMA_UARTSH2M_ADDR (1034) 297 /* @brief SDMA ROM SPDIF to memory script start address. */ 298 #define FSL_FEATURE_SDMA_SPDIF2M_ADDR (1102) 299 /* @brief SDMA ROM memory to SPDIF script start address. */ 300 #define FSL_FEATURE_SDMA_M2SPDIF_ADDR (1136) 301 /* @brief SDMA ROM memory to MULTI_FIFO_SAI_TX script start address. */ 302 #define FSL_FEATURE_SDMA_MULTI_FIFO_SAI_TX_ADDR (6235) 303 /* @brief SDMA ROM memory to MULTI_FIFO_SAI_RX script start address. */ 304 #define FSL_FEATURE_SDMA_MULTI_FIFO_SAI_RX_ADDR (6729) 305 306 /* SEMA4 module features */ 307 308 /* @brief Gate counts */ 309 #define FSL_FEATURE_SEMA4_GATE_COUNT (16) 310 311 /* SPBA module features */ 312 313 /* @brief SPBA module start address. */ 314 #define FSL_FEATURE_SPBA_STARTn(x) \ 315 (((x) == SPBA2) ? (0x30000000) : \ 316 (((x) == SPBA1) ? (0x30800000) : (-1))) 317 /* @brief SPBA module end address. */ 318 #define FSL_FEATURE_SPBA_ENDn(x) \ 319 (((x) == SPBA2) ? (0x300FFFFF) : \ 320 (((x) == SPBA1) ? (0x308FFFFF) : (-1))) 321 322 /* IUART module features */ 323 324 /* @brief UART Transmit/Receive FIFO Size */ 325 #define FSL_FEATURE_IUART_FIFO_SIZEn(x) (32) 326 /* @brief UART RX MUXed input selected option */ 327 #define FSL_FEATURE_IUART_RXDMUXSEL (1) 328 329 /* USDHC module features */ 330 331 /* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */ 332 #define FSL_FEATURE_USDHC_HAS_EXT_DMA (1) 333 /* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */ 334 #define FSL_FEATURE_USDHC_HAS_HS400_MODE (1) 335 /* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */ 336 #define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1) 337 /* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */ 338 #define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1) 339 /* @brief USDHC has reset control */ 340 #define FSL_FEATURE_USDHC_HAS_RESET (0) 341 /* @brief USDHC has no bitfield WTMK_LVL[WR_BRST_LEN] and WTMK_LVL[RD_BRST_LEN] */ 342 #define FSL_FEATURE_USDHC_HAS_NO_RW_BURST_LEN (0) 343 /* @brief If USDHC instance support 8 bit width */ 344 #define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(x) (1) 345 /* @brief If USDHC instance support HS400 mode */ 346 #define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_HS400_MODEn(x) (0) 347 /* @brief If USDHC instance support 1v8 signal */ 348 #define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_1V8_SIGNALn(x) (1) 349 /* @brief Has no retuning time counter (HOST_CTRL_CAP[TIME_COUNT_RETURNING]) */ 350 #define FSL_FEATURE_USDHC_REGISTER_HOST_CTRL_CAP_HAS_NO_RETUNING_TIME_COUNTER (0) 351 352 #endif /* _MIMX8MN6_ca53_FEATURES_H_ */ 353 354