/* ** ################################################################### ** Version: rev. 1.0, 2024-03-21 ** Build: b240524 ** ** Abstract: ** Chip specific module features. ** ** Copyright 2016 Freescale Semiconductor, Inc. ** Copyright 2016-2024 NXP ** SPDX-License-Identifier: BSD-3-Clause ** ** http: www.nxp.com ** mail: support@nxp.com ** ** Revisions: ** - rev. 1.0 (2024-03-21) ** Initial version. ** ** ################################################################### */ #ifndef _MCXW716A_FEATURES_H_ #define _MCXW716A_FEATURES_H_ /* SOC module features */ /* @brief AXBS availability on the SoC. */ #define FSL_FEATURE_SOC_AXBS_COUNT (1) /* @brief BRIC availability on the SoC. */ #define FSL_FEATURE_SOC_BRIC_COUNT (1) /* @brief CIU2 availability on the SoC. */ #define FSL_FEATURE_SOC_CIU2_COUNT (1) /* @brief CMC availability on the SoC. */ #define FSL_FEATURE_SOC_CMC_COUNT (1) /* @brief CRC availability on the SoC. */ #define FSL_FEATURE_SOC_CRC_COUNT (1) /* @brief EDMA availability on the SoC. */ #define FSL_FEATURE_SOC_EDMA_COUNT (1) /* @brief EWM availability on the SoC. */ #define FSL_FEATURE_SOC_EWM_COUNT (1) /* @brief FLEXIO availability on the SoC. */ #define FSL_FEATURE_SOC_FLEXIO_COUNT (1) /* @brief GPIO availability on the SoC. */ #define FSL_FEATURE_SOC_GPIO_COUNT (4) /* @brief SPC availability on the SoC. */ #define FSL_FEATURE_SOC_SPC_COUNT (1) /* @brief I3C availability on the SoC. */ #define FSL_FEATURE_SOC_I3C_COUNT (1) /* @brief LPADC availability on the SoC. */ #define FSL_FEATURE_SOC_LPADC_COUNT (1) /* @brief LPCMP availability on the SoC. */ #define FSL_FEATURE_SOC_LPCMP_COUNT (2) /* @brief LPI2C availability on the SoC. */ #define FSL_FEATURE_SOC_LPI2C_COUNT (2) /* @brief LPIT availability on the SoC. */ #define FSL_FEATURE_SOC_LPIT_COUNT (1) /* @brief LPSPI availability on the SoC. */ #define FSL_FEATURE_SOC_LPSPI_COUNT (2) /* @brief LPTMR availability on the SoC. */ #define FSL_FEATURE_SOC_LPTMR_COUNT (2) /* @brief LPUART availability on the SoC. */ #define FSL_FEATURE_SOC_LPUART_COUNT (2) /* @brief LTC availability on the SoC. */ #define FSL_FEATURE_SOC_LTC_COUNT (1) /* @brief MCM availability on the SoC. */ #define FSL_FEATURE_SOC_MCM_COUNT (1) /* @brief MSCM availability on the SoC. */ #define FSL_FEATURE_SOC_MSCM_COUNT (1) /* @brief PORT availability on the SoC. */ #define FSL_FEATURE_SOC_PORT_COUNT (4) /* @brief RTC availability on the SoC. */ #define FSL_FEATURE_SOC_RTC_COUNT (1) /* @brief SCG availability on the SoC. */ #define FSL_FEATURE_SOC_SCG_COUNT (1) /* @brief SEMA42 availability on the SoC. */ #define FSL_FEATURE_SOC_SEMA42_COUNT (1) /* @brief SFA availability on the SoC. */ #define FSL_FEATURE_SOC_SFA_COUNT (2) /* @brief SYSPM availability on the SoC. */ #define FSL_FEATURE_SOC_SYSPM_COUNT (1) /* @brief TPM availability on the SoC. */ #define FSL_FEATURE_SOC_TPM_COUNT (3) /* @brief TRGMUX availability on the SoC. */ #define FSL_FEATURE_SOC_TRGMUX_COUNT (1) /* @brief TSTMR availability on the SoC. */ #define FSL_FEATURE_SOC_TSTMR_COUNT (1) /* @brief VREF availability on the SoC. */ #define FSL_FEATURE_SOC_VREF_COUNT (1) /* @brief WDOG availability on the SoC. */ #define FSL_FEATURE_SOC_WDOG_COUNT (2) /* @brief WUU availability on the SoC. */ #define FSL_FEATURE_SOC_WUU_COUNT (1) /* @brief ZLL availability on the SoC. */ #define FSL_FEATURE_SOC_ZLL_COUNT (1) /* LPADC module features */ /* @brief FIFO availability on the SoC. */ #define FSL_FEATURE_LPADC_FIFO_COUNT (2) /* @brief Does not support two simultanious single ended conversions (bitfield TCTRL[FIFO_SEL_B]). */ #define FSL_FEATURE_LPADC_HAS_NO_TCTRL_FIFO_SEL_B (0) /* @brief Has subsequent trigger priority (bitfield CFG[TPRICTRL]). */ #define FSL_FEATURE_LPADC_HAS_CFG_SUBSEQUENT_PRIORITY (1) /* @brief Has differential mode (bitfield CMDLn[DIFF]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_DIFF (0) /* @brief Has channel scale (bitfield CMDLn[CSCALE]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_CSCALE (0) /* @brief Has conversion type select (bitfield CMDLn[CTYPE]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_CTYPE (1) /* @brief Has conversion resolution select (bitfield CMDLn[MODE]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_MODE (1) /* @brief Has compare function enable (bitfield CMDHn[CMPEN]). */ #define FSL_FEATURE_LPADC_HAS_CMDH_CMPEN (1) /* @brief Has Wait for trigger assertion before execution (bitfield CMDHn[WAIT_TRIG]). */ #define FSL_FEATURE_LPADC_HAS_CMDH_WAIT_TRIG (1) /* @brief Has offset calibration (bitfield CTRL[CALOFS]). */ #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFS (1) /* @brief Has gain calibration (bitfield CTRL[CAL_REQ]). */ #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_REQ (1) /* @brief Has calibration average (bitfield CTRL[CAL_AVGS]). */ #define FSL_FEATURE_LPADC_HAS_CTRL_CAL_AVGS (1) /* @brief Has internal clock (bitfield CFG[ADCKEN]). */ #define FSL_FEATURE_LPADC_HAS_CFG_ADCKEN (0) /* @brief Enable support for low voltage reference on option 1 reference (bitfield CFG[VREF1RNG]). */ #define FSL_FEATURE_LPADC_HAS_CFG_VREF1RNG (0) /* @brief Has calibration (bitfield CFG[CALOFS]). */ #define FSL_FEATURE_LPADC_HAS_CFG_CALOFS (0) /* @brief Has offset trim (register OFSTRIM). */ #define FSL_FEATURE_LPADC_HAS_OFSTRIM (1) /* @brief OFSTRIM availability on the SoC. */ #define FSL_FEATURE_LPADC_OFSTRIM_COUNT (2) /* @brief Has Trigger status register. */ #define FSL_FEATURE_LPADC_HAS_TSTAT (1) /* @brief Has power select (bitfield CFG[PWRSEL]). */ #define FSL_FEATURE_LPADC_HAS_CFG_PWRSEL (1) /* @brief Has alternate channel B scale (bitfield CMDLn[ALTB_CSCALE]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_CSCALE (0) /* @brief Has alternate channel B select enable (bitfield CMDLn[ALTBEN]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_ALTBEN (0) /* @brief Has alternate channel input (bitfield CMDLn[ALTB_ADCH]). */ #define FSL_FEATURE_LPADC_HAS_CMDL_ALTB_ADCH (0) /* @brief Has offset calibration mode (bitfield CTRL[CALOFSMODE]). */ #define FSL_FEATURE_LPADC_HAS_CTRL_CALOFSMODE (0) /* @brief Conversion averaged bitfiled width. */ #define FSL_FEATURE_LPADC_CONVERSIONS_AVERAGED_BITFIELD_WIDTH (3) /* @brief Has B side channels. */ #define FSL_FEATURE_LPADC_HAS_B_SIDE_CHANNELS (1) /* @brief Indicate whether the LPADC STAT register has trigger exception interrupt function (bitfield STAT[TEXC_INT]). */ #define FSL_FEATURE_LPADC_HAS_STAT_TEXC_INT (1) /* @brief Indicate whether the LPADC STAT register has trigger completion interrupt function (bitfield STAT[TCOMP_INT]). */ #define FSL_FEATURE_LPADC_HAS_STAT_TCOMP_INT (1) /* @brief Indicate whether the LPADC STAT register has calibration ready function (bitfield STAT[CAL_RDY]). */ #define FSL_FEATURE_LPADC_HAS_STAT_CAL_RDY (1) /* @brief Indicate whether the LPADC STAT register has ADC active function (bitfield STAT[ADC_ACTIVE]). */ #define FSL_FEATURE_LPADC_HAS_STAT_ADC_ACTIVE (1) /* @brief Indicate whether the LPADC IE register has trigger exception interrupt enable function (bitfield IE[TEXC_IE]). */ #define FSL_FEATURE_LPADC_HAS_IE_TEXC_IE (1) /* @brief Indicate whether the LPADC IE register has trigger completion interrupt enable function (bitfield IE[TCOMP_IE]). */ #define FSL_FEATURE_LPADC_HAS_IE_TCOMP_IE (1) /* @brief Indicate whether the LPADC CFG register has trigger resume/restart enable function (bitfield CFG[TRES]). */ #define FSL_FEATURE_LPADC_HAS_CFG_TRES (1) /* @brief Indicate whether the LPADC CFG register has trigger command resume/restart enable function (bitfield CFG[TCMDRES]). */ #define FSL_FEATURE_LPADC_HAS_CFG_TCMDRES (1) /* @brief Indicate whether the LPADC CFG register has high priority trigger exception disable function (bitfield CFG[HPT_EXDI]). */ #define FSL_FEATURE_LPADC_HAS_CFG_HPT_EXDI (1) /* @brief Indicate LPADC CFG register TPRICTRL bitfield width. */ #define FSL_FEATURE_LPADC_CFG_TPRICTRL_BITFIELD_WIDTH (2) /* @brief Has internal temperature sensor. */ #define FSL_FEATURE_LPADC_HAS_INTERNAL_TEMP_SENSOR (1) /* @brief Temperature sensor parameter A (slope). */ #define FSL_FEATURE_LPADC_TEMP_PARAMETER_A (787U) /* @brief Temperature sensor parameter B (offset). */ #define FSL_FEATURE_LPADC_TEMP_PARAMETER_B (289U) /* @brief Temperature sensor parameter Alpha. */ #define FSL_FEATURE_LPADC_TEMP_PARAMETER_ALPHA (9.1f) /* @brief The buffer size of temperature sensor. */ #define FSL_FEATURE_LPADC_TEMP_SENS_BUFFER_SIZE (2U) /* CCM32K module features */ /* @brief Has Amplifier gain fine adjustment bits (register bit OSC32K_CTRL[FINE_AMP_GAIN]). */ #define FSL_FEATURE_CCM32K_HAS_FINE_AMP_GAIN (0) /* @brief Has CGC32K register. */ #define FSL_FEATURE_CCM32K_HAS_CGC32K (1) /* @brief Has CLKMON_CTRL register. */ #define FSL_FEATURE_CCM32K_HAS_CLKMON_CTRL (1) /* CMC module features */ /* @brief Has on chip TCMC0 */ #define FSL_FEATURE_CMC_HAS_TCMC0 (0) /* @brief Has on chip SYSRAM0 */ #define FSL_FEATURE_CMC_HAS_SYSRAM0 (0) /* @brief Has on chip SYSRAM1 */ #define FSL_FEATURE_CMC_HAS_SYSRAM1 (0) /* @brief Has RSTCNT register */ #define FSL_FEATURE_CMC_HAS_RSTCNT_REGISTER (1) /* @brief Does not have SRAMCTL register */ #define FSL_FEATURE_CMC_HAS_NO_SRAMCTL_REGISTER (1) /* EDMA module features */ /* @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.) */ #define FSL_FEATURE_EDMA_MODULE_CHANNEL (16) /* @brief Number of DMA channel groups (register bit fields CR[ERGA], CR[GRPnPRI], ES[GPE], DCHPRIn[GRPPRI]). (Valid only for eDMA modules.) */ #define FSL_FEATURE_EDMA_CHANNEL_GROUP_COUNT (1) /* @brief Has DMA_Error interrupt vector. */ #define FSL_FEATURE_EDMA_HAS_ERROR_IRQ (0) /* @brief Has register access permission. */ #define FSL_FEATURE_HAVE_DMA_CONTROL_REGISTER_ACCESS_PERMISSION (1) /* @brief If dma has common clock gate */ #define FSL_FEATURE_EDMA_HAS_COMMON_CLOCK_GATE (1) /* @brief Number of channel for each EDMA instance, (only defined for soc with different channel numbers for difference instance) */ #define FSL_FEATURE_EDMA_INSTANCE_CHANNELn(x) (16) /* @brief Has no EMI access bit (MP_CSR). */ #define FSL_FEATURE_EDMA_HAS_NO_MP_CSR_EMI (0) /* @brief Has no EBW access bit (MP_CSR). */ #define FSL_FEATURE_EDMA_HAS_NO_MP_CSR_EBW (1) /* @brief Has channel mux control */ #define FSL_FEATURE_EDMA_HAS_CHANNEL_MUX (1) /* @brief Has EDMA arbitration group (CHn_GRPRI). */ #define FSL_FEATURE_EDMA_HAS_ARBITRATION_GROUP (1) /* ELE_MUA module features */ /* @brief Has ELEMU SEMA4 status register (SEMA4_SR). */ #define FSL_FEATURE_ELEMU_HAS_SEMA4_STATUS_REGISTER (1) /* @brief EDGELOCK availabilty on the soc. */ #define FSL_FEATURE_EDGELOCK (1) /* EWM module features */ /* @brief Has clock select (register CLKCTRL). */ #define FSL_FEATURE_EWM_HAS_CLOCK_SELECT (0) /* @brief Has clock prescaler (register CLKPRESCALER). */ #define FSL_FEATURE_EWM_HAS_PRESCALER (1) /* FLEXIO module features */ /* @brief Has Shifter Status Register (FLEXIO_SHIFTSTAT) */ #define FSL_FEATURE_FLEXIO_HAS_SHIFTER_STATUS (1) /* @brief Has Pin Data Input Register (FLEXIO_PIN) */ #define FSL_FEATURE_FLEXIO_HAS_PIN_STATUS (1) /* @brief Has pin input output related registers */ #define FSL_FEATURE_FLEXIO_HAS_PIN_REGISTER (1) /* @brief Has Shifter Buffer N Nibble Byte Swapped Register (FLEXIO_SHIFTBUFNBSn) */ #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_BYTE_SWAP (1) /* @brief Has Shifter Buffer N Half Word Swapped Register (FLEXIO_SHIFTBUFHWSn) */ #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_HALF_WORD_SWAP (1) /* @brief Has Shifter Buffer N Nibble Swapped Register (FLEXIO_SHIFTBUFNISn) */ #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_SWAP (1) /* @brief Supports Shifter State Mode (FLEXIO_SHIFTCTLn[SMOD]) */ #define FSL_FEATURE_FLEXIO_HAS_STATE_MODE (1) /* @brief Supports Shifter Logic Mode (FLEXIO_SHIFTCTLn[SMOD]) */ #define FSL_FEATURE_FLEXIO_HAS_LOGIC_MODE (1) /* @brief Supports paralle width (FLEXIO_SHIFTCFGn[PWIDTH]) */ #define FSL_FEATURE_FLEXIO_HAS_PARALLEL_WIDTH (1) /* @brief Reset value of the FLEXIO_VERID register */ #define FSL_FEATURE_FLEXIO_VERID_RESET_VALUE (0x2010003) /* @brief Reset value of the FLEXIO_PARAM register */ #define FSL_FEATURE_FLEXIO_PARAM_RESET_VALUE (0x4200808) /* @brief Represent the bit width of the TIMDCE field (FLEXIO_TIMCFGLn[TIMDEC]) */ #define FSL_FEATURE_FLEXIO_TIMCFG_TIMDCE_FIELD_WIDTH (3) /* MSF1 module features */ /* @brief Is the flash module msf1? */ #define FSL_FEATURE_FLASH_IS_MSF1 (1u) /* @brief P-Flash start address. */ #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000u) /* @brief Flash IFR0 start address. */ #define FSL_FEATURE_FLASH_IFR0_START_ADDRESS (0x02000000u) /* @brief Flash IFR0 size. */ #define FSL_FEATURE_FLASH_IFR0_SIZE (0x8000u) /* @brief P-Flash block count. */ #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1u) /* @brief P-Flash block size. */ #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (0x100000u) /* @brief P-Flash block size. */ #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE_512KB (0x80000u) /* @brief Flash sector size. */ #define FSL_FEATURE_FLASH_PFLASH_SECTOR_SIZE (8192u) /* @brief Flash page size. */ #define FSL_FEATURE_FLASH_PFLASH_PAGE_SIZE (128u) /* @brief Flash phrase size. */ #define FSL_FEATURE_FLASH_PFLASH_PHRASE_SIZE (16u) /* @brief RF P-Flash start address. */ #define FSL_FEATURE_RF_FLASH_PFLASH_START_ADDRESS (0x48800000u) /* @brief RF Flash IFR0 start address. */ #define FSL_FEATURE_RF_FLASH_IFR0_START_ADDRESS (0x48840000u) /* @brief RF P-Flash block count. */ #define FSL_FEATURE_RF_FLASH_PFLASH_BLOCK_COUNT (1u) /* @brief RF P-Flash block size. */ #define FSL_FEATURE_RF_FLASH_PFLASH_BLOCK_SIZE (0x40000u) /* @brief RF P-Flash IFR0 size. */ #define FSL_FEATURE_RF_FLASH_IFR0_SIZE (0x8000u) /* GPIO module features */ /* @brief Has GPIO attribute checker register (GACR). */ #define FSL_FEATURE_GPIO_HAS_ATTRIBUTE_CHECKER (0) /* @brief Has GPIO version ID register (VERID). */ #define FSL_FEATURE_GPIO_HAS_VERSION_INFO_REGISTER (1) /* @brief Has secure/non-secure access protection registers (LOCK, PCNS, PCNP, ICNS, ICNP). */ #define FSL_FEATURE_GPIO_HAS_SECURE_PRIVILEGE_CONTROL (1) /* @brief Has GPIO port input disable register (PIDR). */ #define FSL_FEATURE_GPIO_HAS_PORT_INPUT_CONTROL (1) /* @brief Has GPIO interrupt/DMA request/trigger output selection. */ #define FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT (1) /* I3C module features */ /* @brief SOC has no reset driver. */ #define FSL_FEATURE_I3C_HAS_NO_RESET (1) /* LPCMP module features */ /* @brief Has window mode (related to existence of CCR1.WINDOW_CLS). */ #define FSL_FEATURE_LPCMP_HAS_WINDOW_CONTROL (1) /* LPI2C module features */ /* @brief Has separate DMA RX and TX requests. */ #define FSL_FEATURE_LPI2C_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ #define FSL_FEATURE_LPI2C_FIFO_SIZEn(x) (4) /* LPIT module features */ /* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */ #define FSL_FEATURE_LPIT_TIMER_COUNT (4) /* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */ #define FSL_FEATURE_LPIT_HAS_LIFETIME_TIMER (0) /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */ #define FSL_FEATURE_LPIT_HAS_SHARED_IRQ_HANDLER (1) /* LPSPI module features */ /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ #define FSL_FEATURE_LPSPI_FIFO_SIZEn(x) (8) /* @brief Has separate DMA RX and TX requests. */ #define FSL_FEATURE_LPSPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) /* @brief Has CCR1 (related to existence of registers CCR1). */ #define FSL_FEATURE_LPSPI_HAS_CCR1 (1) /* @brief Has no PCSCFG bit in CFGR1 register */ #define FSL_FEATURE_LPSPI_HAS_NO_PCSCFG (0) /* @brief Has no WIDTH bits in TCR register */ #define FSL_FEATURE_LPSPI_HAS_NO_MULTI_WIDTH (0) /* LPTMR module features */ /* @brief Has shared interrupt handler with another LPTMR module. */ #define FSL_FEATURE_LPTMR_HAS_SHARED_IRQ_HANDLER (0) /* @brief Whether LPTMR counter is 32 bits width. */ #define FSL_FEATURE_LPTMR_CNR_WIDTH_IS_32B (1) /* @brief Has timer DMA request enable (register bit CSR[TDRE]). */ #define FSL_FEATURE_LPTMR_HAS_CSR_TDRE (1) /* @brief Do not has prescaler clock source 0. */ #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_0_SUPPORT (0) /* @brief Do not has prescaler clock source 1. */ #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_1_SUPPORT (1) /* @brief Do not has prescaler clock source 2. */ #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_2_SUPPORT (0) /* @brief Do not has prescaler clock source 3. */ #define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_3_SUPPORT (1) /* LPUART module features */ /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */ #define FSL_FEATURE_LPUART_HAS_IRQ_EXTENDED_FUNCTIONS (0) /* @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). */ #define FSL_FEATURE_LPUART_HAS_LOW_POWER_UART_SUPPORT (1) /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */ #define FSL_FEATURE_LPUART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1) /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ #define FSL_FEATURE_LPUART_HAS_FIFO (1) /* @brief Has 32-bit register MODIR */ #define FSL_FEATURE_LPUART_HAS_MODIR (1) /* @brief Hardware flow control (RTS, CTS) is supported. */ #define FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT (1) /* @brief Infrared (modulation) is supported. */ #define FSL_FEATURE_LPUART_HAS_IR_SUPPORT (1) /* @brief 2 bits long stop bit is available. */ #define FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT (1) /* @brief If 10-bit mode is supported. */ #define FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT (1) /* @brief If 7-bit mode is supported. */ #define FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT (1) /* @brief Baud rate fine adjustment is available. */ #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0) /* @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). */ #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1) /* @brief Baud rate oversampling is available. */ #define FSL_FEATURE_LPUART_HAS_RX_RESYNC_SUPPORT (1) /* @brief Baud rate oversampling is available. */ #define FSL_FEATURE_LPUART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1) /* @brief Peripheral type. */ #define FSL_FEATURE_LPUART_IS_SCI (1) /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ #define FSL_FEATURE_LPUART_FIFO_SIZEn(x) (8) /* @brief Supports two match addresses to filter incoming frames. */ #define FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING (1) /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */ #define FSL_FEATURE_LPUART_HAS_DMA_ENABLE (1) /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */ #define FSL_FEATURE_LPUART_HAS_DMA_SELECT (0) /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */ #define FSL_FEATURE_LPUART_HAS_BIT_ORDER_SELECT (1) /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */ #define FSL_FEATURE_LPUART_HAS_SMART_CARD_SUPPORT (0) /* @brief Has improved smart card (ISO7816 protocol) support. */ #define FSL_FEATURE_LPUART_HAS_IMPROVED_SMART_CARD_SUPPORT (0) /* @brief Has local operation network (CEA709.1-B protocol) support. */ #define FSL_FEATURE_LPUART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0) /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */ #define FSL_FEATURE_LPUART_HAS_32BIT_REGISTERS (1) /* @brief Lin break detect available (has bit BAUD[LBKDIE]). */ #define FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT (1) /* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */ #define FSL_FEATURE_LPUART_HAS_WAIT_MODE_OPERATION (0) /* @brief Has separate DMA RX and TX requests. */ #define FSL_FEATURE_LPUART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) /* @brief Has separate RX and TX interrupts. */ #define FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ (0) /* @brief Has LPAURT_PARAM. */ #define FSL_FEATURE_LPUART_HAS_PARAM (1) /* @brief Has LPUART_VERID. */ #define FSL_FEATURE_LPUART_HAS_VERID (1) /* @brief Has LPUART_GLOBAL. */ #define FSL_FEATURE_LPUART_HAS_GLOBAL (1) /* @brief Has LPUART_PINCFG. */ #define FSL_FEATURE_LPUART_HAS_PINCFG (1) /* @brief Has register MODEM Control. */ #define FSL_FEATURE_LPUART_HAS_MCR (0) /* @brief Has register Half Duplex Control. */ #define FSL_FEATURE_LPUART_HAS_HDCR (0) /* @brief Has register Timeout. */ #define FSL_FEATURE_LPUART_HAS_TIMEOUT (0) /* LTC module features */ /* @brief LTC module supports DES algorithm. */ #define FSL_FEATURE_LTC_HAS_DES (0) /* @brief LTC module supports PKHA algorithm. */ #define FSL_FEATURE_LTC_HAS_PKHA (0) /* @brief LTC module supports SHA algorithm. */ #define FSL_FEATURE_LTC_HAS_SHA (0) /* @brief LTC module supports AES GCM mode. */ #define FSL_FEATURE_LTC_HAS_GCM (0) /* @brief LTC module supports DPAMS registers. */ #define FSL_FEATURE_LTC_HAS_DPAMS (0) /* @brief LTC module supports AES with 24 bytes key. */ #define FSL_FEATURE_LTC_HAS_AES192 (0) /* @brief LTC module supports AES with 32 bytes key. */ #define FSL_FEATURE_LTC_HAS_AES256 (0) /* @brief LTC module has no clock control bit. */ #define FSL_FEATURE_LTC_HAS_NO_CLOCK_CONTROL_BIT (1) /* MCM module features */ /* @brief Has L1 cache. */ #define FSL_FEATURE_HAS_L1CACHE (1) /* PORT module features */ /* @brief Has control lock (register bit PCR[LK]). */ #define FSL_FEATURE_PORT_HAS_PIN_CONTROL_LOCK (1) /* @brief Has open drain control (register bit PCR[ODE]). */ #define FSL_FEATURE_PORT_HAS_OPEN_DRAIN (1) /* @brief Has digital filter (registers DFER, DFCR and DFWR). */ #define FSL_FEATURE_PORT_HAS_DIGITAL_FILTER (0) /* @brief Has DMA request (register bit field PCR[IRQC] or ICR[IRQC] values). */ #define FSL_FEATURE_PORT_HAS_DMA_REQUEST (0) /* @brief Has pull resistor selection available. */ #define FSL_FEATURE_PORT_HAS_PULL_SELECTION (1) /* @brief Has pull resistor enable (register bit PCR[PE]). */ #define FSL_FEATURE_PORT_HAS_PULL_ENABLE (1) /* @brief Has slew rate control (register bit PCR[SRE]). */ #define FSL_FEATURE_PORT_HAS_SLEW_RATE (1) /* @brief Has passive filter (register bit field PCR[PFE]). */ #define FSL_FEATURE_PORT_HAS_PASSIVE_FILTER (1) /* @brief Do not has interrupt control (register ISFR). */ #define FSL_FEATURE_PORT_HAS_NO_INTERRUPT (1) /* @brief Has pull value (register bit field PCR[PV]). */ #define FSL_FEATURE_PORT_PCR_HAS_PULL_VALUE (1) /* @brief Has drive strength1 control (register bit PCR[DSE1]). */ #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH1 (1) /* @brief Has version ID register (register VERID). */ #define FSL_FEATURE_PORT_HAS_VERSION_INFO_REGISTER (1) /* @brief Has voltage range control (register bit CONFIG[RANGE]). */ #define FSL_FEATURE_PORT_SUPPORT_DIFFERENT_VOLTAGE_RANGE (1) /* @brief Has EFT detect (registers EDFR, EDIER and EDCR). */ #define FSL_FEATURE_PORT_SUPPORT_EFT (1) /* @brief Has drive strength control (register bit PCR[DSE]). */ #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH (1) /* @brief Defines width of PCR[MUX] field. */ #define FSL_FEATURE_PORT_PCR_MUX_WIDTH (4) /* @brief Has dedicated interrupt vector. */ #define FSL_FEATURE_PORT_HAS_INTERRUPT_VECTOR (1) /* @brief Has independent interrupt control(register ICR). */ #define FSL_FEATURE_PORT_HAS_INDEPENDENT_INTERRUPT_CONTROL (0) /* @brief Has multiple pin IRQ configuration (register GICLR and GICHR). */ #define FSL_FEATURE_PORT_HAS_MULTIPLE_IRQ_CONFIG (0) /* @brief Defines whether PCR[IRQC] bit-field has flag states. */ #define FSL_FEATURE_PORT_HAS_IRQC_FLAG (0) /* @brief Defines whether PCR[IRQC] bit-field has trigger states. */ #define FSL_FEATURE_PORT_HAS_IRQC_TRIGGER (0) /* SFA module features */ /* @brief CTRL Has CUT_PIN_EN (bitfield CTRL[CUT_PIN_EN]). */ #define FSL_FEATURE_SFA_CTRL_HAS_CUT_PIN_ENn(x) \ (((x) == SFA0) ? (1) : \ (((x) == RF_SFA) ? (0) : (-1))) /* @brief CTRL_EXT has CUT_PIN_EN (bitfield CTRL_EXT[CUT_PIN_EN]). */ #define FSL_FEATURE_SFA_CTRL_EXT_HAS_CUT_PIN_EN (0) /* @brief Trigger selection is configured outside the SFA peripheral. */ #define FSL_FEATURE_SFA_TRIGGER_SELECTION_OUTSIDEn(x) \ (((x) == SFA0) ? (0) : \ (((x) == RF_SFA) ? (1) : (-1))) /* @brief SFA instance support trigger. */ #define FSL_FEATURE_SFA_INSTANCE_HAS_TRIGGERn(x) \ (((x) == SFA0) ? (0) : \ (((x) == RF_SFA) ? (1) : (-1))) /* @brief SFA instance support interrupt. */ #define FSL_FEATURE_SFA_INSTANCE_HAS_INTERRUPTn(x) \ (((x) == SFA0) ? (1) : \ (((x) == RF_SFA) ? (0) : (-1))) /* RTC module features */ /* @brief Has no supervisor access bit (CR). */ #define FSL_FEATURE_RTC_HAS_NO_CR_SUP (1) /* @brief Has no oscillator enable bit (CR). */ #define FSL_FEATURE_RTC_HAS_NO_CR_OSCE (1) /* @brief Has low power features (registers MER, MCLR and MCHR). */ #define FSL_FEATURE_RTC_HAS_MONOTONIC (1) /* @brief Has Clock Pin Enable field. */ #define FSL_FEATURE_RTC_HAS_CPE (1) /* @brief Has Tamper Interrupt Register (register TIR). */ #define FSL_FEATURE_RTC_HAS_TIR (1) /* @brief Has Tamper Pin Interrupt Enable (bitfield TIR[TPIE]). */ #define FSL_FEATURE_RTC_HAS_TIR_TPIE (1) /* @brief Has Security Interrupt Enable (bitfield TIR[SIE]). */ #define FSL_FEATURE_RTC_HAS_TIR_SIE (1) /* @brief Has Loss of Clock Interrupt Enable (bitfield TIR[LCIE]). */ #define FSL_FEATURE_RTC_HAS_TIR_LCIE (1) /* @brief Has Tamper Interrupt Detect Flag (bitfield SR[TIDF]). */ #define FSL_FEATURE_RTC_HAS_SR_TIDF (1) /* @brief Has Tamper Detect Register (register TDR). */ #define FSL_FEATURE_RTC_HAS_TDR (1) /* @brief Has Tamper Pin Flag (bitfield TDR[TPF]). */ #define FSL_FEATURE_RTC_HAS_TDR_TPF (1) /* @brief Has Security Tamper Flag (bitfield TDR[STF]). */ #define FSL_FEATURE_RTC_HAS_TDR_STF (1) /* @brief Has Loss of Clock Tamper Flag (bitfield TDR[LCTF]). */ #define FSL_FEATURE_RTC_HAS_TDR_LCTF (1) /* @brief Has Tamper Time Seconds Register (register TTSR). */ #define FSL_FEATURE_RTC_HAS_TTSR (1) /* @brief Has Pin Configuration Register (register PCR). */ #define FSL_FEATURE_RTC_HAS_PCR (1) /* SEMA42 module features */ /* @brief Gate counts */ #define FSL_FEATURE_SEMA42_GATE_COUNT (16) /* SPC module features */ /* @brief Has 2P4G power domain. */ #define FSL_FEATURE_SPC_HAS_2P4G_POWER_DOMAIN (1) /* @brief Has SPC_CFG. */ #define FSL_FEATURE_SPC_HAS_CFG_REGISTER (1) /* @brief Has core ldo vdd driver strength (register bit ACTIVE_CFG[CORELDO_VDD_DS]). */ #define FSL_FEATURE_SPC_HAS_CORELDO_VDD_DS (1) /* @brief Has bias enable (register bit LP_CFG[WBIAS_EN]). */ #define FSL_FEATURE_SPC_HAS_WBIAS_EN (0) /* @brief Set CORELDO_VDD_LVL to 0 then regulate to Under Drive Voltage (0.95v). */ #define FSL_FEATURE_SPC_LDO_VOLTAGE_LEVEL_DECREASE (0) /* @brief Set DCDC_VDD_LVL to 0 then regulate to Low Under Voltage (1.25v). */ #define FSL_FEATURE_SPC_DCDC_VOLTAGE_LEVEL_DECREASE (0) /* SYSPM module features */ /* @brief Temperature sensor parameter A (slope). */ #define FSL_FEATURE_SYSPM_HAS_PMCR_DCIFSH (0) /* @brief Temperature sensor parameter B (offset). */ #define FSL_FEATURE_SYSPM_HAS_PMCR_RICTR (0) /* @brief Number of PMCR registers signals number of performance monitors available in single SYSPM instance. */ #define FSL_FEATURE_SYSPM_PMCR_COUNT (2) /* SysTick module features */ /* @brief Systick has external reference clock. */ #define FSL_FEATURE_SYSTICK_HAS_EXT_REF (1) /* @brief Systick external reference clock is core clock divided by this value. */ #define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (16) /* TPM module features */ /* @brief Number of channels. */ #define FSL_FEATURE_TPM_CHANNEL_COUNTn(x) \ (((x) == TPM0) ? (6) : \ (((x) == TPM1) ? (6) : \ (((x) == TPM2) ? (2) : (-1)))) /* @brief Has counter reset by the selected input capture event (register bits C0SC[ICRST], C1SC[ICRST], ...). */ #define FSL_FEATURE_TPM_HAS_COUNTER_RESET_BY_CAPTURE_EVENT (0) /* @brief Has TPM_PARAM. */ #define FSL_FEATURE_TPM_HAS_PARAM (1) /* @brief Has TPM_VERID. */ #define FSL_FEATURE_TPM_HAS_VERID (1) /* @brief Has TPM_GLOBAL. */ #define FSL_FEATURE_TPM_HAS_GLOBAL (1) /* @brief Has TPM_TRIG. */ #define FSL_FEATURE_TPM_HAS_TRIG (1) /* @brief Whether TRIG register has effect. */ #define FSL_FEATURE_TPM_TRIG_HAS_EFFECTn(x) \ (((x) == TPM0) ? (1) : \ (((x) == TPM1) ? (1) : \ (((x) == TPM2) ? (0) : (-1)))) /* @brief Has global time base enable. */ #define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_EN (1) /* @brief Has counter pause on trigger. */ #define FSL_FEATURE_TPM_HAS_PAUSE_COUNTER_ON_TRIGGER (1) /* @brief Has global time base sync. */ #define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_SYNC (1) /* @brief Has external trigger selection. */ #define FSL_FEATURE_TPM_HAS_EXTERNAL_TRIGGER_SELECTION (1) /* @brief Has TPM_COMBINE register. */ #define FSL_FEATURE_TPM_HAS_COMBINE (1) /* @brief Whether COMBINE register has effect. */ #define FSL_FEATURE_TPM_COMBINE_HAS_EFFECTn(x) (1) /* @brief Has TPM_POL. */ #define FSL_FEATURE_TPM_HAS_POL (1) /* @brief Whether POL register has effect. */ #define FSL_FEATURE_TPM_POL_HAS_EFFECTn(x) \ (((x) == TPM2) ? (0) : \ (((x) == TPM0) ? (1) : \ (((x) == TPM1) ? (1) : (-1)))) /* @brief Has TPM_FILTER register. */ #define FSL_FEATURE_TPM_HAS_FILTER (1) /* @brief Whether FILTER register has effect. */ #define FSL_FEATURE_TPM_FILTER_HAS_EFFECTn(x) (1) /* @brief Has TPM_QDCTRL register. */ #define FSL_FEATURE_TPM_HAS_QDCTRL (1) /* @brief Whether QDCTRL register has effect. */ #define FSL_FEATURE_TPM_QDCTRL_HAS_EFFECTn(x) \ (((x) == TPM2) ? (0) : \ (((x) == TPM0) ? (1) : \ (((x) == TPM1) ? (1) : (-1)))) /* @brief Has pause level select. */ #define FSL_FEATURE_TPM_HAS_PAUSE_LEVEL_SELECT (1) /* @brief Whether 32 bits counter has effect. */ #define FSL_FEATURE_TPM_HAS_32BIT_COUNTERn(x) (1) /* TRGMUX module features */ /* No feature definitions */ /* VREF module features */ /* @brief Has chop oscillator (bit TRM[CHOPEN]) */ #define FSL_FEATURE_VREF_HAS_CHOP_OSC (0) /* @brief Has second order curvature compensation (bit SC[ICOMPEN]) */ #define FSL_FEATURE_VREF_HAS_COMPENSATION (0) /* @brief If high/low buffer mode supported */ #define FSL_FEATURE_VREF_MODE_LV_TYPE (0) /* @brief Module has also low reference (registers VREFL/VREFH) */ #define FSL_FEATURE_VREF_HAS_LOW_REFERENCE (0) /* @brief Has VREF_TRM4. */ #define FSL_FEATURE_VREF_HAS_TRM4 (0) /* WDOG module features */ /* @brief Watchdog is available. */ #define FSL_FEATURE_WDOG_HAS_WATCHDOG (1) /* @brief WDOG_CNT can be 32-bit written. */ #define FSL_FEATURE_WDOG_HAS_32BIT_ACCESS (1) /* WUU module features */ /* No feature definitions */ #endif /* _MCXW716A_FEATURES_H_ */