1 /* 2 ** ################################################################### 3 ** Version: rev. 4.0, 2016-09-20 4 ** Build: b200925 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: support@nxp.com 17 ** 18 ** Revisions: 19 ** - rev. 1.0 (2015-11-18) 20 ** Initial version. 21 ** - rev. 2.0 (2015-12-03) 22 ** Alpha version based on rev0 RDP. 23 ** - rev. 3.0 (2016-04-13) 24 ** Final version based on rev1 RDP. 25 ** - rev. 4.0 (2016-09-20) 26 ** Updated based on rev2 RDP. 27 ** 28 ** ################################################################### 29 */ 30 31 #ifndef _MKE18F16_FEATURES_H_ 32 #define _MKE18F16_FEATURES_H_ 33 34 /* SOC module features */ 35 36 /* @brief ACMP availability on the SoC. */ 37 #define FSL_FEATURE_SOC_ACMP_COUNT (3) 38 /* @brief ADC12 availability on the SoC. */ 39 #define FSL_FEATURE_SOC_ADC12_COUNT (3) 40 /* @brief AIPS availability on the SoC. */ 41 #define FSL_FEATURE_SOC_AIPS_COUNT (1) 42 /* @brief FLEXCAN availability on the SoC. */ 43 #define FSL_FEATURE_SOC_FLEXCAN_COUNT (2) 44 /* @brief CRC availability on the SoC. */ 45 #define FSL_FEATURE_SOC_CRC_COUNT (1) 46 /* @brief DAC32 availability on the SoC. */ 47 #define FSL_FEATURE_SOC_DAC32_COUNT (1) 48 /* @brief EDMA availability on the SoC. */ 49 #define FSL_FEATURE_SOC_EDMA_COUNT (1) 50 /* @brief DMAMUX availability on the SoC. */ 51 #define FSL_FEATURE_SOC_DMAMUX_COUNT (1) 52 /* @brief EWM availability on the SoC. */ 53 #define FSL_FEATURE_SOC_EWM_COUNT (1) 54 /* @brief FLEXIO availability on the SoC. */ 55 #define FSL_FEATURE_SOC_FLEXIO_COUNT (1) 56 /* @brief FTFE availability on the SoC. */ 57 #define FSL_FEATURE_SOC_FTFE_COUNT (1) 58 /* @brief FTM availability on the SoC. */ 59 #define FSL_FEATURE_SOC_FTM_COUNT (4) 60 /* @brief GPIO availability on the SoC. */ 61 #define FSL_FEATURE_SOC_GPIO_COUNT (5) 62 /* @brief LMEM availability on the SoC. */ 63 #define FSL_FEATURE_SOC_LMEM_COUNT (1) 64 /* @brief LPI2C availability on the SoC. */ 65 #define FSL_FEATURE_SOC_LPI2C_COUNT (2) 66 /* @brief LPIT availability on the SoC. */ 67 #define FSL_FEATURE_SOC_LPIT_COUNT (1) 68 /* @brief LPSPI availability on the SoC. */ 69 #define FSL_FEATURE_SOC_LPSPI_COUNT (2) 70 /* @brief LPTMR availability on the SoC. */ 71 #define FSL_FEATURE_SOC_LPTMR_COUNT (1) 72 /* @brief LPUART availability on the SoC. */ 73 #define FSL_FEATURE_SOC_LPUART_COUNT (3) 74 /* @brief MCM availability on the SoC. */ 75 #define FSL_FEATURE_SOC_MCM_COUNT (1) 76 /* @brief SYSMPU availability on the SoC. */ 77 #define FSL_FEATURE_SOC_SYSMPU_COUNT (1) 78 /* @brief MSCM availability on the SoC. */ 79 #define FSL_FEATURE_SOC_MSCM_COUNT (1) 80 /* @brief OSC32 availability on the SoC. */ 81 #define FSL_FEATURE_SOC_OSC32_COUNT (1) 82 /* @brief PDB availability on the SoC. */ 83 #define FSL_FEATURE_SOC_PDB_COUNT (3) 84 /* @brief PCC availability on the SoC. */ 85 #define FSL_FEATURE_SOC_PCC_COUNT (1) 86 /* @brief PMC availability on the SoC. */ 87 #define FSL_FEATURE_SOC_PMC_COUNT (1) 88 /* @brief PORT availability on the SoC. */ 89 #define FSL_FEATURE_SOC_PORT_COUNT (5) 90 /* @brief PWT availability on the SoC. */ 91 #define FSL_FEATURE_SOC_PWT_COUNT (1) 92 /* @brief RCM availability on the SoC. */ 93 #define FSL_FEATURE_SOC_RCM_COUNT (1) 94 /* @brief RTC availability on the SoC. */ 95 #define FSL_FEATURE_SOC_RTC_COUNT (1) 96 /* @brief SCG availability on the SoC. */ 97 #define FSL_FEATURE_SOC_SCG_COUNT (1) 98 /* @brief SIM availability on the SoC. */ 99 #define FSL_FEATURE_SOC_SIM_COUNT (1) 100 /* @brief SMC availability on the SoC. */ 101 #define FSL_FEATURE_SOC_SMC_COUNT (1) 102 /* @brief TRGMUX availability on the SoC. */ 103 #define FSL_FEATURE_SOC_TRGMUX_COUNT (2) 104 /* @brief WDOG availability on the SoC. */ 105 #define FSL_FEATURE_SOC_WDOG_COUNT (1) 106 107 /* ADC12 module features */ 108 109 /* @brief Has DMA support (bit SC2[DMAEN]. */ 110 #define FSL_FEATURE_ADC12_HAS_DMA_SUPPORT (1) 111 /* @brief Conversion control count (related to number of registers SC1n and Rn). */ 112 #define FSL_FEATURE_ADC12_CONVERSION_CONTROL_COUNT (8) 113 114 /* FLEXCAN module features */ 115 116 /* @brief Message buffer size */ 117 #define FSL_FEATURE_FLEXCAN_HAS_MESSAGE_BUFFER_MAX_NUMBERn(x) (16) 118 /* @brief Has doze mode support (register bit field MCR[DOZE]). */ 119 #define FSL_FEATURE_FLEXCAN_HAS_DOZE_MODE_SUPPORT (0) 120 /* @brief Insatnce has doze mode support (register bit field MCR[DOZE]). */ 121 #define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_DOZE_MODE_SUPPORTn(x) (0) 122 /* @brief Has a glitch filter on the receive pin (register bit field MCR[WAKSRC]). */ 123 #define FSL_FEATURE_FLEXCAN_HAS_GLITCH_FILTER (1) 124 /* @brief Has extended interrupt mask and flag register (register IMASK2, IFLAG2). */ 125 #define FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER (0) 126 /* @brief Instance has extended bit timing register (register CBT). */ 127 #define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_EXTENDED_TIMING_REGISTERn(x) (1) 128 /* @brief Has a receive FIFO DMA feature (register bit field MCR[DMA]). */ 129 #define FSL_FEATURE_FLEXCAN_HAS_RX_FIFO_DMA (1) 130 /* @brief Instance has a receive FIFO DMA feature (register bit field MCR[DMA]). */ 131 #define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_RX_FIFO_DMAn(x) (1) 132 /* @brief Has separate message buffer 0 interrupt flag (register bit field IFLAG1[BUF0I]). */ 133 #define FSL_FEATURE_FLEXCAN_HAS_SEPARATE_BUFFER_0_FLAG (1) 134 /* @brief Has bitfield name BUF31TO0M. */ 135 #define FSL_FEATURE_FLEXCAN_HAS_BUF31TO0M (1) 136 /* @brief Number of interrupt vectors. */ 137 #define FSL_FEATURE_FLEXCAN_INTERRUPT_COUNT (6) 138 /* @brief Is affected by errata with ID 5641 (Module does not transmit a message that is enabled to be transmitted at a specific moment during the arbitration process). */ 139 #define FSL_FEATURE_FLEXCAN_HAS_ERRATA_5641 (0) 140 141 /* ACMP module features */ 142 143 /* @brief Has CMP_C3. */ 144 #define FSL_FEATURE_ACMP_HAS_C3_REG (0) 145 /* @brief Has C0 LINKEN Bit */ 146 #define FSL_FEATURE_ACMP_HAS_C0_LINKEN_BIT (0) 147 /* @brief Has C0 OFFSET Bit */ 148 #define FSL_FEATURE_ACMP_HAS_C0_OFFSET_BIT (1) 149 /* @brief Has C1 INPSEL Bit */ 150 #define FSL_FEATURE_ACMP_HAS_C1_INPSEL_BIT (1) 151 /* @brief Has C1 INNSEL Bit */ 152 #define FSL_FEATURE_ACMP_HAS_C1_INNSEL_BIT (1) 153 /* @brief Has C1 DACOE Bit */ 154 #define FSL_FEATURE_ACMP_HAS_C1_DACOE_BIT (0) 155 /* @brief Has C1 DMODE Bit */ 156 #define FSL_FEATURE_ACMP_HAS_C1_DMODE_BIT (0) 157 /* @brief Has C2 RRE Bit */ 158 #define FSL_FEATURE_ACMP_HAS_C2_RRE_BIT (1) 159 160 /* CRC module features */ 161 162 /* @brief Has data register with name CRC */ 163 #define FSL_FEATURE_CRC_HAS_CRC_REG (0) 164 165 /* DAC32 module features */ 166 167 /* No feature definitions */ 168 169 /* EDMA module features */ 170 171 /* @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.) */ 172 #define FSL_FEATURE_EDMA_MODULE_CHANNEL (16) 173 /* @brief Total number of DMA channels on all modules. */ 174 #define FSL_FEATURE_EDMA_DMAMUX_CHANNELS (16) 175 /* @brief Number of DMA channel groups (register bit fields CR[ERGA], CR[GRPnPRI], ES[GPE], DCHPRIn[GRPPRI]). (Valid only for eDMA modules.) */ 176 #define FSL_FEATURE_EDMA_CHANNEL_GROUP_COUNT (1) 177 /* @brief Has DMA_Error interrupt vector. */ 178 #define FSL_FEATURE_EDMA_HAS_ERROR_IRQ (1) 179 /* @brief Number of DMA channels with asynchronous request capability (register EARS). (Valid only for eDMA modules.) */ 180 #define FSL_FEATURE_EDMA_ASYNCHRO_REQUEST_CHANNEL_COUNT (16) 181 /* @brief Channel IRQ entry shared offset. */ 182 #define FSL_FEATURE_EDMA_MODULE_CHANNEL_IRQ_ENTRY_SHARED_OFFSET (0) 183 /* @brief If 8 bytes transfer supported. */ 184 #define FSL_FEATURE_EDMA_SUPPORT_8_BYTES_TRANSFER (0) 185 /* @brief If 16 bytes transfer supported. */ 186 #define FSL_FEATURE_EDMA_SUPPORT_16_BYTES_TRANSFER (1) 187 188 /* DMAMUX module features */ 189 190 /* @brief Number of DMA channels (related to number of register CHCFGn). */ 191 #define FSL_FEATURE_DMAMUX_MODULE_CHANNEL (16) 192 /* @brief Total number of DMA channels on all modules. */ 193 #define FSL_FEATURE_DMAMUX_DMAMUX_CHANNELS (16) 194 /* @brief Has the periodic trigger capability for the triggered DMA channel (register bit CHCFG0[TRIG]). */ 195 #define FSL_FEATURE_DMAMUX_HAS_TRIG (1) 196 /* @brief Register CHCFGn width. */ 197 #define FSL_FEATURE_DMAMUX_CHCFG_REGISTER_WIDTH (8) 198 199 /* EWM module features */ 200 201 /* @brief Has clock select (register CLKCTRL). */ 202 #define FSL_FEATURE_EWM_HAS_CLOCK_SELECT (0) 203 /* @brief Has clock prescaler (register CLKPRESCALER). */ 204 #define FSL_FEATURE_EWM_HAS_PRESCALER (1) 205 206 /* FLEXIO module features */ 207 208 /* @brief Has Shifter Status Register (FLEXIO_SHIFTSTAT) */ 209 #define FSL_FEATURE_FLEXIO_HAS_SHIFTER_STATUS (1) 210 /* @brief Has Pin Data Input Register (FLEXIO_PIN) */ 211 #define FSL_FEATURE_FLEXIO_HAS_PIN_STATUS (1) 212 /* @brief Has Shifter Buffer N Nibble Byte Swapped Register (FLEXIO_SHIFTBUFNBSn) */ 213 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_BYTE_SWAP (0) 214 /* @brief Has Shifter Buffer N Half Word Swapped Register (FLEXIO_SHIFTBUFHWSn) */ 215 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_HALF_WORD_SWAP (0) 216 /* @brief Has Shifter Buffer N Nibble Swapped Register (FLEXIO_SHIFTBUFNISn) */ 217 #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_SWAP (0) 218 /* @brief Supports Shifter State Mode (FLEXIO_SHIFTCTLn[SMOD]) */ 219 #define FSL_FEATURE_FLEXIO_HAS_STATE_MODE (0) 220 /* @brief Supports Shifter Logic Mode (FLEXIO_SHIFTCTLn[SMOD]) */ 221 #define FSL_FEATURE_FLEXIO_HAS_LOGIC_MODE (0) 222 /* @brief Supports paralle width (FLEXIO_SHIFTCFGn[PWIDTH]) */ 223 #define FSL_FEATURE_FLEXIO_HAS_PARALLEL_WIDTH (0) 224 /* @brief Reset value of the FLEXIO_VERID register */ 225 #define FSL_FEATURE_FLEXIO_VERID_RESET_VALUE (0x1010000) 226 /* @brief Reset value of the FLEXIO_PARAM register */ 227 #define FSL_FEATURE_FLEXIO_PARAM_RESET_VALUE (0x4080404) 228 /* @brief Flexio DMA request base channel */ 229 #define FSL_FEATURE_FLEXIO_DMA_REQUEST_BASE_CHANNEL (0) 230 231 /* FLASH module features */ 232 233 #if defined(CPU_MKE18F256VLH16) || defined(CPU_MKE18F256VLL16) 234 /* @brief Is of type FTFA. */ 235 #define FSL_FEATURE_FLASH_IS_FTFA (0) 236 /* @brief Is of type FTFE. */ 237 #define FSL_FEATURE_FLASH_IS_FTFE (1) 238 /* @brief Is of type FTFL. */ 239 #define FSL_FEATURE_FLASH_IS_FTFL (0) 240 /* @brief Has flags indicating the status of the FlexRAM (register bits FCNFG[EEERDY], FCNFG[RAMRDY] and FCNFG[PFLSH]). */ 241 #define FSL_FEATURE_FLASH_HAS_FLEX_RAM_FLAGS (1) 242 /* @brief Has program flash swapping status flag (register bit FCNFG[SWAP]). */ 243 #define FSL_FEATURE_FLASH_HAS_PFLASH_SWAPPING_STATUS_FLAG (0) 244 /* @brief Has EEPROM region protection (register FEPROT). */ 245 #define FSL_FEATURE_FLASH_HAS_EEROM_REGION_PROTECTION (1) 246 /* @brief Has data flash region protection (register FDPROT). */ 247 #define FSL_FEATURE_FLASH_HAS_DATA_FLASH_REGION_PROTECTION (1) 248 /* @brief Has flash access control (registers XACCHn, SACCHn, where n is a number, FACSS and FACSN). */ 249 #define FSL_FEATURE_FLASH_HAS_ACCESS_CONTROL (1) 250 /* @brief Has flash cache control in FMC module. */ 251 #define FSL_FEATURE_FLASH_HAS_FMC_FLASH_CACHE_CONTROLS (0) 252 /* @brief Has flash cache control in MCM module. */ 253 #define FSL_FEATURE_FLASH_HAS_MCM_FLASH_CACHE_CONTROLS (0) 254 /* @brief Has flash cache control in MSCM module. */ 255 #define FSL_FEATURE_FLASH_HAS_MSCM_FLASH_CACHE_CONTROLS (1) 256 /* @brief Has prefetch speculation control in flash, such as kv5x. */ 257 #define FSL_FEATURE_FLASH_PREFETCH_SPECULATION_CONTROL_IN_FLASH (0) 258 /* @brief P-Flash flash size coding rule version, value 0 for K1 and K2, value 1 for K3. */ 259 #define FSL_FEATURE_FLASH_SIZE_ENCODING_RULE_VERSION (0) 260 /* @brief P-Flash start address. */ 261 #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000) 262 /* @brief P-Flash block count. */ 263 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1) 264 /* @brief P-Flash block size. */ 265 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (262144) 266 /* @brief P-Flash sector size. */ 267 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SECTOR_SIZE (4096) 268 /* @brief P-Flash write unit size. */ 269 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_WRITE_UNIT_SIZE (8) 270 /* @brief P-Flash data path width. */ 271 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_DATA_PATH_WIDTH (16) 272 /* @brief P-Flash block swap feature. */ 273 #define FSL_FEATURE_FLASH_HAS_PFLASH_BLOCK_SWAP (0) 274 /* @brief P-Flash protection region count. */ 275 #define FSL_FEATURE_FLASH_PFLASH_PROTECTION_REGION_COUNT (32) 276 /* @brief Has FlexNVM memory. */ 277 #define FSL_FEATURE_FLASH_HAS_FLEX_NVM (1) 278 /* @brief Has FlexNVM alias. */ 279 #define FSL_FEATURE_FLASH_HAS_FLEX_NVM_ALIAS (0) 280 /* @brief FlexNVM start address. (Valid only if FlexNVM is available.) */ 281 #define FSL_FEATURE_FLASH_FLEX_NVM_START_ADDRESS (0x10000000) 282 /* @brief FlexNVM alias start address. (Valid only if FlexNVM alias is available.) */ 283 #define FSL_FEATURE_FLASH_FLEX_NVM_ALIAS_START_ADDRESS (0x00000000) 284 /* @brief FlexNVM block count. */ 285 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_COUNT (1) 286 /* @brief FlexNVM block size. */ 287 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_SIZE (65536) 288 /* @brief FlexNVM sector size. */ 289 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_SECTOR_SIZE (2048) 290 /* @brief FlexNVM write unit size. */ 291 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_WRITE_UNIT_SIZE (8) 292 /* @brief FlexNVM data path width. */ 293 #define FSL_FEATURE_FLASH_FLEX_BLOCK_DATA_PATH_WIDTH (8) 294 /* @brief Has FlexRAM memory. */ 295 #define FSL_FEATURE_FLASH_HAS_FLEX_RAM (1) 296 /* @brief FlexRAM start address. (Valid only if FlexRAM is available.) */ 297 #define FSL_FEATURE_FLASH_FLEX_RAM_START_ADDRESS (0x14000000) 298 /* @brief FlexRAM size. */ 299 #define FSL_FEATURE_FLASH_FLEX_RAM_SIZE (4096) 300 /* @brief Has 0x00 Read 1s Block command. */ 301 #define FSL_FEATURE_FLASH_HAS_READ_1S_BLOCK_CMD (1) 302 /* @brief Has 0x01 Read 1s Section command. */ 303 #define FSL_FEATURE_FLASH_HAS_READ_1S_SECTION_CMD (1) 304 /* @brief Has 0x02 Program Check command. */ 305 #define FSL_FEATURE_FLASH_HAS_PROGRAM_CHECK_CMD (1) 306 /* @brief Has 0x03 Read Resource command. */ 307 #define FSL_FEATURE_FLASH_HAS_READ_RESOURCE_CMD (1) 308 /* @brief Has 0x06 Program Longword command. */ 309 #define FSL_FEATURE_FLASH_HAS_PROGRAM_LONGWORD_CMD (0) 310 /* @brief Has 0x07 Program Phrase command. */ 311 #define FSL_FEATURE_FLASH_HAS_PROGRAM_PHRASE_CMD (1) 312 /* @brief Has 0x08 Erase Flash Block command. */ 313 #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_BLOCK_CMD (1) 314 /* @brief Has 0x09 Erase Flash Sector command. */ 315 #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_SECTOR_CMD (1) 316 /* @brief Has 0x0B Program Section command. */ 317 #define FSL_FEATURE_FLASH_HAS_PROGRAM_SECTION_CMD (1) 318 /* @brief Has 0x40 Read 1s All Blocks command. */ 319 #define FSL_FEATURE_FLASH_HAS_READ_1S_ALL_BLOCKS_CMD (1) 320 /* @brief Has 0x41 Read Once command. */ 321 #define FSL_FEATURE_FLASH_HAS_READ_ONCE_CMD (1) 322 /* @brief Has 0x43 Program Once command. */ 323 #define FSL_FEATURE_FLASH_HAS_PROGRAM_ONCE_CMD (1) 324 /* @brief Has 0x44 Erase All Blocks command. */ 325 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_CMD (1) 326 /* @brief Has 0x45 Verify Backdoor Access Key command. */ 327 #define FSL_FEATURE_FLASH_HAS_VERIFY_BACKDOOR_ACCESS_KEY_CMD (1) 328 /* @brief Has 0x46 Swap Control command. */ 329 #define FSL_FEATURE_FLASH_HAS_SWAP_CONTROL_CMD (0) 330 /* @brief Has 0x49 Erase All Blocks Unsecure command. */ 331 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_UNSECURE_CMD (1) 332 /* @brief Has 0x4A Read 1s All Execute-only Segments command. */ 333 #define FSL_FEATURE_FLASH_HAS_READ_1S_ALL_EXECUTE_ONLY_SEGMENTS_CMD (1) 334 /* @brief Has 0x4B Erase All Execute-only Segments command. */ 335 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_EXECUTE_ONLY_SEGMENTS_CMD (1) 336 /* @brief Has 0x80 Program Partition command. */ 337 #define FSL_FEATURE_FLASH_HAS_PROGRAM_PARTITION_CMD (1) 338 /* @brief Has 0x81 Set FlexRAM Function command. */ 339 #define FSL_FEATURE_FLASH_HAS_SET_FLEXRAM_FUNCTION_CMD (1) 340 /* @brief P-Flash Erase/Read 1st all block command address alignment. */ 341 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_CMD_ADDRESS_ALIGMENT (16) 342 /* @brief P-Flash Erase sector command address alignment. */ 343 #define FSL_FEATURE_FLASH_PFLASH_SECTOR_CMD_ADDRESS_ALIGMENT (16) 344 /* @brief P-Flash Rrogram/Verify section command address alignment. */ 345 #define FSL_FEATURE_FLASH_PFLASH_SECTION_CMD_ADDRESS_ALIGMENT (16) 346 /* @brief P-Flash Read resource command address alignment. */ 347 #define FSL_FEATURE_FLASH_PFLASH_RESOURCE_CMD_ADDRESS_ALIGMENT (8) 348 /* @brief P-Flash Program check command address alignment. */ 349 #define FSL_FEATURE_FLASH_PFLASH_CHECK_CMD_ADDRESS_ALIGMENT (4) 350 /* @brief P-Flash Program check command address alignment. */ 351 #define FSL_FEATURE_FLASH_PFLASH_SWAP_CONTROL_CMD_ADDRESS_ALIGMENT (0) 352 /* @brief FlexNVM Erase/Read 1st all block command address alignment. */ 353 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_CMD_ADDRESS_ALIGMENT (8) 354 /* @brief FlexNVM Erase sector command address alignment. */ 355 #define FSL_FEATURE_FLASH_FLEX_NVM_SECTOR_CMD_ADDRESS_ALIGMENT (8) 356 /* @brief FlexNVM Rrogram/Verify section command address alignment. */ 357 #define FSL_FEATURE_FLASH_FLEX_NVM_SECTION_CMD_ADDRESS_ALIGMENT (8) 358 /* @brief FlexNVM Read resource command address alignment. */ 359 #define FSL_FEATURE_FLASH_FLEX_NVM_RESOURCE_CMD_ADDRESS_ALIGMENT (8) 360 /* @brief FlexNVM Program check command address alignment. */ 361 #define FSL_FEATURE_FLASH_FLEX_NVM_CHECK_CMD_ADDRESS_ALIGMENT (4) 362 /* @brief FlexNVM partition code 0000 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 363 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0000 (0x00010000U) 364 /* @brief FlexNVM partition code 0001 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 365 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0001 (0x0000E000U) 366 /* @brief FlexNVM partition code 0010 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 367 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0010 (0x0000C000U) 368 /* @brief FlexNVM partition code 0011 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 369 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0011 (0x00008000U) 370 /* @brief FlexNVM partition code 0100 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 371 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0100 (0x00000000U) 372 /* @brief FlexNVM partition code 0101 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 373 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0101 (0xFFFFFFFFU) 374 /* @brief FlexNVM partition code 0110 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 375 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0110 (0xFFFFFFFFU) 376 /* @brief FlexNVM partition code 0111 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 377 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0111 (0xFFFFFFFFU) 378 /* @brief FlexNVM partition code 1000 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 379 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1000 (0x00000000U) 380 /* @brief FlexNVM partition code 1001 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 381 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1001 (0x00002000U) 382 /* @brief FlexNVM partition code 1010 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 383 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1010 (0x00004000U) 384 /* @brief FlexNVM partition code 1011 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 385 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1011 (0x00008000U) 386 /* @brief FlexNVM partition code 1100 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 387 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1100 (0x00010000U) 388 /* @brief FlexNVM partition code 1101 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 389 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1101 (0xFFFFFFFFU) 390 /* @brief FlexNVM partition code 1110 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 391 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1110 (0xFFFFFFFFU) 392 /* @brief FlexNVM partition code 1111 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 393 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1111 (0x00010000U) 394 /* @brief Emulated eeprom size code 0000 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 395 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0000 (0xFFFF) 396 /* @brief Emulated eeprom size code 0001 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 397 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0001 (0xFFFF) 398 /* @brief Emulated eeprom size code 0010 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 399 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0010 (0x1000) 400 /* @brief Emulated eeprom size code 0011 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 401 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0011 (0x0800) 402 /* @brief Emulated eeprom size code 0100 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 403 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0100 (0x0400) 404 /* @brief Emulated eeprom size code 0101 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 405 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0101 (0x0200) 406 /* @brief Emulated eeprom size code 0110 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 407 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0110 (0x0100) 408 /* @brief Emulated eeprom size code 0111 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 409 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0111 (0x0080) 410 /* @brief Emulated eeprom size code 1000 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 411 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1000 (0x0040) 412 /* @brief Emulated eeprom size code 1001 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 413 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1001 (0x0020) 414 /* @brief Emulated eeprom size code 1010 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 415 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1010 (0xFFFF) 416 /* @brief Emulated eeprom size code 1011 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 417 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1011 (0xFFFF) 418 /* @brief Emulated eeprom size code 1100 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 419 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1100 (0xFFFF) 420 /* @brief Emulated eeprom size code 1101 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 421 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1101 (0xFFFF) 422 /* @brief Emulated eeprom size code 1110 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 423 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1110 (0xFFFF) 424 /* @brief Emulated eeprom size code 1111 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 425 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1111 (0x0000) 426 #elif defined(CPU_MKE18F512VLH16) || defined(CPU_MKE18F512VLL16) 427 /* @brief Is of type FTFA. */ 428 #define FSL_FEATURE_FLASH_IS_FTFA (0) 429 /* @brief Is of type FTFE. */ 430 #define FSL_FEATURE_FLASH_IS_FTFE (1) 431 /* @brief Is of type FTFL. */ 432 #define FSL_FEATURE_FLASH_IS_FTFL (0) 433 /* @brief Has flags indicating the status of the FlexRAM (register bits FCNFG[EEERDY], FCNFG[RAMRDY] and FCNFG[PFLSH]). */ 434 #define FSL_FEATURE_FLASH_HAS_FLEX_RAM_FLAGS (1) 435 /* @brief Has program flash swapping status flag (register bit FCNFG[SWAP]). */ 436 #define FSL_FEATURE_FLASH_HAS_PFLASH_SWAPPING_STATUS_FLAG (0) 437 /* @brief Has EEPROM region protection (register FEPROT). */ 438 #define FSL_FEATURE_FLASH_HAS_EEROM_REGION_PROTECTION (1) 439 /* @brief Has data flash region protection (register FDPROT). */ 440 #define FSL_FEATURE_FLASH_HAS_DATA_FLASH_REGION_PROTECTION (1) 441 /* @brief Has flash access control (registers XACCHn, SACCHn, where n is a number, FACSS and FACSN). */ 442 #define FSL_FEATURE_FLASH_HAS_ACCESS_CONTROL (1) 443 /* @brief Has flash cache control in FMC module. */ 444 #define FSL_FEATURE_FLASH_HAS_FMC_FLASH_CACHE_CONTROLS (0) 445 /* @brief Has flash cache control in MCM module. */ 446 #define FSL_FEATURE_FLASH_HAS_MCM_FLASH_CACHE_CONTROLS (0) 447 /* @brief Has flash cache control in MSCM module. */ 448 #define FSL_FEATURE_FLASH_HAS_MSCM_FLASH_CACHE_CONTROLS (1) 449 /* @brief Has prefetch speculation control in flash, such as kv5x. */ 450 #define FSL_FEATURE_FLASH_PREFETCH_SPECULATION_CONTROL_IN_FLASH (0) 451 /* @brief P-Flash flash size coding rule version, value 0 for K1 and K2, value 1 for K3. */ 452 #define FSL_FEATURE_FLASH_SIZE_ENCODING_RULE_VERSION (0) 453 /* @brief P-Flash start address. */ 454 #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000) 455 /* @brief P-Flash block count. */ 456 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1) 457 /* @brief P-Flash block size. */ 458 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (524288) 459 /* @brief P-Flash sector size. */ 460 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SECTOR_SIZE (4096) 461 /* @brief P-Flash write unit size. */ 462 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_WRITE_UNIT_SIZE (8) 463 /* @brief P-Flash data path width. */ 464 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_DATA_PATH_WIDTH (16) 465 /* @brief P-Flash block swap feature. */ 466 #define FSL_FEATURE_FLASH_HAS_PFLASH_BLOCK_SWAP (0) 467 /* @brief P-Flash protection region count. */ 468 #define FSL_FEATURE_FLASH_PFLASH_PROTECTION_REGION_COUNT (32) 469 /* @brief Has FlexNVM memory. */ 470 #define FSL_FEATURE_FLASH_HAS_FLEX_NVM (1) 471 /* @brief Has FlexNVM alias. */ 472 #define FSL_FEATURE_FLASH_HAS_FLEX_NVM_ALIAS (0) 473 /* @brief FlexNVM start address. (Valid only if FlexNVM is available.) */ 474 #define FSL_FEATURE_FLASH_FLEX_NVM_START_ADDRESS (0x10000000) 475 /* @brief FlexNVM alias start address. (Valid only if FlexNVM alias is available.) */ 476 #define FSL_FEATURE_FLASH_FLEX_NVM_ALIAS_START_ADDRESS (0x00000000) 477 /* @brief FlexNVM block count. */ 478 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_COUNT (1) 479 /* @brief FlexNVM block size. */ 480 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_SIZE (65536) 481 /* @brief FlexNVM sector size. */ 482 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_SECTOR_SIZE (2048) 483 /* @brief FlexNVM write unit size. */ 484 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_WRITE_UNIT_SIZE (8) 485 /* @brief FlexNVM data path width. */ 486 #define FSL_FEATURE_FLASH_FLEX_BLOCK_DATA_PATH_WIDTH (8) 487 /* @brief Has FlexRAM memory. */ 488 #define FSL_FEATURE_FLASH_HAS_FLEX_RAM (1) 489 /* @brief FlexRAM start address. (Valid only if FlexRAM is available.) */ 490 #define FSL_FEATURE_FLASH_FLEX_RAM_START_ADDRESS (0x14000000) 491 /* @brief FlexRAM size. */ 492 #define FSL_FEATURE_FLASH_FLEX_RAM_SIZE (4096) 493 /* @brief Has 0x00 Read 1s Block command. */ 494 #define FSL_FEATURE_FLASH_HAS_READ_1S_BLOCK_CMD (1) 495 /* @brief Has 0x01 Read 1s Section command. */ 496 #define FSL_FEATURE_FLASH_HAS_READ_1S_SECTION_CMD (1) 497 /* @brief Has 0x02 Program Check command. */ 498 #define FSL_FEATURE_FLASH_HAS_PROGRAM_CHECK_CMD (1) 499 /* @brief Has 0x03 Read Resource command. */ 500 #define FSL_FEATURE_FLASH_HAS_READ_RESOURCE_CMD (1) 501 /* @brief Has 0x06 Program Longword command. */ 502 #define FSL_FEATURE_FLASH_HAS_PROGRAM_LONGWORD_CMD (0) 503 /* @brief Has 0x07 Program Phrase command. */ 504 #define FSL_FEATURE_FLASH_HAS_PROGRAM_PHRASE_CMD (1) 505 /* @brief Has 0x08 Erase Flash Block command. */ 506 #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_BLOCK_CMD (1) 507 /* @brief Has 0x09 Erase Flash Sector command. */ 508 #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_SECTOR_CMD (1) 509 /* @brief Has 0x0B Program Section command. */ 510 #define FSL_FEATURE_FLASH_HAS_PROGRAM_SECTION_CMD (1) 511 /* @brief Has 0x40 Read 1s All Blocks command. */ 512 #define FSL_FEATURE_FLASH_HAS_READ_1S_ALL_BLOCKS_CMD (1) 513 /* @brief Has 0x41 Read Once command. */ 514 #define FSL_FEATURE_FLASH_HAS_READ_ONCE_CMD (1) 515 /* @brief Has 0x43 Program Once command. */ 516 #define FSL_FEATURE_FLASH_HAS_PROGRAM_ONCE_CMD (1) 517 /* @brief Has 0x44 Erase All Blocks command. */ 518 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_CMD (1) 519 /* @brief Has 0x45 Verify Backdoor Access Key command. */ 520 #define FSL_FEATURE_FLASH_HAS_VERIFY_BACKDOOR_ACCESS_KEY_CMD (1) 521 /* @brief Has 0x46 Swap Control command. */ 522 #define FSL_FEATURE_FLASH_HAS_SWAP_CONTROL_CMD (0) 523 /* @brief Has 0x49 Erase All Blocks Unsecure command. */ 524 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_UNSECURE_CMD (1) 525 /* @brief Has 0x4A Read 1s All Execute-only Segments command. */ 526 #define FSL_FEATURE_FLASH_HAS_READ_1S_ALL_EXECUTE_ONLY_SEGMENTS_CMD (1) 527 /* @brief Has 0x4B Erase All Execute-only Segments command. */ 528 #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_EXECUTE_ONLY_SEGMENTS_CMD (1) 529 /* @brief Has 0x80 Program Partition command. */ 530 #define FSL_FEATURE_FLASH_HAS_PROGRAM_PARTITION_CMD (1) 531 /* @brief Has 0x81 Set FlexRAM Function command. */ 532 #define FSL_FEATURE_FLASH_HAS_SET_FLEXRAM_FUNCTION_CMD (1) 533 /* @brief P-Flash Erase/Read 1st all block command address alignment. */ 534 #define FSL_FEATURE_FLASH_PFLASH_BLOCK_CMD_ADDRESS_ALIGMENT (16) 535 /* @brief P-Flash Erase sector command address alignment. */ 536 #define FSL_FEATURE_FLASH_PFLASH_SECTOR_CMD_ADDRESS_ALIGMENT (16) 537 /* @brief P-Flash Rrogram/Verify section command address alignment. */ 538 #define FSL_FEATURE_FLASH_PFLASH_SECTION_CMD_ADDRESS_ALIGMENT (16) 539 /* @brief P-Flash Read resource command address alignment. */ 540 #define FSL_FEATURE_FLASH_PFLASH_RESOURCE_CMD_ADDRESS_ALIGMENT (8) 541 /* @brief P-Flash Program check command address alignment. */ 542 #define FSL_FEATURE_FLASH_PFLASH_CHECK_CMD_ADDRESS_ALIGMENT (4) 543 /* @brief P-Flash Program check command address alignment. */ 544 #define FSL_FEATURE_FLASH_PFLASH_SWAP_CONTROL_CMD_ADDRESS_ALIGMENT (0) 545 /* @brief FlexNVM Erase/Read 1st all block command address alignment. */ 546 #define FSL_FEATURE_FLASH_FLEX_NVM_BLOCK_CMD_ADDRESS_ALIGMENT (8) 547 /* @brief FlexNVM Erase sector command address alignment. */ 548 #define FSL_FEATURE_FLASH_FLEX_NVM_SECTOR_CMD_ADDRESS_ALIGMENT (8) 549 /* @brief FlexNVM Rrogram/Verify section command address alignment. */ 550 #define FSL_FEATURE_FLASH_FLEX_NVM_SECTION_CMD_ADDRESS_ALIGMENT (8) 551 /* @brief FlexNVM Read resource command address alignment. */ 552 #define FSL_FEATURE_FLASH_FLEX_NVM_RESOURCE_CMD_ADDRESS_ALIGMENT (8) 553 /* @brief FlexNVM Program check command address alignment. */ 554 #define FSL_FEATURE_FLASH_FLEX_NVM_CHECK_CMD_ADDRESS_ALIGMENT (4) 555 /* @brief FlexNVM partition code 0000 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 556 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0000 (0x00010000U) 557 /* @brief FlexNVM partition code 0001 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 558 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0001 (0x0000E000U) 559 /* @brief FlexNVM partition code 0010 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 560 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0010 (0x0000C000U) 561 /* @brief FlexNVM partition code 0011 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 562 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0011 (0x00008000U) 563 /* @brief FlexNVM partition code 0100 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 564 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0100 (0x00000000U) 565 /* @brief FlexNVM partition code 0101 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 566 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0101 (0xFFFFFFFFU) 567 /* @brief FlexNVM partition code 0110 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 568 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0110 (0xFFFFFFFFU) 569 /* @brief FlexNVM partition code 0111 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 570 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_0111 (0xFFFFFFFFU) 571 /* @brief FlexNVM partition code 1000 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 572 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1000 (0x00000000U) 573 /* @brief FlexNVM partition code 1001 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 574 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1001 (0x00002000U) 575 /* @brief FlexNVM partition code 1010 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 576 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1010 (0x00004000U) 577 /* @brief FlexNVM partition code 1011 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 578 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1011 (0x00008000U) 579 /* @brief FlexNVM partition code 1100 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 580 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1100 (0x00010000U) 581 /* @brief FlexNVM partition code 1101 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 582 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1101 (0xFFFFFFFFU) 583 /* @brief FlexNVM partition code 1110 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 584 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1110 (0xFFFFFFFFU) 585 /* @brief FlexNVM partition code 1111 mapping to data flash size in bytes (0xFFFFFFFF = reserved). */ 586 #define FSL_FEATURE_FLASH_FLEX_NVM_DFLASH_SIZE_FOR_DEPART_1111 (0x00010000U) 587 /* @brief Emulated eeprom size code 0000 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 588 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0000 (0xFFFF) 589 /* @brief Emulated eeprom size code 0001 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 590 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0001 (0xFFFF) 591 /* @brief Emulated eeprom size code 0010 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 592 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0010 (0x1000) 593 /* @brief Emulated eeprom size code 0011 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 594 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0011 (0x0800) 595 /* @brief Emulated eeprom size code 0100 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 596 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0100 (0x0400) 597 /* @brief Emulated eeprom size code 0101 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 598 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0101 (0x0200) 599 /* @brief Emulated eeprom size code 0110 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 600 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0110 (0x0100) 601 /* @brief Emulated eeprom size code 0111 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 602 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_0111 (0x0080) 603 /* @brief Emulated eeprom size code 1000 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 604 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1000 (0x0040) 605 /* @brief Emulated eeprom size code 1001 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 606 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1001 (0x0020) 607 /* @brief Emulated eeprom size code 1010 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 608 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1010 (0xFFFF) 609 /* @brief Emulated eeprom size code 1011 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 610 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1011 (0xFFFF) 611 /* @brief Emulated eeprom size code 1100 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 612 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1100 (0xFFFF) 613 /* @brief Emulated eeprom size code 1101 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 614 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1101 (0xFFFF) 615 /* @brief Emulated eeprom size code 1110 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 616 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1110 (0xFFFF) 617 /* @brief Emulated eeprom size code 1111 mapping to emulated eeprom size in bytes (0xFFFF = reserved). */ 618 #define FSL_FEATURE_FLASH_FLEX_NVM_EEPROM_SIZE_FOR_EEESIZE_1111 (0x0000) 619 #endif /* defined(CPU_MKE18F256VLH16) || defined(CPU_MKE18F256VLL16) */ 620 621 /* FTM module features */ 622 623 /* @brief Number of channels. */ 624 #define FSL_FEATURE_FTM_CHANNEL_COUNTn(x) (8) 625 /* @brief Has counter reset by the selected input capture event (register bits C0SC[ICRST], C1SC[ICRST], ...). */ 626 #define FSL_FEATURE_FTM_HAS_COUNTER_RESET_BY_CAPTURE_EVENT (1) 627 /* @brief Has extended deadtime value. */ 628 #define FSL_FEATURE_FTM_HAS_EXTENDED_DEADTIME_VALUE (1) 629 /* @brief Enable pwm output for the module. */ 630 #define FSL_FEATURE_FTM_HAS_ENABLE_PWM_OUTPUT (1) 631 /* @brief Has half-cycle reload for the module. */ 632 #define FSL_FEATURE_FTM_HAS_HALFCYCLE_RELOAD (1) 633 /* @brief Has reload interrupt. */ 634 #define FSL_FEATURE_FTM_HAS_RELOAD_INTERRUPT (1) 635 /* @brief Has reload initialization trigger. */ 636 #define FSL_FEATURE_FTM_HAS_RELOAD_INITIALIZATION_TRIGGER (1) 637 /* @brief Has DMA support, bitfield CnSC[DMA]. */ 638 #define FSL_FEATURE_FTM_HAS_DMA_SUPPORT (1) 639 /* @brief If channel 6 is used to generate channel trigger, bitfield EXTTRIG[CH6TRIG]. */ 640 #define FSL_FEATURE_FTM_HAS_CHANNEL6_TRIGGER (1) 641 /* @brief If channel 7 is used to generate channel trigger, bitfield EXTTRIG[CH7TRIG]. */ 642 #define FSL_FEATURE_FTM_HAS_CHANNEL7_TRIGGER (1) 643 /* @brief If instance has only TPM function. */ 644 #define FSL_FEATURE_FTM_IS_TPM_ONLY_INSTANCEn(x) (0) 645 646 /* GPIO module features */ 647 648 /* @brief Has GPIO attribute checker register (GACR). */ 649 #define FSL_FEATURE_GPIO_HAS_ATTRIBUTE_CHECKER (0) 650 651 /* LMEM module features */ 652 653 /* @brief Has process identifier support. */ 654 #define FSL_FEATURE_LMEM_HAS_SYSTEMBUS_CACHE (0) 655 /* @brief Has L1 cache. */ 656 #define FSL_FEATURE_HAS_L1CACHE (1) 657 /* @brief L1 ICACHE line size in byte. */ 658 #define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (16) 659 /* @brief L1 DCACHE line size in byte. */ 660 #define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (16) 661 662 /* LPI2C module features */ 663 664 /* @brief Has separate DMA RX and TX requests. */ 665 #define FSL_FEATURE_LPI2C_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 666 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 667 #define FSL_FEATURE_LPI2C_FIFO_SIZEn(x) (4) 668 669 /* LPIT module features */ 670 671 /* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */ 672 #define FSL_FEATURE_LPIT_TIMER_COUNT (4) 673 /* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */ 674 #define FSL_FEATURE_LPIT_HAS_LIFETIME_TIMER (0) 675 /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */ 676 #define FSL_FEATURE_LPIT_HAS_SHARED_IRQ_HANDLER (0) 677 678 /* LPSPI module features */ 679 680 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 681 #define FSL_FEATURE_LPSPI_FIFO_SIZEn(x) (0) 682 /* @brief Has separate DMA RX and TX requests. */ 683 #define FSL_FEATURE_LPSPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 684 685 /* LPTMR module features */ 686 687 /* @brief Has shared interrupt handler with another LPTMR module. */ 688 #define FSL_FEATURE_LPTMR_HAS_SHARED_IRQ_HANDLER (0) 689 /* @brief Whether LPTMR counter is 32 bits width. */ 690 #define FSL_FEATURE_LPTMR_CNR_WIDTH_IS_32B (0) 691 /* @brief Has timer DMA request enable (register bit CSR[TDRE]). */ 692 #define FSL_FEATURE_LPTMR_HAS_CSR_TDRE (1) 693 694 /* LPUART module features */ 695 696 /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */ 697 #define FSL_FEATURE_LPUART_HAS_IRQ_EXTENDED_FUNCTIONS (0) 698 /* @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). */ 699 #define FSL_FEATURE_LPUART_HAS_LOW_POWER_UART_SUPPORT (1) 700 /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */ 701 #define FSL_FEATURE_LPUART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1) 702 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 703 #define FSL_FEATURE_LPUART_HAS_FIFO (1) 704 /* @brief Has 32-bit register MODIR */ 705 #define FSL_FEATURE_LPUART_HAS_MODIR (1) 706 /* @brief Hardware flow control (RTS, CTS) is supported. */ 707 #define FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT (1) 708 /* @brief Infrared (modulation) is supported. */ 709 #define FSL_FEATURE_LPUART_HAS_IR_SUPPORT (1) 710 /* @brief 2 bits long stop bit is available. */ 711 #define FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT (1) 712 /* @brief If 10-bit mode is supported. */ 713 #define FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT (1) 714 /* @brief If 7-bit mode is supported. */ 715 #define FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT (1) 716 /* @brief Baud rate fine adjustment is available. */ 717 #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0) 718 /* @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). */ 719 #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1) 720 /* @brief Baud rate oversampling is available. */ 721 #define FSL_FEATURE_LPUART_HAS_RX_RESYNC_SUPPORT (1) 722 /* @brief Baud rate oversampling is available. */ 723 #define FSL_FEATURE_LPUART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1) 724 /* @brief Peripheral type. */ 725 #define FSL_FEATURE_LPUART_IS_SCI (1) 726 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ 727 #define FSL_FEATURE_LPUART_FIFO_SIZEn(x) (4) 728 /* @brief Supports two match addresses to filter incoming frames. */ 729 #define FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING (1) 730 /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */ 731 #define FSL_FEATURE_LPUART_HAS_DMA_ENABLE (1) 732 /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */ 733 #define FSL_FEATURE_LPUART_HAS_DMA_SELECT (0) 734 /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */ 735 #define FSL_FEATURE_LPUART_HAS_BIT_ORDER_SELECT (1) 736 /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */ 737 #define FSL_FEATURE_LPUART_HAS_SMART_CARD_SUPPORT (0) 738 /* @brief Has improved smart card (ISO7816 protocol) support. */ 739 #define FSL_FEATURE_LPUART_HAS_IMPROVED_SMART_CARD_SUPPORT (0) 740 /* @brief Has local operation network (CEA709.1-B protocol) support. */ 741 #define FSL_FEATURE_LPUART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0) 742 /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */ 743 #define FSL_FEATURE_LPUART_HAS_32BIT_REGISTERS (1) 744 /* @brief Lin break detect available (has bit BAUD[LBKDIE]). */ 745 #define FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT (1) 746 /* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */ 747 #define FSL_FEATURE_LPUART_HAS_WAIT_MODE_OPERATION (0) 748 /* @brief Has separate DMA RX and TX requests. */ 749 #define FSL_FEATURE_LPUART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) 750 /* @brief Has separate RX and TX interrupts. */ 751 #define FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ (1) 752 /* @brief Has LPAURT_PARAM. */ 753 #define FSL_FEATURE_LPUART_HAS_PARAM (1) 754 /* @brief Has LPUART_VERID. */ 755 #define FSL_FEATURE_LPUART_HAS_VERID (1) 756 /* @brief Has LPUART_GLOBAL. */ 757 #define FSL_FEATURE_LPUART_HAS_GLOBAL (1) 758 /* @brief Has LPUART_PINCFG. */ 759 #define FSL_FEATURE_LPUART_HAS_PINCFG (1) 760 761 /* MSCM module features */ 762 763 /* @brief Number of configuration information for processors. */ 764 #define FSL_FEATURE_MSCM_HAS_CP_COUNT (1) 765 /* @brief Has data cache. */ 766 #define FSL_FEATURE_MSCM_HAS_DATACACHE (0) 767 768 /* interrupt module features */ 769 770 /* @brief Lowest interrupt request number. */ 771 #define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14) 772 /* @brief Highest interrupt request number. */ 773 #define FSL_FEATURE_INTERRUPT_IRQ_MAX (91) 774 775 /* OSC32 module features */ 776 777 /* No feature definitions */ 778 779 /* PDB module features */ 780 781 /* @brief Has DAC support. */ 782 #define FSL_FEATURE_PDB_HAS_DAC (1) 783 /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */ 784 #define FSL_FEATURE_PDB_HAS_SHARED_IRQ_HANDLER (0) 785 /* @brief PDB channel number). */ 786 #define FSL_FEATURE_PDB_CHANNEL_COUNT (1) 787 /* @brief Channel pre-trigger nunmber (related to number of registers CHmDLYn). */ 788 #define FSL_FEATURE_PDB_CHANNEL_PRE_TRIGGER_COUNT (8) 789 /* @brief DAC interval trigger number). */ 790 #define FSL_FEATURE_PDB_DAC_INTERVAL_TRIGGER_COUNT (1) 791 /* @brief Pulse out number). */ 792 #define FSL_FEATURE_PDB_PULSE_OUT_COUNT (1) 793 794 /* PMC module features */ 795 796 /* @brief Has Bandgap Enable In VLPx Operation support. */ 797 #define FSL_FEATURE_PMC_HAS_BGEN (0) 798 /* @brief Has Bandgap Buffer Enable. */ 799 #define FSL_FEATURE_PMC_HAS_BGBE (0) 800 /* @brief Has Bandgap Buffer Drive Select. */ 801 #define FSL_FEATURE_PMC_HAS_BGBDS (0) 802 /* @brief Has Low-Voltage Detect Voltage Select support. */ 803 #define FSL_FEATURE_PMC_HAS_LVDV (0) 804 /* @brief Has Low-Voltage Warning Voltage Select support. */ 805 #define FSL_FEATURE_PMC_HAS_LVWV (0) 806 /* @brief Has LPO. */ 807 #define FSL_FEATURE_PMC_HAS_LPO (1) 808 /* @brief Has VLPx option PMC_REGSC[VLPO]. */ 809 #define FSL_FEATURE_PMC_HAS_VLPO (0) 810 /* @brief Has acknowledge isolation support. */ 811 #define FSL_FEATURE_PMC_HAS_ACKISO (0) 812 /* @brief Has Regulator In Full Performance Mode Status Bit PMC_REGSC[REGFPM]. */ 813 #define FSL_FEATURE_PMC_HAS_REGFPM (1) 814 /* @brief Has Regulator In Run Regulation Status Bit PMC_REGSC[REGONS]. */ 815 #define FSL_FEATURE_PMC_HAS_REGONS (0) 816 /* @brief Has PMC_HVDSC1. */ 817 #define FSL_FEATURE_PMC_HAS_HVDSC1 (0) 818 /* @brief Has PMC_PARAM. */ 819 #define FSL_FEATURE_PMC_HAS_PARAM (0) 820 /* @brief Has PMC_VERID. */ 821 #define FSL_FEATURE_PMC_HAS_VERID (0) 822 823 /* PORT module features */ 824 825 /* @brief Has control lock (register bit PCR[LK]). */ 826 #define FSL_FEATURE_PORT_HAS_PIN_CONTROL_LOCK (1) 827 /* @brief Has open drain control (register bit PCR[ODE]). */ 828 #define FSL_FEATURE_PORT_HAS_OPEN_DRAIN (0) 829 /* @brief Has digital filter (registers DFER, DFCR and DFWR). */ 830 #define FSL_FEATURE_PORT_HAS_DIGITAL_FILTER (1) 831 /* @brief Has DMA request (register bit field PCR[IRQC] values). */ 832 #define FSL_FEATURE_PORT_HAS_DMA_REQUEST (1) 833 /* @brief Has pull resistor selection available. */ 834 #define FSL_FEATURE_PORT_HAS_PULL_SELECTION (1) 835 /* @brief Has pull resistor enable (register bit PCR[PE]). */ 836 #define FSL_FEATURE_PORT_HAS_PULL_ENABLE (1) 837 /* @brief Has slew rate control (register bit PCR[SRE]). */ 838 #define FSL_FEATURE_PORT_HAS_SLEW_RATE (0) 839 /* @brief Has passive filter (register bit field PCR[PFE]). */ 840 #define FSL_FEATURE_PORT_HAS_PASSIVE_FILTER (1) 841 /* @brief Has drive strength control (register bit PCR[DSE]). */ 842 #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH (1) 843 /* @brief Has separate drive strength register (HDRVE). */ 844 #define FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH_REGISTER (0) 845 /* @brief Has glitch filter (register IOFLT). */ 846 #define FSL_FEATURE_PORT_HAS_GLITCH_FILTER (0) 847 /* @brief Defines width of PCR[MUX] field. */ 848 #define FSL_FEATURE_PORT_PCR_MUX_WIDTH (3) 849 /* @brief Has dedicated interrupt vector. */ 850 #define FSL_FEATURE_PORT_HAS_INTERRUPT_VECTOR (1) 851 /* @brief Has multiple pin IRQ configuration (register GICLR and GICHR). */ 852 #define FSL_FEATURE_PORT_HAS_MULTIPLE_IRQ_CONFIG (0) 853 /* @brief Defines whether PCR[IRQC] bit-field has flag states. */ 854 #define FSL_FEATURE_PORT_HAS_IRQC_FLAG (0) 855 /* @brief Defines whether PCR[IRQC] bit-field has trigger states. */ 856 #define FSL_FEATURE_PORT_HAS_IRQC_TRIGGER (0) 857 858 /* RCM module features */ 859 860 /* @brief Has Loss-of-Lock Reset support. */ 861 #define FSL_FEATURE_RCM_HAS_LOL (1) 862 /* @brief Has Loss-of-Clock Reset support. */ 863 #define FSL_FEATURE_RCM_HAS_LOC (1) 864 /* @brief Has JTAG generated Reset support. */ 865 #define FSL_FEATURE_RCM_HAS_JTAG (1) 866 /* @brief Has EzPort generated Reset support. */ 867 #define FSL_FEATURE_RCM_HAS_EZPORT (0) 868 /* @brief Has bit-field indicating EZP_MS_B pin state during last reset. */ 869 #define FSL_FEATURE_RCM_HAS_EZPMS (0) 870 /* @brief Has boot ROM configuration, MR[BOOTROM], FM[FORCEROM] */ 871 #define FSL_FEATURE_RCM_HAS_BOOTROM (1) 872 /* @brief Has sticky system reset status register RCM_SSRS0 and RCM_SSRS1. */ 873 #define FSL_FEATURE_RCM_HAS_SSRS (1) 874 /* @brief Has RCM_VERID. */ 875 #define FSL_FEATURE_RCM_HAS_VERID (1) 876 /* @brief Has RCM_PARAM. */ 877 #define FSL_FEATURE_RCM_HAS_PARAM (1) 878 /* @brief Has Reset Interrupt Enable Register RCM_SRIE. */ 879 #define FSL_FEATURE_RCM_HAS_SRIE (1) 880 /* @brief RCM register bit width. */ 881 #define FSL_FEATURE_RCM_REG_WIDTH (32) 882 /* @brief Has Core 1 generated Reset support RCM_SRS[CORE1] */ 883 #define FSL_FEATURE_RCM_HAS_CORE1 (0) 884 /* @brief Has MDM-AP system reset support RCM_SRS[MDM_AP] */ 885 #define FSL_FEATURE_RCM_HAS_MDM_AP (1) 886 /* @brief Has wakeup reset feature. Register bit SRS[WAKEUP]. */ 887 #define FSL_FEATURE_RCM_HAS_WAKEUP (0) 888 889 /* RTC module features */ 890 891 /* @brief Has wakeup pin. */ 892 #define FSL_FEATURE_RTC_HAS_WAKEUP_PIN (0) 893 /* @brief Has wakeup pin selection (bit field CR[WPS]). */ 894 #define FSL_FEATURE_RTC_HAS_WAKEUP_PIN_SELECTION (0) 895 /* @brief Has low power features (registers MER, MCLR and MCHR). */ 896 #define FSL_FEATURE_RTC_HAS_MONOTONIC (0) 897 /* @brief Has read/write access control (registers WAR and RAR). */ 898 #define FSL_FEATURE_RTC_HAS_ACCESS_CONTROL (0) 899 /* @brief Has security features (registers TTSR, MER, MCLR and MCHR). */ 900 #define FSL_FEATURE_RTC_HAS_SECURITY (0) 901 /* @brief Has RTC_CLKIN available. */ 902 #define FSL_FEATURE_RTC_HAS_RTC_CLKIN (1) 903 /* @brief Has prescaler adjust for LPO. */ 904 #define FSL_FEATURE_RTC_HAS_LPO_ADJUST (1) 905 /* @brief Has Clock Pin Enable field. */ 906 #define FSL_FEATURE_RTC_HAS_CPE (1) 907 /* @brief Has Timer Seconds Interrupt Configuration field. */ 908 #define FSL_FEATURE_RTC_HAS_TSIC (1) 909 /* @brief Has OSC capacitor setting RTC_CR[SC2P ~ SC16P] */ 910 #define FSL_FEATURE_RTC_HAS_OSC_SCXP (0) 911 /* @brief Has Tamper Interrupt Register (register TIR). */ 912 #define FSL_FEATURE_RTC_HAS_TIR (0) 913 /* @brief Has Tamper Pin Interrupt Enable (bitfield TIR[TPIE]). */ 914 #define FSL_FEATURE_RTC_HAS_TIR_TPIE (0) 915 /* @brief Has Security Interrupt Enable (bitfield TIR[SIE]). */ 916 #define FSL_FEATURE_RTC_HAS_TIR_SIE (0) 917 /* @brief Has Loss of Clock Interrupt Enable (bitfield TIR[LCIE]). */ 918 #define FSL_FEATURE_RTC_HAS_TIR_LCIE (0) 919 /* @brief Has Tamper Interrupt Detect Flag (bitfield SR[TIDF]). */ 920 #define FSL_FEATURE_RTC_HAS_SR_TIDF (0) 921 /* @brief Has Tamper Detect Register (register TDR). */ 922 #define FSL_FEATURE_RTC_HAS_TDR (0) 923 /* @brief Has Tamper Pin Flag (bitfield TDR[TPF]). */ 924 #define FSL_FEATURE_RTC_HAS_TDR_TPF (0) 925 /* @brief Has Security Tamper Flag (bitfield TDR[STF]). */ 926 #define FSL_FEATURE_RTC_HAS_TDR_STF (0) 927 /* @brief Has Loss of Clock Tamper Flag (bitfield TDR[LCTF]). */ 928 #define FSL_FEATURE_RTC_HAS_TDR_LCTF (0) 929 /* @brief Has Tamper Time Seconds Register (register TTSR). */ 930 #define FSL_FEATURE_RTC_HAS_TTSR (0) 931 /* @brief Has Pin Configuration Register (register PCR). */ 932 #define FSL_FEATURE_RTC_HAS_PCR (0) 933 934 /* SCG module features */ 935 936 /* @brief Has platform clock divider SCG_CSR[DIVPLAT]. */ 937 #define FSL_FEATURE_SCG_HAS_DIVPLAT (0) 938 /* @brief Has bus clock divider SCG_CSR[DIVBUS]. */ 939 #define FSL_FEATURE_SCG_HAS_DIVBUS (1) 940 /* @brief Has external clock divide ratio SCG_CSR[DIVEXT]. */ 941 #define FSL_FEATURE_SCG_HAS_DIVEXT (0) 942 /* @brief Has OSC capacitor setting SOSCCFG[SC2P ~ SC16P]. */ 943 #define FSL_FEATURE_SCG_HAS_OSC_SCXP (0) 944 /* @brief Has OSC freq range SOSCCFG[RANGE]. */ 945 #define FSL_FEATURE_SCG_HAS_SOSC_RANGE (1) 946 /* @brief Has SOSCCSR[SOSCERCLKEN]. */ 947 #define FSL_FEATURE_SCG_HAS_OSC_ERCLK (1) 948 /* @brief Has CLKOUT configure register SCG_CLKOUTCNFG. */ 949 #define FSL_FEATURE_SCG_HAS_CLKOUTCNFG (1) 950 /* @brief Has SCG_SOSCDIV[SOSCDIV1]. */ 951 #define FSL_FEATURE_SCG_HAS_SOSCDIV1 (1) 952 /* @brief Has SCG_SOSCDIV[SOSCDIV3]. */ 953 #define FSL_FEATURE_SCG_HAS_SOSCDIV3 (0) 954 /* @brief Has SCG_SIRCDIV[SIRCDIV1]. */ 955 #define FSL_FEATURE_SCG_HAS_SIRCDIV1 (1) 956 /* @brief Has SCG_SIRCDIV[SIRCDIV3]. */ 957 #define FSL_FEATURE_SCG_HAS_SIRCDIV3 (0) 958 /* @brief Has SCG_SIRCCSR[LPOPO]. */ 959 #define FSL_FEATURE_SCG_HAS_SIRC_LPOPO (0) 960 /* @brief Has SCG_FIRCDIV[FIRCDIV1]. */ 961 #define FSL_FEATURE_SCG_HAS_FIRCDIV1 (1) 962 /* @brief Has SCG_FIRCDIV[FIRCDIV3]. */ 963 #define FSL_FEATURE_SCG_HAS_FIRCDIV3 (0) 964 /* @brief Has SCG_FIRCCSR[FIRCLPEN]. */ 965 #define FSL_FEATURE_SCG_HAS_FIRCLPEN (1) 966 /* @brief Has SCG_FIRCCSR[FIRCREGOFF]. */ 967 #define FSL_FEATURE_SCG_HAS_FIRCREGOFF (1) 968 /* @brief Has SCG_SPLLDIV[SPLLDIV1]. */ 969 #define FSL_FEATURE_SCG_HAS_SPLLDIV1 (1) 970 /* @brief Has SCG_SPLLDIV[SPLLDIV3]. */ 971 #define FSL_FEATURE_SCG_HAS_SPLLDIV3 (0) 972 /* @brief Has SCG_SPLLCFG[PLLPOSTDIV1]. */ 973 #define FSL_FEATURE_SCG_HAS_SPLLPOSTDIV1 (0) 974 /* @brief Has SCG_SPLLCFG[PLLPOSTDIV2]. */ 975 #define FSL_FEATURE_SCG_HAS_SPLLPOSTDIV2 (0) 976 /* @brief Has SCG_SPLLCFG[PLLS]. */ 977 #define FSL_FEATURE_SCG_HAS_SPLL_PLLS (0) 978 /* @brief Has SCG_SPLLCFG[BYPASS]. */ 979 #define FSL_FEATURE_SCG_HAS_SPLL_BYPASS (0) 980 /* @brief Has SCG_SPLLCFG[PFDSEL]. */ 981 #define FSL_FEATURE_SCG_HAS_SPLL_PFDSEL (0) 982 /* @brief Has SCG_SPLLCSR[SPLLCM]. */ 983 #define FSL_FEATURE_SCG_HAS_SPLL_MONITOR (1) 984 /* @brief Has SCG_LPFLLDIV[FLLDIV1]. */ 985 #define FSL_FEATURE_SCG_HAS_FLLDIV1 (0) 986 /* @brief Has SCG_LPFLLDIV[FLLDIV3]. */ 987 #define FSL_FEATURE_SCG_HAS_FLLDIV3 (0) 988 /* @brief Has low power FLL, SCG_LPFLLCSR. */ 989 #define FSL_FEATURE_SCG_HAS_LPFLL (0) 990 /* @brief Has low power FLL stop enable. */ 991 #define FSL_FEATURE_SCG_HAS_LPFLLSTEN (0) 992 /* @brief Has system PLL, SCG_SPLLCSR. */ 993 #define FSL_FEATURE_SCG_HAS_SPLL (1) 994 /* @brief Has system PLL PFD, SCG_SPLLPFD. */ 995 #define FSL_FEATURE_SCG_HAS_SPLLPFD (0) 996 /* @brief Has auxiliary PLL, SCG_APLLCSR. */ 997 #define FSL_FEATURE_SCG_HAS_APLL (0) 998 /* @brief Has RTC OSC control, SCG_ROSCCSR. */ 999 #define FSL_FEATURE_SCG_HAS_ROSC (0) 1000 /* @brief Has RTC OSC clock source. */ 1001 #define FSL_FEATURE_SCG_HAS_ROSC_SYS_CLK_SRC (0) 1002 /* @brief Has RTC OSC clock out select. */ 1003 #define FSL_FEATURE_SCG_HAS_ROSC_CLKOUT (0) 1004 /* @brief Has SIRC clock out select. */ 1005 #define FSL_FEATURE_SCG_HAS_EXT_CLKOUT (0) 1006 /* @brief Has FIRC trim source USB0 Start of Frame. */ 1007 #define FSL_FEATURE_SCG_HAS_FIRC_TRIMSRC_USB0 (0) 1008 /* @brief Has FIRC trim source USB1 Start of Frame. */ 1009 #define FSL_FEATURE_SCG_HAS_FIRC_TRIMSRC_USB1 (0) 1010 /* @brief Has FIRC trim source system OSC. */ 1011 #define FSL_FEATURE_SCG_HAS_FIRC_TRIMSRC_SOSC (1) 1012 /* @brief Has FIRC trim source RTC OSC. */ 1013 #define FSL_FEATURE_SCG_HAS_FIRC_TRIMSRC_RTCOSC (0) 1014 1015 /* SMC module features */ 1016 1017 /* @brief Has partial stop option (register bit STOPCTRL[PSTOPO]). */ 1018 #define FSL_FEATURE_SMC_HAS_PSTOPO (1) 1019 /* @brief Has LPO power option (register bit STOPCTRL[LPOPO]). */ 1020 #define FSL_FEATURE_SMC_HAS_LPOPO (0) 1021 /* @brief Has POR power option (register bit STOPCTRL[PORPO] or VLLSCTRL[PORPO]). */ 1022 #define FSL_FEATURE_SMC_HAS_PORPO (0) 1023 /* @brief Has low power wakeup on interrupt (register bit PMCTRL[LPWUI]). */ 1024 #define FSL_FEATURE_SMC_HAS_LPWUI (0) 1025 /* @brief Has LLS or VLLS mode control (register bit STOPCTRL[LLSM]). */ 1026 #define FSL_FEATURE_SMC_HAS_LLS_SUBMODE (0) 1027 /* @brief Has VLLS mode control (register bit VLLSCTRL[VLLSM]). */ 1028 #define FSL_FEATURE_SMC_USE_VLLSCTRL_REG (0) 1029 /* @brief Has VLLS mode control (register bit STOPCTRL[VLLSM]). */ 1030 #define FSL_FEATURE_SMC_USE_STOPCTRL_VLLSM (0) 1031 /* @brief Has RAM partition 2 power option (register bit STOPCTRL[RAM2PO]). */ 1032 #define FSL_FEATURE_SMC_HAS_RAM2_POWER_OPTION (0) 1033 /* @brief Has high speed run mode (register bit PMPROT[AHSRUN]). */ 1034 #define FSL_FEATURE_SMC_HAS_HIGH_SPEED_RUN_MODE (1) 1035 /* @brief Has low leakage stop mode (register bit PMPROT[ALLS]). */ 1036 #define FSL_FEATURE_SMC_HAS_LOW_LEAKAGE_STOP_MODE (0) 1037 /* @brief Has very low leakage stop mode (register bit PMPROT[AVLLS]). */ 1038 #define FSL_FEATURE_SMC_HAS_VERY_LOW_LEAKAGE_STOP_MODE (0) 1039 /* @brief Has stop submode. */ 1040 #define FSL_FEATURE_SMC_HAS_SUB_STOP_MODE (0) 1041 /* @brief Has stop submode 0(state VLLS0 of register bit STOPCTRL[VLLSM]). */ 1042 #define FSL_FEATURE_SMC_HAS_STOP_SUBMODE0 (0) 1043 /* @brief Has stop submode 2(state VLLS2 of register bit STOPCTRL[VLLSM]). */ 1044 #define FSL_FEATURE_SMC_HAS_STOP_SUBMODE2 (0) 1045 /* @brief Has SMC_PARAM. */ 1046 #define FSL_FEATURE_SMC_HAS_PARAM (1) 1047 /* @brief Has SMC_VERID. */ 1048 #define FSL_FEATURE_SMC_HAS_VERID (1) 1049 /* @brief Has stop abort flag (register bit PMCTRL[STOPA]). */ 1050 #define FSL_FEATURE_SMC_HAS_PMCTRL_STOPA (1) 1051 /* @brief Has tamper reset (register bit SRS[TAMPER]). */ 1052 #define FSL_FEATURE_SMC_HAS_SRS_TAMPER (0) 1053 /* @brief Has security violation reset (register bit SRS[SECVIO]). */ 1054 #define FSL_FEATURE_SMC_HAS_SRS_SECVIO (0) 1055 /* @brief Width of SMC registers. */ 1056 #define FSL_FEATURE_SMC_REG_WIDTH (32) 1057 1058 /* SYSMPU module features */ 1059 1060 /* @brief Specifies number of descriptors available. */ 1061 #define FSL_FEATURE_SYSMPU_DESCRIPTOR_COUNT (8) 1062 /* @brief Has process identifier support. */ 1063 #define FSL_FEATURE_SYSMPU_HAS_PROCESS_IDENTIFIER (1) 1064 /* @brief Total number of MPU slave. */ 1065 #define FSL_FEATURE_SYSMPU_SLAVE_COUNT (4) 1066 /* @brief Total number of MPU master. */ 1067 #define FSL_FEATURE_SYSMPU_MASTER_COUNT (3) 1068 1069 /* SysTick module features */ 1070 1071 /* @brief Systick has external reference clock. */ 1072 #define FSL_FEATURE_SYSTICK_HAS_EXT_REF (0) 1073 /* @brief Systick external reference clock is core clock divided by this value. */ 1074 #define FSL_FEATURE_SYSTICK_EXT_REF_CORE_DIV (0) 1075 1076 /* WDOG module features */ 1077 1078 /* @brief Watchdog is available. */ 1079 #define FSL_FEATURE_WDOG_HAS_WATCHDOG (1) 1080 /* @brief WDOG_CNT can be 32-bit written. */ 1081 #define FSL_FEATURE_WDOG_HAS_32BIT_ACCESS (1) 1082 1083 #endif /* _MKE18F16_FEATURES_H_ */ 1084 1085