1 /*
2 ** ###################################################################
3 **     Version:             rev. 1.0, 2017-05-19
4 **     Build:               b210915
5 **
6 **     Abstract:
7 **         Chip specific module features.
8 **
9 **     Copyright 2016 Freescale Semiconductor, Inc.
10 **     Copyright 2016-2021 NXP
11 **     All rights reserved.
12 **
13 **     SPDX-License-Identifier: BSD-3-Clause
14 **
15 **     http:                 www.nxp.com
16 **     mail:                 support@nxp.com
17 **
18 **     Revisions:
19 **     - rev. 1.0 (2017-05-19)
20 **         Initial version.
21 **
22 ** ###################################################################
23 */
24 
25 #ifndef _MKE04Z1284_FEATURES_H_
26 #define _MKE04Z1284_FEATURES_H_
27 
28 /* SOC module features */
29 
30 /* @brief ACMP availability on the SoC. */
31 #define FSL_FEATURE_SOC_ACMP_COUNT (2)
32 /* @brief ADC availability on the SoC. */
33 #define FSL_FEATURE_SOC_ADC_COUNT (1)
34 /* @brief CRC availability on the SoC. */
35 #define FSL_FEATURE_SOC_CRC_COUNT (1)
36 /* @brief FGPIO availability on the SoC. */
37 #define FSL_FEATURE_SOC_FGPIO_COUNT (3)
38 /* @brief FTM availability on the SoC. */
39 #define FSL_FEATURE_SOC_FTM_COUNT (3)
40 /* @brief FTMRE availability on the SoC. */
41 #define FSL_FEATURE_SOC_FTMRE_COUNT (1)
42 /* @brief GPIO availability on the SoC. */
43 #define FSL_FEATURE_SOC_GPIO_COUNT (3)
44 /* @brief I2C availability on the SoC. */
45 #define FSL_FEATURE_SOC_I2C_COUNT (2)
46 /* @brief ICS availability on the SoC. */
47 #define FSL_FEATURE_SOC_ICS_COUNT (1)
48 /* @brief IRQ availability on the SoC. */
49 #define FSL_FEATURE_SOC_IRQ_COUNT (1)
50 /* @brief KBI availability on the SoC. */
51 #define FSL_FEATURE_SOC_KBI_COUNT (2)
52 /* @brief MCM availability on the SoC. */
53 #define FSL_FEATURE_SOC_MCM_COUNT (1)
54 /* @brief OSC availability on the SoC. */
55 #define FSL_FEATURE_SOC_OSC_COUNT (1)
56 /* @brief PIT availability on the SoC. */
57 #define FSL_FEATURE_SOC_PIT_COUNT (1)
58 /* @brief PMC availability on the SoC. */
59 #define FSL_FEATURE_SOC_PMC_COUNT (1)
60 /* @brief PORT availability on the SoC. */
61 #define FSL_FEATURE_SOC_PORT_COUNT (1)
62 /* @brief PWT availability on the SoC. */
63 #define FSL_FEATURE_SOC_PWT_COUNT (1)
64 /* @brief ROM availability on the SoC. */
65 #define FSL_FEATURE_SOC_ROM_COUNT (1)
66 /* @brief RTC availability on the SoC. */
67 #define FSL_FEATURE_SOC_RTC_COUNT (1)
68 /* @brief SIM availability on the SoC. */
69 #define FSL_FEATURE_SOC_SIM_COUNT (1)
70 /* @brief SPI availability on the SoC. */
71 #define FSL_FEATURE_SOC_SPI_COUNT (2)
72 /* @brief UART availability on the SoC. */
73 #define FSL_FEATURE_SOC_UART_COUNT (3)
74 /* @brief WDOG availability on the SoC. */
75 #define FSL_FEATURE_SOC_WDOG_COUNT (1)
76 
77 /* ADC module features */
78 
79 /* @brief Has status and control register 5. */
80 #define FSL_FEATURE_ADC_HAS_SC5_REG (1)
81 /* @brief Has hardware trigger multiple conversion enable. */
82 #define FSL_FEATURE_ADC_HAS_SC4_HTRGME (1)
83 
84 /* CRC module features */
85 
86 /* @brief Has data register with name CRC */
87 #define FSL_FEATURE_CRC_HAS_CRC_REG (0)
88 
89 /* FGPIO module features */
90 
91 /* No feature definitions */
92 
93 /* FTM module features */
94 
95 /* @brief Number of channels. */
96 #define FSL_FEATURE_FTM_CHANNEL_COUNTn(x) (8)
97 /* @brief Has counter reset by the selected input capture event (register bits C0SC[ICRST], C1SC[ICRST], ...). */
98 #define FSL_FEATURE_FTM_HAS_COUNTER_RESET_BY_CAPTURE_EVENT (0)
99 /* @brief Has extended deadtime value. */
100 #define FSL_FEATURE_FTM_HAS_EXTENDED_DEADTIME_VALUE (0)
101 /* @brief Enable pwm output for the module. */
102 #define FSL_FEATURE_FTM_HAS_ENABLE_PWM_OUTPUT (0)
103 /* @brief Has half-cycle reload for the module. */
104 #define FSL_FEATURE_FTM_HAS_HALFCYCLE_RELOAD (0)
105 /* @brief Has reload interrupt. */
106 #define FSL_FEATURE_FTM_HAS_RELOAD_INTERRUPT (0)
107 /* @brief Has reload initialization trigger. */
108 #define FSL_FEATURE_FTM_HAS_RELOAD_INITIALIZATION_TRIGGER (0)
109 /* @brief Has DMA support, bitfield CnSC[DMA]. */
110 #define FSL_FEATURE_FTM_HAS_DMA_SUPPORT (0)
111 /* @brief If channel 6 is used to generate channel trigger, bitfield EXTTRIG[CH6TRIG]. */
112 #define FSL_FEATURE_FTM_HAS_CHANNEL6_TRIGGER (0)
113 /* @brief If channel 7 is used to generate channel trigger, bitfield EXTTRIG[CH7TRIG]. */
114 #define FSL_FEATURE_FTM_HAS_CHANNEL7_TRIGGER (0)
115 /* @brief Has no QDCTRL. */
116 #define FSL_FEATURE_FTM_HAS_NO_QDCTRL (1)
117 /* @brief If instance has only TPM function. */
118 #define FSL_FEATURE_FTM_IS_TPM_ONLY_INSTANCEn(x) \
119     (((x) == FTM0) ? (1) : \
120     (((x) == FTM1) ? (1) : \
121     (((x) == FTM2) ? (0) : (-1))))
122 /* @brief TPM Has no CONF. */
123 #define FSL_FEATURE_TPM_HAS_NO_CONF (1)
124 /* @brief There is CLKS bit in SC register. */
125 #define FSL_FEATURE_TPM_HAS_SC_CLKS (1)
126 /* @brief Wait CnV register is updated after CnV register is written. */
127 #define FSL_FEATURE_TPM_WAIT_CnV_REGISTER_UPDATE (1)
128 /* @brief CHF is cleared by write a 0 to the CHF bit in CnSC register. */
129 #define FSL_FEATURE_TPM_CnSC_CHF_WRITE_0_CLEAR (1)
130 /* @brief Has no STATUS. */
131 #define FSL_FEATURE_TPM_HAS_NO_STATUS (1)
132 /* @brief Number of channels. */
133 #define FSL_FEATURE_TPM_CHANNEL_COUNTn(x) \
134     (((x) == FTM0) ? (2) : \
135     (((x) == FTM1) ? (2) : \
136     (((x) == FTM2) ? (-1) : (-1))))
137 /* @brief Whether TRIG register has effect. */
138 #define FSL_FEATURE_TPM_TRIG_HAS_EFFECTn(x) (0)
139 /* @brief Whether POL register has effect. */
140 #define FSL_FEATURE_TPM_POL_HAS_EFFECTn(x) (0)
141 /* @brief Whether 32 bits counter has effect. */
142 #define FSL_FEATURE_TPM_HAS_32BIT_COUNTERn(x) (0)
143 
144 /* FTMRE module features */
145 
146 #if defined(CPU_MKE04Z128VLD4) || defined(CPU_MKE04Z128VLH4) || defined(CPU_MKE04Z128VLK4) || defined(CPU_MKE04Z128VQH4)
147     /* @brief Is of type FTMRE. */
148     #define FSL_FEATURE_FLASH_IS_FTMRE (1)
149     /* @brief Is of type FTMRH. */
150     #define FSL_FEATURE_FLASH_IS_FTMRH (0)
151     /* @brief Has EEPROM region protection (register FEPROT). */
152     #define FSL_FEATURE_FLASH_HAS_EEROM_REGION_PROTECTION (0)
153     /* @brief Has flash cache control in FMC module. */
154     #define FSL_FEATURE_FLASH_HAS_FMC_FLASH_CACHE_CONTROLS (0)
155     /* @brief Has flash cache control in MCM module. */
156     #define FSL_FEATURE_FLASH_HAS_MCM_FLASH_CACHE_CONTROLS (1)
157     /* @brief P-Flash higher region start address. */
158     #define FSL_FEATURE_FLASH_PFLASH_HIGH_START_ADDRESS (0x00007FFF)
159     /* @brief P-Flash start address. */
160     #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000)
161     /* @brief P-Flash block count. */
162     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1)
163     /* @brief P-Flash block size. */
164     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (131072)
165     /* @brief P-Flash sector size. */
166     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SECTOR_SIZE (512)
167     /* @brief P-Flash write unit size. */
168     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_WRITE_UNIT_SIZE (8)
169     /* @brief P-Flash data path width. */
170     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_DATA_PATH_WIDTH (16)
171     /* @brief Has EEPROM memory. */
172     #define FSL_FEATURE_FLASH_HAS_EEPROM (0)
173     /* @brief EEPROM start address. */
174     #define FSL_FEATURE_FLASH_EEPROM_START_ADDRESS (0x10000000)
175     /* @brief EEPROM block count. */
176     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_COUNT (0)
177     /* @brief EEPROM block size . */
178     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_SIZE (0)
179     /* @brief EEPROM sector size. */
180     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_SECTOR_SIZE (0)
181     /* @brief EEPROM write unit size. */
182     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_WRITE_UNIT_SIZE (0)
183     /* @brief EEPROM data path width. */
184     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_DATA_PATH_WIDTH (0)
185     /* @brief Has 0x01 Erase Verify All Blocks command. */
186     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_ALL_BLOCKS_CMD (1)
187     /* @brief Has 0x02 Erase Verify Block command. */
188     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_BLOCK_CMD (1)
189     /* @brief Has 0x03 Erase Verify Flash Section command. */
190     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_FLASH_SECTION_CMD (1)
191     /* @brief Has 0x04 Read Once command. */
192     #define FSL_FEATURE_FLASH_HAS_READ_ONCE_CMD (1)
193     /* @brief Has 0x06 Program Flash command. */
194     #define FSL_FEATURE_FLASH_HAS_PROGRAM_FLASH_CMD (1)
195     /* @brief Has 0x07 Program Once command. */
196     #define FSL_FEATURE_FLASH_HAS_PROGRAM_ONCE_CMD (1)
197     /* @brief Has 0x08 Erase All Blocks command. */
198     #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_CMD (1)
199     /* @brief Has 0x09 Erase Flash Block command. */
200     #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_BLOCK_CMD (1)
201     /* @brief Has 0x0A Erase Flash Sector command. */
202     #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_SECTOR_CMD (1)
203     /* @brief Has 0x0B Unsecure Flash command. */
204     #define FSL_FEATURE_FLASH_HAS_UNSECURE_FLASH_CMD (1)
205     /* @brief Has 0x0C Verify Backdoor Access Key command. */
206     #define FSL_FEATURE_FLASH_HAS_VERIFY_BACKDOOR_ACCESS_KEY_CMD (1)
207     /* @brief Has 0x0D Set User Margin Level command. */
208     #define FSL_FEATURE_FLASH_HAS_SET_USER_MARGIN_LEVEL_CMD (1)
209     /* @brief Has 0x0E Set Factory Margin Level command. */
210     #define FSL_FEATURE_FLASH_HAS_SET_FACTORY_MARGIN_LEVEL_CMD (1)
211     /* @brief Has 0x0F Configure NVM command. */
212     #define FSL_FEATURE_FLASH_HAS_CONFIGURE_NVM_CMD (1)
213     /* @brief Has 0x10 Erase Verify EEPROM Section command. */
214     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_EEPROM_SECTION_CMD (0)
215     /* @brief Has 0x11 Program EEPROM command. */
216     #define FSL_FEATURE_FLASH_HAS_PROGRAM_EEPROM_CMD (0)
217     /* @brief Has 0x12 Erase EEPROM Sector command. */
218     #define FSL_FEATURE_FLASH_HAS_ERASE_EEPROM_SECTOR_CMD (0)
219     /* @brief P-Flash Erase sector command address alignment. */
220     #define FSL_FEATURE_FLASH_PFLASH_SECTOR_CMD_ADDRESS_ALIGMENT (4)
221     /* @brief P-Flash Rrogram/Verify section command address alignment. */
222     #define FSL_FEATURE_FLASH_PFLASH_SECTION_CMD_ADDRESS_ALIGMENT (4)
223     /* @brief P-Flash Program flash command address alignment. */
224     #define FSL_FEATURE_FLASH_PFLASH_PROGRAM_CMD_ADDRESS_ALIGMENT (4)
225 #elif defined(CPU_MKE04Z64VLD4) || defined(CPU_MKE04Z64VLH4) || defined(CPU_MKE04Z64VLK4) || defined(CPU_MKE04Z64VQH4)
226     /* @brief Is of type FTMRE. */
227     #define FSL_FEATURE_FLASH_IS_FTMRE (1)
228     /* @brief Is of type FTMRH. */
229     #define FSL_FEATURE_FLASH_IS_FTMRH (0)
230     /* @brief Has EEPROM region protection (register FEPROT). */
231     #define FSL_FEATURE_FLASH_HAS_EEROM_REGION_PROTECTION (0)
232     /* @brief Has flash cache control in FMC module. */
233     #define FSL_FEATURE_FLASH_HAS_FMC_FLASH_CACHE_CONTROLS (0)
234     /* @brief Has flash cache control in MCM module. */
235     #define FSL_FEATURE_FLASH_HAS_MCM_FLASH_CACHE_CONTROLS (1)
236     /* @brief P-Flash higher region start address. */
237     #define FSL_FEATURE_FLASH_PFLASH_HIGH_START_ADDRESS (0x00007FFF)
238     /* @brief P-Flash start address. */
239     #define FSL_FEATURE_FLASH_PFLASH_START_ADDRESS (0x00000000)
240     /* @brief P-Flash block count. */
241     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_COUNT (1)
242     /* @brief P-Flash block size. */
243     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SIZE (65536)
244     /* @brief P-Flash sector size. */
245     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_SECTOR_SIZE (512)
246     /* @brief P-Flash write unit size. */
247     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_WRITE_UNIT_SIZE (8)
248     /* @brief P-Flash data path width. */
249     #define FSL_FEATURE_FLASH_PFLASH_BLOCK_DATA_PATH_WIDTH (16)
250     /* @brief Has EEPROM memory. */
251     #define FSL_FEATURE_FLASH_HAS_EEPROM (0)
252     /* @brief EEPROM start address. */
253     #define FSL_FEATURE_FLASH_EEPROM_START_ADDRESS (0x10000000)
254     /* @brief EEPROM block count. */
255     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_COUNT (0)
256     /* @brief EEPROM block size . */
257     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_SIZE (0)
258     /* @brief EEPROM sector size. */
259     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_SECTOR_SIZE (0)
260     /* @brief EEPROM write unit size. */
261     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_WRITE_UNIT_SIZE (0)
262     /* @brief EEPROM data path width. */
263     #define FSL_FEATURE_FLASH_EEPROM_BLOCK_DATA_PATH_WIDTH (0)
264     /* @brief Has 0x01 Erase Verify All Blocks command. */
265     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_ALL_BLOCKS_CMD (1)
266     /* @brief Has 0x02 Erase Verify Block command. */
267     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_BLOCK_CMD (1)
268     /* @brief Has 0x03 Erase Verify Flash Section command. */
269     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_FLASH_SECTION_CMD (1)
270     /* @brief Has 0x04 Read Once command. */
271     #define FSL_FEATURE_FLASH_HAS_READ_ONCE_CMD (1)
272     /* @brief Has 0x06 Program Flash command. */
273     #define FSL_FEATURE_FLASH_HAS_PROGRAM_FLASH_CMD (1)
274     /* @brief Has 0x07 Program Once command. */
275     #define FSL_FEATURE_FLASH_HAS_PROGRAM_ONCE_CMD (1)
276     /* @brief Has 0x08 Erase All Blocks command. */
277     #define FSL_FEATURE_FLASH_HAS_ERASE_ALL_BLOCKS_CMD (1)
278     /* @brief Has 0x09 Erase Flash Block command. */
279     #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_BLOCK_CMD (1)
280     /* @brief Has 0x0A Erase Flash Sector command. */
281     #define FSL_FEATURE_FLASH_HAS_ERASE_FLASH_SECTOR_CMD (1)
282     /* @brief Has 0x0B Unsecure Flash command. */
283     #define FSL_FEATURE_FLASH_HAS_UNSECURE_FLASH_CMD (1)
284     /* @brief Has 0x0C Verify Backdoor Access Key command. */
285     #define FSL_FEATURE_FLASH_HAS_VERIFY_BACKDOOR_ACCESS_KEY_CMD (1)
286     /* @brief Has 0x0D Set User Margin Level command. */
287     #define FSL_FEATURE_FLASH_HAS_SET_USER_MARGIN_LEVEL_CMD (1)
288     /* @brief Has 0x0E Set Factory Margin Level command. */
289     #define FSL_FEATURE_FLASH_HAS_SET_FACTORY_MARGIN_LEVEL_CMD (1)
290     /* @brief Has 0x0F Configure NVM command. */
291     #define FSL_FEATURE_FLASH_HAS_CONFIGURE_NVM_CMD (1)
292     /* @brief Has 0x10 Erase Verify EEPROM Section command. */
293     #define FSL_FEATURE_FLASH_HAS_ERASE_VERIFY_EEPROM_SECTION_CMD (0)
294     /* @brief Has 0x11 Program EEPROM command. */
295     #define FSL_FEATURE_FLASH_HAS_PROGRAM_EEPROM_CMD (0)
296     /* @brief Has 0x12 Erase EEPROM Sector command. */
297     #define FSL_FEATURE_FLASH_HAS_ERASE_EEPROM_SECTOR_CMD (0)
298     /* @brief P-Flash Erase sector command address alignment. */
299     #define FSL_FEATURE_FLASH_PFLASH_SECTOR_CMD_ADDRESS_ALIGMENT (4)
300     /* @brief P-Flash Rrogram/Verify section command address alignment. */
301     #define FSL_FEATURE_FLASH_PFLASH_SECTION_CMD_ADDRESS_ALIGMENT (4)
302     /* @brief P-Flash Program flash command address alignment. */
303     #define FSL_FEATURE_FLASH_PFLASH_PROGRAM_CMD_ADDRESS_ALIGMENT (4)
304 #endif /* defined(CPU_MKE04Z128VLD4) || defined(CPU_MKE04Z128VLH4) || defined(CPU_MKE04Z128VLK4) || defined(CPU_MKE04Z128VQH4) */
305 
306 /* GPIO module features */
307 
308 /* @brief Has GPIO attribute checker register (GACR). */
309 #define FSL_FEATURE_GPIO_HAS_ATTRIBUTE_CHECKER (0)
310 
311 /* I2C module features */
312 
313 /* @brief Has System Management Bus support (registers SMB, A2, SLTL and SLTH). */
314 #define FSL_FEATURE_I2C_HAS_SMBUS (1)
315 /* @brief Maximum supported baud rate in kilobit per second. */
316 #define FSL_FEATURE_I2C_MAX_BAUD_KBPS (400)
317 /* @brief Is affected by errata with ID 6070 (repeat start cannot be generated if the F[MULT] bit field is set to a non-zero value). */
318 #define FSL_FEATURE_I2C_HAS_ERRATA_6070 (0)
319 /* @brief Has DMA support (register bit C1[DMAEN]). */
320 #define FSL_FEATURE_I2C_HAS_DMA_SUPPORT (0)
321 /* @brief Has I2C bus start and stop detection (register bits FLT[SSIE], FLT[STARTF] and FLT[STOPF]). */
322 #define FSL_FEATURE_I2C_HAS_START_STOP_DETECT (1)
323 /* @brief Has I2C bus stop detection (register bits FLT[STOPIE] and FLT[STOPF]). */
324 #define FSL_FEATURE_I2C_HAS_STOP_DETECT (0)
325 /* @brief Has I2C bus stop hold off (register bit FLT[SHEN]). */
326 #define FSL_FEATURE_I2C_HAS_STOP_HOLD_OFF (1)
327 /* @brief Maximum width of the glitch filter in number of bus clocks. */
328 #define FSL_FEATURE_I2C_MAX_GLITCH_FILTER_WIDTH (15)
329 /* @brief Has control of the drive capability of the I2C pins. */
330 #define FSL_FEATURE_I2C_HAS_HIGH_DRIVE_SELECTION (0)
331 /* @brief Has double buffering support (register S2). */
332 #define FSL_FEATURE_I2C_HAS_DOUBLE_BUFFERING (0)
333 /* @brief Has double buffer enable. */
334 #define FSL_FEATURE_I2C_HAS_DOUBLE_BUFFER_ENABLE (0)
335 
336 /* KBI module features */
337 
338 /* @brief KBI module has source pin. */
339 #define FSL_FEATURE_KBI_HAS_SOURCE_PIN (1)
340 /* @brief KBI register width. */
341 #define FSL_FEATURE_KBI_REG_WIDTH (32)
342 
343 /* PIT module features */
344 
345 /* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */
346 #define FSL_FEATURE_PIT_TIMER_COUNT (2)
347 /* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */
348 #define FSL_FEATURE_PIT_HAS_LIFETIME_TIMER (0)
349 /* @brief Has chain mode (related to existence of register bit field TCTRLn[CHN]). */
350 #define FSL_FEATURE_PIT_HAS_CHAIN_MODE (1)
351 /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */
352 #define FSL_FEATURE_PIT_HAS_SHARED_IRQ_HANDLER (0)
353 /* @brief Has timer enable control. */
354 #define FSL_FEATURE_PIT_HAS_MDIS (1)
355 
356 /* SPI module features */
357 
358 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
359 #define FSL_FEATURE_SPI_HAS_FIFO (0)
360 /* @brief Has DMA support (register bit fields C2[RXDMAE] and C2[TXDMAE]). */
361 #define FSL_FEATURE_SPI_HAS_DMA_SUPPORT (0)
362 /* @brief Has separate DMA RX and TX requests. */
363 #define FSL_FEATURE_SPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (0)
364 /* @brief Receive/transmit FIFO size in number of 16-bit communication items. */
365 #define FSL_FEATURE_SPI_FIFO_SIZEn(x) (0)
366 /* @brief Maximum transfer data width in bits. */
367 #define FSL_FEATURE_SPI_MAX_DATA_WIDTH (8)
368 /* @brief The data register name has postfix (L as low and H as high). */
369 #define FSL_FEATURE_SPI_DATA_REGISTER_HAS_POSTFIX (0)
370 /* @brief Has separated TXDATA and CMD FIFOs (register SREX). */
371 #define FSL_FEATURE_SPI_HAS_SEPARATE_TXDATA_CMD_FIFO (0)
372 /* @brief Has 16-bit data transfer support. */
373 #define FSL_FEATURE_SPI_16BIT_TRANSFERS (0)
374 
375 /* UART module features */
376 
377 /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
378 #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
379 /* @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). */
380 #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
381 /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
382 #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (0)
383 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
384 #define FSL_FEATURE_UART_HAS_FIFO (0)
385 /* @brief Hardware flow control (RTS, CTS) is supported. */
386 #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (0)
387 /* @brief Infrared (modulation) is supported. */
388 #define FSL_FEATURE_UART_HAS_IR_SUPPORT (0)
389 /* @brief 2 bits long stop bit is available. */
390 #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
391 /* @brief If 10-bit mode is supported. */
392 #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
393 /* @brief Baud rate fine adjustment is available. */
394 #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0)
395 /* @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). */
396 #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
397 /* @brief Baud rate oversampling is available. */
398 #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (1)
399 /* @brief Baud rate oversampling is available. */
400 #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1)
401 /* @brief Peripheral type. */
402 #define FSL_FEATURE_UART_IS_SCI (0)
403 /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
404 #define FSL_FEATURE_UART_FIFO_SIZE (0)
405 /* @brief Supports two match addresses to filter incoming frames. */
406 #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (0)
407 /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
408 #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
409 /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
410 #define FSL_FEATURE_UART_HAS_DMA_SELECT (0)
411 /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
412 #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (0)
413 /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
414 #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (0)
415 /* @brief Has improved smart card (ISO7816 protocol) support. */
416 #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
417 /* @brief Has local operation network (CEA709.1-B protocol) support. */
418 #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
419 /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
420 #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
421 /* @brief Lin break detect available (has bit BDH[LBKDIE]). */
422 #define FSL_FEATURE_UART_HAS_LIN_BREAK_DETECT (1)
423 /* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */
424 #define FSL_FEATURE_UART_HAS_WAIT_MODE_OPERATION (1)
425 /* @brief Has separate DMA RX and TX requests. */
426 #define FSL_FEATURE_UART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (0)
427 
428 #endif /* _MKE04Z1284_FEATURES_H_ */
429 
430