1 /* 2 ** ################################################################### 3 ** Version: rev. 1.0, 2024-03-21 4 ** Build: b240524 5 ** 6 ** Abstract: 7 ** Chip specific module features. 8 ** 9 ** Copyright 2016 Freescale Semiconductor, Inc. 10 ** Copyright 2016-2024 NXP 11 ** SPDX-License-Identifier: BSD-3-Clause 12 ** 13 ** http: www.nxp.com 14 ** mail: support@nxp.com 15 ** 16 ** Revisions: 17 ** - rev. 1.0 (2024-03-21) 18 ** Initial version. 19 ** 20 ** ################################################################### 21 */ 22 23 #ifndef _MCXW716A_FEATURES_H_ 24 #define _MCXW716A_FEATURES_H_ 25 26 /* SOC module features */ 27 28 /* @brief AXBS availability on the SoC. */ 29 #define FSL_FEATURE_SOC_AXBS_COUNT (1) 30 /* @brief BRIC availability on the SoC. */ 31 #define FSL_FEATURE_SOC_BRIC_COUNT (1) 32 /* @brief CIU2 availability on the SoC. */ 33 #define FSL_FEATURE_SOC_CIU2_COUNT (1) 34 /* @brief CMC availability on the SoC. */ 35 #define FSL_FEATURE_SOC_CMC_COUNT (1) 36 /* @brief CRC availability on the SoC. */ 37 #define FSL_FEATURE_SOC_CRC_COUNT (1) 38 /* @brief EDMA availability on the SoC. */ 39 #define FSL_FEATURE_SOC_EDMA_COUNT (1) 40 /* @brief EWM availability on the SoC. */ 41 #define FSL_FEATURE_SOC_EWM_COUNT (1) 42 /* @brief FLEXIO availability on the SoC. */ 43 #define FSL_FEATURE_SOC_FLEXIO_COUNT (1) 44 /* @brief GPIO availability on the SoC. */ 45 #define FSL_FEATURE_SOC_GPIO_COUNT (4) 46 /* @brief SPC availability on the SoC. */ 47 #define FSL_FEATURE_SOC_SPC_COUNT (1) 48 /* @brief I3C availability on the SoC. */ 49 #define FSL_FEATURE_SOC_I3C_COUNT (1) 50 /* @brief LPADC availability on the SoC. */ 51 #define FSL_FEATURE_SOC_LPADC_COUNT (1) 52 /* @brief LPCMP availability on the SoC. */ 53 #define FSL_FEATURE_SOC_LPCMP_COUNT (2) 54 /* @brief LPI2C availability on the SoC. */ 55 #define FSL_FEATURE_SOC_LPI2C_COUNT (2) 56 /* @brief LPIT availability on the SoC. */ 57 #define FSL_FEATURE_SOC_LPIT_COUNT (1) 58 /* @brief LPSPI availability on the SoC. */ 59 #define FSL_FEATURE_SOC_LPSPI_COUNT (2) 60 /* @brief LPTMR availability on the SoC. */ 61 #define FSL_FEATURE_SOC_LPTMR_COUNT (2) 62 /* @brief LPUART availability on the SoC. */ 63 #define FSL_FEATURE_SOC_LPUART_COUNT (2) 64 /* @brief LTC availability on the SoC. */ 65 #define FSL_FEATURE_SOC_LTC_COUNT (1) 66 /* @brief MCM availability on the SoC. */ 67 #define FSL_FEATURE_SOC_MCM_COUNT (1) 68 /* @brief MSCM availability on the SoC. */ 69 #define FSL_FEATURE_SOC_MSCM_COUNT (1) 70 /* @brief PORT availability on the SoC. */ 71 #define FSL_FEATURE_SOC_PORT_COUNT (4) 72 /* @brief RTC availability on the SoC. */ 73 #define FSL_FEATURE_SOC_RTC_COUNT (1) 74 /* @brief SCG availability on the SoC. */ 75 #define FSL_FEATURE_SOC_SCG_COUNT (1) 76 /* @brief SEMA42 availability on the SoC. */ 77 #define FSL_FEATURE_SOC_SEMA42_COUNT (1) 78 /* @brief SFA availability on the SoC. */ 79 #define FSL_FEATURE_SOC_SFA_COUNT (2) 80 /* @brief SYSPM availability on the SoC. */ 81 #define FSL_FEATURE_SOC_SYSPM_COUNT (1) 82 /* @brief TPM availability on the SoC. */ 83 #define FSL_FEATURE_SOC_TPM_COUNT (3) 84 /* @brief TRGMUX availability on the SoC. */ 85 #define FSL_FEATURE_SOC_TRGMUX_COUNT (1) 86 /* @brief TSTMR availability on the SoC. */ 87 #define FSL_FEATURE_SOC_TSTMR_COUNT (1) 88 /* @brief VREF availability on the SoC. */ 89 #define FSL_FEATURE_SOC_VREF_COUNT (1) 90 /* @brief WDOG availability on the SoC. */ 91 #define FSL_FEATURE_SOC_WDOG_COUNT (2) 92 /* @brief WUU availability on the SoC. */ 93 #define FSL_FEATURE_SOC_WUU_COUNT (1) 94 /* @brief ZLL availability on the SoC. */ 95 #define FSL_FEATURE_SOC_ZLL_COUNT (1) 96 97 /* LPADC module features */ 98 99 /* @brief FIFO availability on the SoC. */ 100 #define FSL_FEATURE_LPADC_FIFO_COUNT (2) 101 /* @brief Does not support two simultanious single ended conversions (bitfield TCTRL[FIFO_SEL_B]). */ 102 #define FSL_FEATURE_LPADC_HAS_NO_TCTRL_FIFO_SEL_B (0) 103 /* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */ 104 #define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1) 105 /* @brief Has differential mode (bitfield CMDLn[DIFF]). */ 106 #define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0) 107 /* @brief Has channel scale (bitfield CMDLn[CSCALE]). */ 108 #define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0) 109 /* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */ 110 #define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1) 111 /* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */ 112 #define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1) 113 /* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */ 114 #define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1) 115 /* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */ 116 #define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1) 117 /* @brief Has offset calibration (bitfield CTRL[CALOFS]). */ 118 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1) 119 /* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */ 120 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1) 121 /* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */ 122 #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1) 123 /* @brief Has internal clock (bitfield CFG[ADCKEN]). */ 124 #define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0) 125 /* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */ 126 #define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0) 127 /* @brief Has calibration (bitfield CFG[CALOFS]). */ 128 #define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0) 129 /* @brief Has offset trim (register OFSTRIM). */ 130 #define FSL_FEATURE_LPADC_HAS_OFSTRIM (1) 131 /* @brief OFSTRIM availability on the SoC. */ 132 #define FSL_FEATURE_LPADC_OFSTRIM_COUNT (2) 133 /* @brief Has Trigger status register. */ 134 #define FSL_FEATURE_LPADC_HAS_TSTAT (1) 135 /* @brief Has power select (bitfield CFG[PWRSEL]). */ 136 #define FSL_FEATURE_LPADC_HAS_CFG_PWRSEL (1) 137 /* @brief Has alternate channel B scale (bitfield CMDLn[ALTB_CSCALE]). */ 138 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_CSCALE (0) 139 /* @brief Has alternate channel B select enable (bitfield CMDLn[ALTBEN]). */ 140 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTBEN (0) 141 /* @brief Has alternate channel input (bitfield CMDLn[ALTB_ADCH]). */ 142 #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_ADCH (0) 143 /* @brief Has offset calibration mode (bitfield CTRL[CALOFSMODE]). */ 144 #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFSMODE (0) 145 /* @brief Conversion averaged bitfiled width. */ 146 #define FSL_FEATURE_LPADC_CONVERSIONS_AVERAGED_BITFIELD_WIDTH (3) 147 /* @brief Has B side channels. */ 148 #define FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS (1) 149 /* @brief Indicate whether the LPADC STAT register has trigger exception interrupt function (bitfield STAT[TEXC_INT]). */ 150 #define FSL_FEATURE_LPADC_HAS_STAT_TEXC_INT (1) 151 /* @brief Indicate whether the LPADC STAT register has trigger completion interrupt function (bitfield STAT[TCOMP_INT]). */ 152 #define FSL_FEATURE_LPADC_HAS_STAT_TCOMP_INT (1) 153 /* @brief Indicate whether the LPADC STAT register has calibration ready function (bitfield STAT[CAL_RDY]). */ 154 #define FSL_FEATURE_LPADC_HAS_STAT_CAL_RDY (1) 155 /* @brief Indicate whether the LPADC STAT register has ADC active function (bitfield STAT[ADC_ACTIVE]). */ 156 #define FSL_FEATURE_LPADC_HAS_STAT_ADC_ACTIVE (1) 157 /* @brief Indicate whether the LPADC IE register has trigger exception interrupt enable function (bitfield IE[TEXC_IE]). */ 158 #define FSL_FEATURE_LPADC_HAS_IE_TEXC_IE (1) 159 /* @brief Indicate whether the LPADC IE register has trigger completion interrupt enable function (bitfield IE[TCOMP_IE]). */ 160 #define FSL_FEATURE_LPADC_HAS_IE_TCOMP_IE (1) 161 /* @brief Indicate whether the LPADC CFG register has trigger resume/restart enable function (bitfield CFG[TRES]). */ 162 #define FSL_FEATURE_LPADC_HAS_CFG_TRES (1) 163 /* @brief Indicate whether the LPADC CFG register has trigger command resume/restart enable function (bitfield CFG[TCMDRES]). */ 164 #define FSL_FEATURE_LPADC_HAS_CFG_TCMDRES (1) 165 /* @brief Indicate whether the LPADC CFG register has high priority trigger exception disable function (bitfield CFG[HPT_EXDI]). */ 166 #define FSL_FEATURE_LPADC_HAS_CFG_HPT_EXDI (1) 167 /* @brief Indicate LPADC CFG register TPRICTRL bitfield width. */ 168 #define FSL_FEATURE_LPADC_CFG_TPRICTRL_BITFIELD_WIDTH (2) 169 /* @brief Has internal temperature sensor. */ 170 #define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1) 171 /* @brief Temperature sensor parameter A (slope). */ 172 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (787U) 173 /* @brief Temperature sensor parameter B (offset). */ 174 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (289U) 175 /* @brief Temperature sensor parameter Alpha. */ 176 #define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (9.1f) 177 /* @brief The buffer size of temperature sensor. */ 178 #define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (2U) 179 180 /* CCM32K module features */ 181 182 /* @brief Has Amplifier gain fine adjustment bits (register bit OSC32K_CTRL[FINE_AMP_GAIN]). */ 183 #define FSL_FEATURE_CCM32K_HAS_FINE_AMP_GAIN (0) 184 /* @brief Has CGC32K register. */ 185 #define FSL_FEATURE_CCM32K_HAS_CGC32K (1) 186 /* @brief Has CLKMON_CTRL register. */ 187 #define FSL_FEATURE_CCM32K_HAS_CLKMON_CTRL (1) 188 189 /* CMC module features */ 190 191 /* @brief Has on chip TCMC0 */ 192 #define FSL_FEATURE_CMC_HAS_TCMC0 (0) 193 /* @brief Has on chip SYSRAM0 */ 194 #define FSL_FEATURE_CMC_HAS_SYSRAM0 (0) 195 /* @brief Has on chip SYSRAM1 */ 196 #define FSL_FEATURE_CMC_HAS_SYSRAM1 (0) 197 /* @brief Has RSTCNT register */ 198 #define FSL_FEATURE_CMC_HAS_RSTCNT_REGISTER (1) 199 /* @brief Does not have SRAMCTL register */ 200 #define FSL_FEATURE_CMC_HAS_NO_SRAMCTL_REGISTER (1) 201 202 /* EDMA module features */ 203 204 /* @brief Number of DMA channels (related to number of registers TCD, DCHPRI, bit fields ERQ[ERQn], EEI[EEIn], INT[INTn], ERR[ERRn], HRS[HRSn] and bit field widths ES[ERRCHN], CEEI[CEEI], SEEI[SEEI], CERQ[CERQ], SERQ[SERQ], CDNE[CDNE], SSRT[SSRT], CERR[CERR], CINT[CINT], TCDn_CITER_ELINKYES[LINKCH], TCDn_CSR[MAJORLINKCH], TCDn_BITER_ELINKYES[LINKCH]). (Valid only for eDMA modules.) */ 205 #define FSL_FEATURE_EDMA_MODULE_CHANNEL (16) 206 /* @brief Number of DMA channel groups (register bit fields CR[ERGA], CR[GRPnPRI], ES[GPE], DCHPRIn[GRPPRI]). (Valid only for eDMA modules.) */ 207 #define FSL_FEATURE_EDMA_CHANNEL_GROUP_COUNT (1) 208 /* @brief Has DMA_Error interrupt vector. */ 209 #define FSL_FEATURE_EDMA_HAS_ERROR_IRQ (0) 210 /* @brief Has register access permission. */ 211 #define FSL_FEATURE_HAVE_DMA_CONTROL_REGISTER_ACCESS_PERMISSION (1) 212 /* @brief If dma has common clock gate */ 213 #define FSL_FEATURE_EDMA_HAS_COMMON_CLOCK_GATE (1) 214 /* @brief Number of channel for each EDMA instance, (only defined for soc with different channel numbers for difference instance) */ 215 #define FSL_FEATURE_EDMA_INSTANCE_CHANNELn(x) (16) 216 /* @brief Has no EMI access bit (MP_CSR). */ 217 #define FSL_FEATURE_EDMA_HAS_NO_MP_CSR_EMI (0) 218 /* @brief Has no EBW access bit (MP_CSR). */ 219 #define FSL_FEATURE_EDMA_HAS_NO_MP_CSR_EBW (1) 220 /* @brief Has channel mux control */ 221 #define FSL_FEATURE_EDMA_HAS_CHANNEL_MUX (1) 222 /* @brief Has EDMA arbitration group (CHn_GRPRI). */ 223 #define FSL_FEATURE_EDMA_HAS_ARBITRATION_GROUP (1) 224 225 /* ELE_MUA module features */ 226 227 /* @brief Has ELEMU SEMA4 status register (SEMA4_SR). */ 228 #define FSL_FEATURE_ELEMU_HAS_SEMA4_STATUS_REGISTER (1) 229 /* @brief EDGELOCK availabilty on the soc. */ 230 #define FSL_FEATURE_EDGELOCK (1) 231 232 /* EWM module features */ 233 234 /* @brief Has clock select (register CLKCTRL). */ 235 #define FSL_FEATURE_EWM_HAS_CLOCK_SELECT (0) 236 /* @brief Has clock prescaler (register CLKPRESCALER). */ 237 #define FSL_FEATURE_EWM_HAS_PRESCALER (1) 238 239 /* FLEXIO module features */ 240 241 /* @brief Has Shifter Status Register (FLEXIO_SHIFTSTAT) */ 242 #define FSL_FEATURE_FLEXIO_HAS_SHIFTER_STATUS (1) 243 /* @brief Has Pin Data Input Register (FLEXIO_PIN) */ 244 #define FSL_FEATURE_FLEXIO_HAS_PIN_STATUS (1) 245 /* @brief Has pin input output related registers */ 246 #define FSL_FEATURE_FLEXIO_HAS_PIN_REGISTER (1) 247 /* @brief Has Shifter Buffer N Nibble Byte Swapped Register (FLEXIO_SHIFTBUFNBSn) */ 248 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_BYTE_SWAP (1) 249 /* @brief Has Shifter Buffer N Half Word Swapped Register (FLEXIO_SHIFTBUFHWSn) */ 250 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_HALF_WORD_SWAP (1) 251 /* @brief Has Shifter Buffer N Nibble Swapped Register (FLEXIO_SHIFTBUFNISn) */ 252 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_SWAP (1) 253 /* @brief Supports Shifter State Mode (FLEXIO_SHIFTCTLn[SMOD]) */ 254 #define FSL_FEATURE_FLEXIO_HAS_STATE_MODE (1) 255 /* @brief Supports Shifter Logic Mode (FLEXIO_SHIFTCTLn[SMOD]) */ 256 #define FSL_FEATURE_FLEXIO_HAS_LOGIC_MODE (1) 257 /* @brief Supports paralle width (FLEXIO_SHIFTCFGn[PWIDTH]) */ 258 #define FSL_FEATURE_FLEXIO_HAS_PARALLEL_WIDTH (1) 259 /* @brief Reset value of the FLEXIO_VERID register */ 260 #define FSL_FEATURE_FLEXIO_VERID_RESET_VALUE (0x2010003) 261 /* @brief Reset value of the FLEXIO_PARAM register */ 262 #define FSL_FEATURE_FLEXIO_PARAM_RESET_VALUE (0x4200808) 263 /* @brief Represent the bit width of the TIMDCE field (FLEXIO_TIMCFGLn[TIMDEC]) */ 264 #define FSL_FEATURE_FLEXIO_TIMCFG_TIMDCE_FIELD_WIDTH (3) 265 266 /* MSF1 module features */ 267 268 /* @brief Is the flash module msf1? */ 269 #define FSL_FEATURE_FLASH_IS_MSF1 (1u) 270 /* @brief P-Flash start address. */ 271 #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000u) 272 /* @brief Flash IFR0 start address. */ 273 #define FSL_FEATURE_FLASH_IFR0_START_ADDRESS (0x02000000u) 274 /* @brief Flash IFR0 size. */ 275 #define FSL_FEATURE_FLASH_IFR0_SIZE (0x8000u) 276 /* @brief P-Flash block count. */ 277 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1u) 278 /* @brief P-Flash block size. */ 279 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (0x100000u) 280 /* @brief P-Flash block size. */ 281 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE_512KB (0x80000u) 282 /* @brief Flash sector size. */ 283 #define FSL_FEATURE_FLASH_PFLASH_SECTOR_SIZE (8192u) 284 /* @brief Flash page size. */ 285 #define FSL_FEATURE_FLASH_PFLASH_PAGE_SIZE (128u) 286 /* @brief Flash phrase size. */ 287 #define FSL_FEATURE_FLASH_PFLASH_PHRASE_SIZE (16u) 288 /* @brief RF P-Flash start address. */ 289 #define FSL_FEATURE_RF_FLASH_PFLASH_START_ADDRESS (0x48800000u) 290 /* @brief RF Flash IFR0 start address. */ 291 #define FSL_FEATURE_RF_FLASH_IFR0_START_ADDRESS (0x48840000u) 292 /* @brief RF P-Flash block count. */ 293 #define FSL_FEATURE_RF_FLASH_PFLASH_BLOCK_COUNT (1u) 294 /* @brief RF P-Flash block size. */ 295 #define FSL_FEATURE_RF_FLASH_PFLASH_BLOCK_SIZE (0x40000u) 296 /* @brief RF P-Flash IFR0 size. */ 297 #define FSL_FEATURE_RF_FLASH_IFR0_SIZE (0x8000u) 298 299 /* GPIO module features */ 300 301 /* @brief Has GPIO attribute checker register (GACR). */ 302 #define FSL_FEATURE_GPIO_HAS_ATTRIBUTE_CHECKER (0) 303 /* @brief Has GPIO version ID register (VERID). */ 304 #define FSL_FEATURE_GPIO_HAS_VERSION_INFO_REGISTER (1) 305 /* @brief Has secure/non-secure access protection registers (LOCK, PCNS, PCNP, ICNS, ICNP). */ 306 #define FSL_FEATURE_GPIO_HAS_SECURE_PRIVILEGE_CONTROL (1) 307 /* @brief Has GPIO port input disable register (PIDR). */ 308 #define FSL_FEATURE_GPIO_HAS_PORT_INPUT_CONTROL (1) 309 /* @brief Has GPIO interrupt/DMA request/trigger output selection. */ 310 #define FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT (1) 311 312 /* I3C module features */ 313 314 /* @brief SOC has no reset driver. */ 315 #define FSL_FEATURE_I3C_HAS_NO_RESET (1) 316 317 /* LPCMP module features */ 318 319 /* @brief Has window mode (related to existence of CCR1.WINDOW_CLS). */ 320 #define FSL_FEATURE_LPCMP_HAS_WINDOW_CONTROL (1) 321 322 /* LPI2C module features */ 323 324 /* @brief Has separate DMA RX and TX requests. */ 325 #define FSL_FEATURE_LPI2C_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 326 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 327 #define FSL_FEATURE_LPI2C_FIFO_SIZEn(x) (4) 328 329 /* LPIT module features */ 330 331 /* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */ 332 #define FSL_FEATURE_LPIT_TIMER_COUNT (4) 333 /* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */ 334 #define FSL_FEATURE_LPIT_HAS_LIFETIME_TIMER (0) 335 /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */ 336 #define FSL_FEATURE_LPIT_HAS_SHARED_IRQ_HANDLER (1) 337 338 /* LPSPI module features */ 339 340 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 341 #define FSL_FEATURE_LPSPI_FIFO_SIZEn(x) (8) 342 /* @brief Has separate DMA RX and TX requests. */ 343 #define FSL_FEATURE_LPSPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 344 /* @brief Has CCR1 (related to existence of registers CCR1). */ 345 #define FSL_FEATURE_LPSPI_HAS_CCR1 (1) 346 /* @brief Has no PCSCFG bit in CFGR1 register */ 347 #define FSL_FEATURE_LPSPI_HAS_NO_PCSCFG (0) 348 /* @brief Has no WIDTH bits in TCR register */ 349 #define FSL_FEATURE_LPSPI_HAS_NO_MULTI_WIDTH (0) 350 351 /* LPTMR module features */ 352 353 /* @brief Has shared interrupt handler with another LPTMR module. */ 354 #define FSL_FEATURE_LPTMR_HAS_SHARED_IRQ_HANDLER (0) 355 /* @brief Whether LPTMR counter is 32 bits width. */ 356 #define FSL_FEATURE_LPTMR_CNR_WIDTH_IS_32B (1) 357 /* @brief Has timer DMA request enable (register bit CSR[TDRE]). */ 358 #define FSL_FEATURE_LPTMR_HAS_CSR_TDRE (1) 359 /* @brief Do not has prescaler clock source 0. */ 360 #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_0_SUPPORT (0) 361 /* @brief Do not has prescaler clock source 1. */ 362 #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_1_SUPPORT (1) 363 /* @brief Do not has prescaler clock source 2. */ 364 #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_2_SUPPORT (0) 365 /* @brief Do not has prescaler clock source 3. */ 366 #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_3_SUPPORT (1) 367 368 /* LPUART module features */ 369 370 /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */ 371 #define FSL_FEATURE_LPUART_HAS_IRQ_EXTENDED_FUNCTIONS (0) 372 /* @brief Has low power features (can be enabled in wait mode via register bit C1[DOZEEN] or CTRL[DOZEEN] if the registers are 32-bit wide). */ 373 #define FSL_FEATURE_LPUART_HAS_LOW_POWER_UART_SUPPORT (1) 374 /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */ 375 #define FSL_FEATURE_LPUART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1) 376 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 377 #define FSL_FEATURE_LPUART_HAS_FIFO (1) 378 /* @brief Has 32-bit register MODIR */ 379 #define FSL_FEATURE_LPUART_HAS_MODIR (1) 380 /* @brief Hardware flow control (RTS, CTS) is supported. */ 381 #define FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT (1) 382 /* @brief Infrared (modulation) is supported. */ 383 #define FSL_FEATURE_LPUART_HAS_IR_SUPPORT (1) 384 /* @brief 2 bits long stop bit is available. */ 385 #define FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT (1) 386 /* @brief If 10-bit mode is supported. */ 387 #define FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT (1) 388 /* @brief If 7-bit mode is supported. */ 389 #define FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT (1) 390 /* @brief Baud rate fine adjustment is available. */ 391 #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0) 392 /* @brief Baud rate oversampling is available (has bit fields C4[OSR], C5[BOTHEDGE], C5[RESYNCDIS] or BAUD[OSR], BAUD[BOTHEDGE], BAUD[RESYNCDIS] if the registers are 32-bit wide). */ 393 #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1) 394 /* @brief Baud rate oversampling is available. */ 395 #define FSL_FEATURE_LPUART_HAS_RX_RESYNC_SUPPORT (1) 396 /* @brief Baud rate oversampling is available. */ 397 #define FSL_FEATURE_LPUART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1) 398 /* @brief Peripheral type. */ 399 #define FSL_FEATURE_LPUART_IS_SCI (1) 400 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 401 #define FSL_FEATURE_LPUART_FIFO_SIZEn(x) (8) 402 /* @brief Supports two match addresses to filter incoming frames. */ 403 #define FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING (1) 404 /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */ 405 #define FSL_FEATURE_LPUART_HAS_DMA_ENABLE (1) 406 /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */ 407 #define FSL_FEATURE_LPUART_HAS_DMA_SELECT (0) 408 /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */ 409 #define FSL_FEATURE_LPUART_HAS_BIT_ORDER_SELECT (1) 410 /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */ 411 #define FSL_FEATURE_LPUART_HAS_SMART_CARD_SUPPORT (0) 412 /* @brief Has improved smart card (ISO7816 protocol) support. */ 413 #define FSL_FEATURE_LPUART_HAS_IMPROVED_SMART_CARD_SUPPORT (0) 414 /* @brief Has local operation network (CEA709.1-B protocol) support. */ 415 #define FSL_FEATURE_LPUART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0) 416 /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */ 417 #define FSL_FEATURE_LPUART_HAS_32BIT_REGISTERS (1) 418 /* @brief Lin break detect available (has bit BAUD[LBKDIE]). */ 419 #define FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT (1) 420 /* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */ 421 #define FSL_FEATURE_LPUART_HAS_WAIT_MODE_OPERATION (0) 422 /* @brief Has separate DMA RX and TX requests. */ 423 #define FSL_FEATURE_LPUART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 424 /* @brief Has separate RX and TX interrupts. */ 425 #define FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ (0) 426 /* @brief Has LPAURT_PARAM. */ 427 #define FSL_FEATURE_LPUART_HAS_PARAM (1) 428 /* @brief Has LPUART_VERID. */ 429 #define FSL_FEATURE_LPUART_HAS_VERID (1) 430 /* @brief Has LPUART_GLOBAL. */ 431 #define FSL_FEATURE_LPUART_HAS_GLOBAL (1) 432 /* @brief Has LPUART_PINCFG. */ 433 #define FSL_FEATURE_LPUART_HAS_PINCFG (1) 434 /* @brief Has register MODEM Control. */ 435 #define FSL_FEATURE_LPUART_HAS_MCR (0) 436 /* @brief Has register Half Duplex Control. */ 437 #define FSL_FEATURE_LPUART_HAS_HDCR (0) 438 /* @brief Has register Timeout. */ 439 #define FSL_FEATURE_LPUART_HAS_TIMEOUT (0) 440 441 /* LTC module features */ 442 443 /* @brief LTC module supports DES algorithm. */ 444 #define FSL_FEATURE_LTC_HAS_DES (0) 445 /* @brief LTC module supports PKHA algorithm. */ 446 #define FSL_FEATURE_LTC_HAS_PKHA (0) 447 /* @brief LTC module supports SHA algorithm. */ 448 #define FSL_FEATURE_LTC_HAS_SHA (0) 449 /* @brief LTC module supports AES GCM mode. */ 450 #define FSL_FEATURE_LTC_HAS_GCM (0) 451 /* @brief LTC module supports DPAMS registers. */ 452 #define FSL_FEATURE_LTC_HAS_DPAMS (0) 453 /* @brief LTC module supports AES with 24 bytes key. */ 454 #define FSL_FEATURE_LTC_HAS_AES192 (0) 455 /* @brief LTC module supports AES with 32 bytes key. */ 456 #define FSL_FEATURE_LTC_HAS_AES256 (0) 457 /* @brief LTC module has no clock control bit. */ 458 #define FSL_FEATURE_LTC_HAS_NO_CLOCK_CONTROL_BIT (1) 459 460 /* MCM module features */ 461 462 /* @brief Has L1 cache. */ 463 #define FSL_FEATURE_HAS_L1CACHE (1) 464 465 /* PORT module features */ 466 467 /* @brief Has control lock (register bit PCR[LK]). */ 468 #define FSL_FEATURE_PORT_HAS_PIN_CONTROL_LOCK (1) 469 /* @brief Has open drain control (register bit PCR[ODE]). */ 470 #define FSL_FEATURE_PORT_HAS_OPEN_DRAIN (1) 471 /* @brief Has digital filter (registers DFER, DFCR and DFWR). */ 472 #define FSL_FEATURE_PORT_HAS_DIGITAL_FILTER (0) 473 /* @brief Has DMA request (register bit field PCR[IRQC] or ICR[IRQC] values). */ 474 #define FSL_FEATURE_PORT_HAS_DMA_REQUEST (0) 475 /* @brief Has pull resistor selection available. */ 476 #define FSL_FEATURE_PORT_HAS_PULL_SELECTION (1) 477 /* @brief Has pull resistor enable (register bit PCR[PE]). */ 478 #define FSL_FEATURE_PORT_HAS_PULL_ENABLE (1) 479 /* @brief Has slew rate control (register bit PCR[SRE]). */ 480 #define FSL_FEATURE_PORT_HAS_SLEW_RATE (1) 481 /* @brief Has passive filter (register bit field PCR[PFE]). */ 482 #define FSL_FEATURE_PORT_HAS_PASSIVE_FILTER (1) 483 /* @brief Do not has interrupt control (register ISFR). */ 484 #define FSL_FEATURE_PORT_HAS_NO_INTERRUPT (1) 485 /* @brief Has pull value (register bit field PCR[PV]). */ 486 #define FSL_FEATURE_PORT_PCR_HAS_PULL_VALUE (1) 487 /* @brief Has drive strength1 control (register bit PCR[DSE1]). */ 488 #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH1 (1) 489 /* @brief Has version ID register (register VERID). */ 490 #define FSL_FEATURE_PORT_HAS_VERSION_INFO_REGISTER (1) 491 /* @brief Has voltage range control (register bit CONFIG[RANGE]). */ 492 #define FSL_FEATURE_PORT_SUPPORT_DIFFERENT_VOLTAGE_RANGE (1) 493 /* @brief Has EFT detect (registers EDFR, EDIER and EDCR). */ 494 #define FSL_FEATURE_PORT_SUPPORT_EFT (1) 495 /* @brief Has drive strength control (register bit PCR[DSE]). */ 496 #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH (1) 497 /* @brief Defines width of PCR[MUX] field. */ 498 #define FSL_FEATURE_PORT_PCR_MUX_WIDTH (4) 499 /* @brief Has dedicated interrupt vector. */ 500 #define FSL_FEATURE_PORT_HAS_INTERRUPT_VECTOR (1) 501 /* @brief Has independent interrupt control(register ICR). */ 502 #define FSL_FEATURE_PORT_HAS_INDEPENDENT_INTERRUPT_CONTROL (0) 503 /* @brief Has multiple pin IRQ configuration (register GICLR and GICHR). */ 504 #define FSL_FEATURE_PORT_HAS_MULTIPLE_IRQ_CONFIG (0) 505 /* @brief Defines whether PCR[IRQC] bit-field has flag states. */ 506 #define FSL_FEATURE_PORT_HAS_IRQC_FLAG (0) 507 /* @brief Defines whether PCR[IRQC] bit-field has trigger states. */ 508 #define FSL_FEATURE_PORT_HAS_IRQC_TRIGGER (0) 509 510 /* SFA module features */ 511 512 /* @brief CTRL Has CUT_PIN_EN (bitfield CTRL[CUT_PIN_EN]). */ 513 #define FSL_FEATURE_SFA_CTRL_HAS_CUT_PIN_ENn(x) \ 514 (((x) == SFA0) ? (1) : \ 515 (((x) == RF_SFA) ? (0) : (-1))) 516 /* @brief CTRL_EXT has CUT_PIN_EN (bitfield CTRL_EXT[CUT_PIN_EN]). */ 517 #define FSL_FEATURE_SFA_CTRL_EXT_HAS_CUT_PIN_EN (0) 518 /* @brief Trigger selection is configured outside the SFA peripheral. */ 519 #define FSL_FEATURE_SFA_TRIGGER_SELECTION_OUTSIDEn(x) \ 520 (((x) == SFA0) ? (0) : \ 521 (((x) == RF_SFA) ? (1) : (-1))) 522 /* @brief SFA instance support trigger. */ 523 #define FSL_FEATURE_SFA_INSTANCE_HAS_TRIGGERn(x) \ 524 (((x) == SFA0) ? (0) : \ 525 (((x) == RF_SFA) ? (1) : (-1))) 526 /* @brief SFA instance support interrupt. */ 527 #define FSL_FEATURE_SFA_INSTANCE_HAS_INTERRUPTn(x) \ 528 (((x) == SFA0) ? (1) : \ 529 (((x) == RF_SFA) ? (0) : (-1))) 530 531 /* RTC module features */ 532 533 /* @brief Has no supervisor access bit (CR). */ 534 #define FSL_FEATURE_RTC_HAS_NO_CR_SUP (1) 535 /* @brief Has no oscillator enable bit (CR). */ 536 #define FSL_FEATURE_RTC_HAS_NO_CR_OSCE (1) 537 /* @brief Has low power features (registers MER, MCLR and MCHR). */ 538 #define FSL_FEATURE_RTC_HAS_MONOTONIC (1) 539 /* @brief Has Clock Pin Enable field. */ 540 #define FSL_FEATURE_RTC_HAS_CPE (1) 541 /* @brief Has Tamper Interrupt Register (register TIR). */ 542 #define FSL_FEATURE_RTC_HAS_TIR (1) 543 /* @brief Has Tamper Pin Interrupt Enable (bitfield TIR[TPIE]). */ 544 #define FSL_FEATURE_RTC_HAS_TIR_TPIE (1) 545 /* @brief Has Security Interrupt Enable (bitfield TIR[SIE]). */ 546 #define FSL_FEATURE_RTC_HAS_TIR_SIE (1) 547 /* @brief Has Loss of Clock Interrupt Enable (bitfield TIR[LCIE]). */ 548 #define FSL_FEATURE_RTC_HAS_TIR_LCIE (1) 549 /* @brief Has Tamper Interrupt Detect Flag (bitfield SR[TIDF]). */ 550 #define FSL_FEATURE_RTC_HAS_SR_TIDF (1) 551 /* @brief Has Tamper Detect Register (register TDR). */ 552 #define FSL_FEATURE_RTC_HAS_TDR (1) 553 /* @brief Has Tamper Pin Flag (bitfield TDR[TPF]). */ 554 #define FSL_FEATURE_RTC_HAS_TDR_TPF (1) 555 /* @brief Has Security Tamper Flag (bitfield TDR[STF]). */ 556 #define FSL_FEATURE_RTC_HAS_TDR_STF (1) 557 /* @brief Has Loss of Clock Tamper Flag (bitfield TDR[LCTF]). */ 558 #define FSL_FEATURE_RTC_HAS_TDR_LCTF (1) 559 /* @brief Has Tamper Time Seconds Register (register TTSR). */ 560 #define FSL_FEATURE_RTC_HAS_TTSR (1) 561 /* @brief Has Pin Configuration Register (register PCR). */ 562 #define FSL_FEATURE_RTC_HAS_PCR (1) 563 564 /* SEMA42 module features */ 565 566 /* @brief Gate counts */ 567 #define FSL_FEATURE_SEMA42_GATE_COUNT (16) 568 569 /* SPC module features */ 570 571 /* @brief Has 2P4G power domain. */ 572 #define FSL_FEATURE_SPC_HAS_2P4G_POWER_DOMAIN (1) 573 /* @brief Has SPC_CFG. */ 574 #define FSL_FEATURE_SPC_HAS_CFG_REGISTER (1) 575 /* @brief Has core ldo vdd driver strength (register bit ACTIVE_CFG[CORELDO_VDD_DS]). */ 576 #define FSL_FEATURE_SPC_HAS_CORELDO_VDD_DS (1) 577 /* @brief Has bias enable (register bit LP_CFG[WBIAS_EN]). */ 578 #define FSL_FEATURE_SPC_HAS_WBIAS_EN (0) 579 /* @brief Set CORELDO_VDD_LVL to 0 then regulate to Under Drive Voltage (0.95v). */ 580 #define FSL_FEATURE_SPC_LDO_VOLTAGE_LEVEL_DECREASE (0) 581 /* @brief Set DCDC_VDD_LVL to 0 then regulate to Low Under Voltage (1.25v). */ 582 #define FSL_FEATURE_SPC_DCDC_VOLTAGE_LEVEL_DECREASE (0) 583 584 /* SYSPM module features */ 585 586 /* @brief Temperature sensor parameter A (slope). */ 587 #define FSL_FEATURE_SYSPM_HAS_PMCR_DCIFSH (0) 588 /* @brief Temperature sensor parameter B (offset). */ 589 #define FSL_FEATURE_SYSPM_HAS_PMCR_RICTR (0) 590 /* @brief Number of PMCR registers signals number of performance monitors available in single SYSPM instance. */ 591 #define FSL_FEATURE_SYSPM_PMCR_COUNT (2) 592 593 /* SysTick module features */ 594 595 /* @brief Systick has external reference clock. */ 596 #define FSL_FEATURE_SYSTICK_HAS_EXT_REF (1) 597 /* @brief Systick external reference clock is core clock divided by this value. */ 598 #define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (16) 599 600 /* TPM module features */ 601 602 /* @brief Number of channels. */ 603 #define FSL_FEATURE_TPM_CHANNEL_COUNTn(x) \ 604 (((x) == TPM0) ? (6) : \ 605 (((x) == TPM1) ? (6) : \ 606 (((x) == TPM2) ? (2) : (-1)))) 607 /* @brief Has counter reset by the selected input capture event (register bits C0SC[ICRST], C1SC[ICRST], ...). */ 608 #define FSL_FEATURE_TPM_HAS_COUNTER_RESET_BY_CAPTURE_EVENT (0) 609 /* @brief Has TPM_PARAM. */ 610 #define FSL_FEATURE_TPM_HAS_PARAM (1) 611 /* @brief Has TPM_VERID. */ 612 #define FSL_FEATURE_TPM_HAS_VERID (1) 613 /* @brief Has TPM_GLOBAL. */ 614 #define FSL_FEATURE_TPM_HAS_GLOBAL (1) 615 /* @brief Has TPM_TRIG. */ 616 #define FSL_FEATURE_TPM_HAS_TRIG (1) 617 /* @brief Whether TRIG register has effect. */ 618 #define FSL_FEATURE_TPM_TRIG_HAS_EFFECTn(x) \ 619 (((x) == TPM0) ? (1) : \ 620 (((x) == TPM1) ? (1) : \ 621 (((x) == TPM2) ? (0) : (-1)))) 622 /* @brief Has global time base enable. */ 623 #define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_EN (1) 624 /* @brief Has counter pause on trigger. */ 625 #define FSL_FEATURE_TPM_HAS_PAUSE_COUNTER_ON_TRIGGER (1) 626 /* @brief Has global time base sync. */ 627 #define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_SYNC (1) 628 /* @brief Has external trigger selection. */ 629 #define FSL_FEATURE_TPM_HAS_EXTERNAL_TRIGGER_SELECTION (1) 630 /* @brief Has TPM_COMBINE register. */ 631 #define FSL_FEATURE_TPM_HAS_COMBINE (1) 632 /* @brief Whether COMBINE register has effect. */ 633 #define FSL_FEATURE_TPM_COMBINE_HAS_EFFECTn(x) (1) 634 /* @brief Has TPM_POL. */ 635 #define FSL_FEATURE_TPM_HAS_POL (1) 636 /* @brief Whether POL register has effect. */ 637 #define FSL_FEATURE_TPM_POL_HAS_EFFECTn(x) \ 638 (((x) == TPM2) ? (0) : \ 639 (((x) == TPM0) ? (1) : \ 640 (((x) == TPM1) ? (1) : (-1)))) 641 /* @brief Has TPM_FILTER register. */ 642 #define FSL_FEATURE_TPM_HAS_FILTER (1) 643 /* @brief Whether FILTER register has effect. */ 644 #define FSL_FEATURE_TPM_FILTER_HAS_EFFECTn(x) (1) 645 /* @brief Has TPM_QDCTRL register. */ 646 #define FSL_FEATURE_TPM_HAS_QDCTRL (1) 647 /* @brief Whether QDCTRL register has effect. */ 648 #define FSL_FEATURE_TPM_QDCTRL_HAS_EFFECTn(x) \ 649 (((x) == TPM2) ? (0) : \ 650 (((x) == TPM0) ? (1) : \ 651 (((x) == TPM1) ? (1) : (-1)))) 652 /* @brief Has pause level select. */ 653 #define FSL_FEATURE_TPM_HAS_PAUSE_LEVEL_SELECT (1) 654 /* @brief Whether 32 bits counter has effect. */ 655 #define FSL_FEATURE_TPM_HAS_32BIT_COUNTERn(x) (1) 656 657 /* TRGMUX module features */ 658 659 /* No feature definitions */ 660 661 /* VREF module features */ 662 663 /* @brief Has chop oscillator (bit TRM[CHOPEN]) */ 664 #define FSL_FEATURE_VREF_HAS_CHOP_OSC (0) 665 /* @brief Has second order curvature compensation (bit SC[ICOMPEN]) */ 666 #define FSL_FEATURE_VREF_HAS_COMPENSATION (0) 667 /* @brief If high/low buffer mode supported */ 668 #define FSL_FEATURE_VREF_MODE_LV_TYPE (0) 669 /* @brief Module has also low reference (registers VREFL/VREFH) */ 670 #define FSL_FEATURE_VREF_HAS_LOW_REFERENCE (0) 671 /* @brief Has VREF_TRM4. */ 672 #define FSL_FEATURE_VREF_HAS_TRM4 (0) 673 674 /* WDOG module features */ 675 676 /* @brief Watchdog is available. */ 677 #define FSL_FEATURE_WDOG_HAS_WATCHDOG (1) 678 /* @brief WDOG_CNT can be 32-bit written. */ 679 #define FSL_FEATURE_WDOG_HAS_32BIT_ACCESS (1) 680 681 /* WUU module features */ 682 683 /* No feature definitions */ 684 685 #endif /* _MCXW716A_FEATURES_H_ */ 686 687