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