]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_KPSDK_CODE/hal/uart/fsl_uart_features.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / hal / TARGET_Freescale / TARGET_KPSDK_MCUS / TARGET_KPSDK_CODE / hal / uart / fsl_uart_features.h
1 /*
2 ** ###################################################################
3 **     Version:             rev. 1.0, 2014-05-14
4 **     Build:               b140515
5 **
6 **     Abstract:
7 **         Chip specific module features.
8 **
9 **     Copyright: 2014 Freescale Semiconductor, Inc.
10 **     All rights reserved.
11 **
12 **     Redistribution and use in source and binary forms, with or without modification,
13 **     are permitted provided that the following conditions are met:
14 **
15 **     o Redistributions of source code must retain the above copyright notice, this list
16 **       of conditions and the following disclaimer.
17 **
18 **     o Redistributions in binary form must reproduce the above copyright notice, this
19 **       list of conditions and the following disclaimer in the documentation and/or
20 **       other materials provided with the distribution.
21 **
22 **     o Neither the name of Freescale Semiconductor, Inc. nor the names of its
23 **       contributors may be used to endorse or promote products derived from this
24 **       software without specific prior written permission.
25 **
26 **     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
27 **     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
28 **     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29 **     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
30 **     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
31 **     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32 **     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
33 **     ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 **     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 **     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 **
37 **     http:                 www.freescale.com
38 **     mail:                 support@freescale.com
39 **
40 **     Revisions:
41 **     - rev. 1.0 (2014-05-14)
42 **         Customer release.
43 **
44 ** ###################################################################
45 */
46
47 #if !defined(__FSL_UART_FEATURES_H__)
48 #define __FSL_UART_FEATURES_H__
49
50 #if defined(CPU_MK02FN128VFM10) || defined(CPU_MK02FN64VFM10) || defined(CPU_MK02FN128VLF10) || defined(CPU_MK02FN64VLF10) || \
51     defined(CPU_MK02FN128VLH10) || defined(CPU_MK02FN64VLH10) || defined(CPU_MKV30F128VFM10) || defined(CPU_MKV30F64VFM10) || \
52     defined(CPU_MKV30F128VLF10) || defined(CPU_MKV30F64VLF10) || defined(CPU_MKV30F128VLH10) || defined(CPU_MKV30F64VLH10)
53     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
54     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
55     /* @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). */
56     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
57     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
58         ((x) == 0 ? (0) : \
59         ((x) == 1 ? (0) : (-1)))
60     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
61     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
62     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
63     #define FSL_FEATURE_UART_HAS_FIFO (1)
64     /* @brief Hardware flow control (RTS, CTS) is supported. */
65     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
66     /* @brief Infrared (modulation) is supported. */
67     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
68     /* @brief 2 bits long stop bit is available. */
69     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
70     /* @brief Maximal data width without parity bit. */
71     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
72     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
73         ((x) == 0 ? (0) : \
74         ((x) == 1 ? (0) : (-1)))
75     /* @brief Baud rate fine adjustment is available. */
76     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
77     /* @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). */
78     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
79     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
80         ((x) == 0 ? (0) : \
81         ((x) == 1 ? (0) : (-1)))
82     /* @brief Baud rate oversampling is available. */
83     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
84     /* @brief Baud rate oversampling is available. */
85     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
86     /* @brief Peripheral type. */
87     #define FSL_FEATURE_UART_IS_SCI (0)
88     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
89     #define FSL_FEATURE_UART_FIFO_SIZE (8)
90     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
91         ((x) == 0 ? (8) : \
92         ((x) == 1 ? (1) : (-1)))
93     /* @brief Maximal data width without parity bit. */
94     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
95     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
96         ((x) == 0 ? (9) : \
97         ((x) == 1 ? (9) : (-1)))
98     /* @brief Maximal data width with parity bit. */
99     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
100     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
101         ((x) == 0 ? (10) : \
102         ((x) == 1 ? (10) : (-1)))
103     /* @brief Supports two match addresses to filter incoming frames. */
104     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
105     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
106         ((x) == 0 ? (1) : \
107         ((x) == 1 ? (1) : (-1)))
108     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
109     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
110     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
111         ((x) == 0 ? (0) : \
112         ((x) == 1 ? (0) : (-1)))
113     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
114     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
115     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
116         ((x) == 0 ? (1) : \
117         ((x) == 1 ? (1) : (-1)))
118     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
119     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
120     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
121         ((x) == 0 ? (1) : \
122         ((x) == 1 ? (1) : (-1)))
123     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
124     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (0)
125     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
126         ((x) == 0 ? (0) : \
127         ((x) == 1 ? (0) : (-1)))
128     /* @brief Has improved smart card (ISO7816 protocol) support. */
129     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
130     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
131         ((x) == 0 ? (0) : \
132         ((x) == 1 ? (0) : (-1)))
133     /* @brief Has local operation network (CEA709.1-B protocol) support. */
134     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
135     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
136         ((x) == 0 ? (0) : \
137         ((x) == 1 ? (0) : (-1)))
138     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
139     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
140 #elif defined(CPU_MK20DX128VMP5) || defined(CPU_MK20DN128VMP5) || defined(CPU_MK20DX64VMP5) || defined(CPU_MK20DN64VMP5) || \
141     defined(CPU_MK20DX32VMP5) || defined(CPU_MK20DN32VMP5) || defined(CPU_MK20DX128VLH5) || defined(CPU_MK20DN128VLH5) || \
142     defined(CPU_MK20DX64VLH5) || defined(CPU_MK20DN64VLH5) || defined(CPU_MK20DX32VLH5) || defined(CPU_MK20DN32VLH5) || \
143     defined(CPU_MK20DX128VFT5) || defined(CPU_MK20DN128VFT5) || defined(CPU_MK20DX64VFT5) || defined(CPU_MK20DN64VFT5) || \
144     defined(CPU_MK20DX32VFT5) || defined(CPU_MK20DN32VFT5) || defined(CPU_MK20DX128VLF5) || defined(CPU_MK20DN128VLF5) || \
145     defined(CPU_MK20DX64VLF5) || defined(CPU_MK20DN64VLF5) || defined(CPU_MK20DX32VLF5) || defined(CPU_MK20DN32VLF5)
146     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
147     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (0)
148     /* @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). */
149     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
150     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
151         ((x) == 0 ? (0) : \
152         ((x) == 1 ? (0) : \
153         ((x) == 2 ? (0) : (-1))))
154     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
155     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
156     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
157     #define FSL_FEATURE_UART_HAS_FIFO (1)
158     /* @brief Hardware flow control (RTS, CTS) is supported. */
159     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
160     /* @brief Infrared (modulation) is supported. */
161     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
162     /* @brief 2 bits long stop bit is available. */
163     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
164     /* @brief Maximal data width without parity bit. */
165     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
166     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
167         ((x) == 0 ? (0) : \
168         ((x) == 1 ? (0) : \
169         ((x) == 2 ? (0) : (-1))))
170     /* @brief Baud rate fine adjustment is available. */
171     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
172     /* @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). */
173     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
174     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
175         ((x) == 0 ? (0) : \
176         ((x) == 1 ? (0) : \
177         ((x) == 2 ? (0) : (-1))))
178     /* @brief Baud rate oversampling is available. */
179     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
180     /* @brief Baud rate oversampling is available. */
181     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
182     /* @brief Peripheral type. */
183     #define FSL_FEATURE_UART_IS_SCI (0)
184     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
185     #define FSL_FEATURE_UART_FIFO_SIZE (8)
186     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
187         ((x) == 0 ? (8) : \
188         ((x) == 1 ? (1) : \
189         ((x) == 2 ? (1) : (-1))))
190     /* @brief Maximal data width without parity bit. */
191     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
192     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
193         ((x) == 0 ? (9) : \
194         ((x) == 1 ? (9) : \
195         ((x) == 2 ? (9) : (-1))))
196     /* @brief Maximal data width with parity bit. */
197     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
198     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
199         ((x) == 0 ? (10) : \
200         ((x) == 1 ? (10) : \
201         ((x) == 2 ? (10) : (-1))))
202     /* @brief Supports two match addresses to filter incoming frames. */
203     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
204     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
205         ((x) == 0 ? (1) : \
206         ((x) == 1 ? (1) : \
207         ((x) == 2 ? (1) : (-1))))
208     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
209     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
210     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
211         ((x) == 0 ? (0) : \
212         ((x) == 1 ? (0) : \
213         ((x) == 2 ? (0) : (-1))))
214     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
215     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
216     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
217         ((x) == 0 ? (1) : \
218         ((x) == 1 ? (1) : \
219         ((x) == 2 ? (1) : (-1))))
220     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
221     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
222     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
223         ((x) == 0 ? (1) : \
224         ((x) == 1 ? (1) : \
225         ((x) == 2 ? (1) : (-1))))
226     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
227     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
228     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
229         ((x) == 0 ? (1) : \
230         ((x) == 1 ? (0) : \
231         ((x) == 2 ? (0) : (-1))))
232     /* @brief Has improved smart card (ISO7816 protocol) support. */
233     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
234     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
235         ((x) == 0 ? (0) : \
236         ((x) == 1 ? (0) : \
237         ((x) == 2 ? (0) : (-1))))
238     /* @brief Has local operation network (CEA709.1-B protocol) support. */
239     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (1)
240     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
241         ((x) == 0 ? (1) : \
242         ((x) == 1 ? (0) : \
243         ((x) == 2 ? (0) : (-1))))
244     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
245     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
246 #elif defined(CPU_MK20DX128VFM5) || defined(CPU_MK20DN128VFM5) || defined(CPU_MK20DX64VFM5) || defined(CPU_MK20DN64VFM5) || \
247     defined(CPU_MK20DX32VFM5) || defined(CPU_MK20DN32VFM5)
248     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
249     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (0)
250     /* @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). */
251     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
252     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
253         ((x) == 0 ? (0) : \
254         ((x) == 1 ? (0) : (-1)))
255     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
256     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
257     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
258     #define FSL_FEATURE_UART_HAS_FIFO (1)
259     /* @brief Hardware flow control (RTS, CTS) is supported. */
260     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
261     /* @brief Infrared (modulation) is supported. */
262     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
263     /* @brief 2 bits long stop bit is available. */
264     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
265     /* @brief Maximal data width without parity bit. */
266     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
267     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
268         ((x) == 0 ? (0) : \
269         ((x) == 1 ? (0) : (-1)))
270     /* @brief Baud rate fine adjustment is available. */
271     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
272     /* @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). */
273     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
274     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
275         ((x) == 0 ? (0) : \
276         ((x) == 1 ? (0) : (-1)))
277     /* @brief Baud rate oversampling is available. */
278     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
279     /* @brief Baud rate oversampling is available. */
280     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
281     /* @brief Peripheral type. */
282     #define FSL_FEATURE_UART_IS_SCI (0)
283     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
284     #define FSL_FEATURE_UART_FIFO_SIZE (8)
285     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
286         ((x) == 0 ? (8) : \
287         ((x) == 1 ? (1) : (-1)))
288     /* @brief Maximal data width without parity bit. */
289     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
290     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
291         ((x) == 0 ? (9) : \
292         ((x) == 1 ? (9) : (-1)))
293     /* @brief Maximal data width with parity bit. */
294     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
295     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
296         ((x) == 0 ? (10) : \
297         ((x) == 1 ? (10) : (-1)))
298     /* @brief Supports two match addresses to filter incoming frames. */
299     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
300     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
301         ((x) == 0 ? (1) : \
302         ((x) == 1 ? (1) : (-1)))
303     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
304     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
305     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
306         ((x) == 0 ? (0) : \
307         ((x) == 1 ? (0) : (-1)))
308     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
309     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
310     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
311         ((x) == 0 ? (1) : \
312         ((x) == 1 ? (1) : (-1)))
313     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
314     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
315     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
316         ((x) == 0 ? (1) : \
317         ((x) == 1 ? (1) : (-1)))
318     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
319     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
320     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
321         ((x) == 0 ? (1) : \
322         ((x) == 1 ? (0) : (-1)))
323     /* @brief Has improved smart card (ISO7816 protocol) support. */
324     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
325     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
326         ((x) == 0 ? (0) : \
327         ((x) == 1 ? (0) : (-1)))
328     /* @brief Has local operation network (CEA709.1-B protocol) support. */
329     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (1)
330     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
331         ((x) == 0 ? (1) : \
332         ((x) == 1 ? (0) : (-1)))
333     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
334     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
335 #elif defined(CPU_MK22FN128VDC10) || defined(CPU_MK22FN128VLH10) || defined(CPU_MK22FN128VLL10) || defined(CPU_MK22FN128VMP10) || \
336     defined(CPU_MK22FN256VDC12) || defined(CPU_MK22FN256VLH12) || defined(CPU_MK22FN256VLL12) || defined(CPU_MK22FN256VMP12) || \
337     defined(CPU_MK22FN512VDC12) || defined(CPU_MK22FN512VLH12) || defined(CPU_MK22FN512VLL12) || defined(CPU_MKV31F128VLH10) || \
338     defined(CPU_MKV31F128VLL10) || defined(CPU_MKV31F256VLH12) || defined(CPU_MKV31F256VLL12) || defined(CPU_MKV31F512VLH12) || \
339     defined(CPU_MKV31F512VLL12)
340     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
341     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
342     /* @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). */
343     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
344     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
345         ((x) == 0 ? (0) : \
346         ((x) == 1 ? (0) : \
347         ((x) == 2 ? (0) : (-1))))
348     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
349     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
350     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
351     #define FSL_FEATURE_UART_HAS_FIFO (1)
352     /* @brief Hardware flow control (RTS, CTS) is supported. */
353     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
354     /* @brief Infrared (modulation) is supported. */
355     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
356     /* @brief 2 bits long stop bit is available. */
357     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
358     /* @brief Maximal data width without parity bit. */
359     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
360     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
361         ((x) == 0 ? (0) : \
362         ((x) == 1 ? (0) : \
363         ((x) == 2 ? (0) : (-1))))
364     /* @brief Baud rate fine adjustment is available. */
365     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
366     /* @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). */
367     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
368     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
369         ((x) == 0 ? (0) : \
370         ((x) == 1 ? (0) : \
371         ((x) == 2 ? (0) : (-1))))
372     /* @brief Baud rate oversampling is available. */
373     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
374     /* @brief Baud rate oversampling is available. */
375     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
376     /* @brief Peripheral type. */
377     #define FSL_FEATURE_UART_IS_SCI (0)
378     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
379     #define FSL_FEATURE_UART_FIFO_SIZE (8)
380     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
381         ((x) == 0 ? (8) : \
382         ((x) == 1 ? (1) : \
383         ((x) == 2 ? (1) : (-1))))
384     /* @brief Maximal data width without parity bit. */
385     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
386     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
387         ((x) == 0 ? (9) : \
388         ((x) == 1 ? (9) : \
389         ((x) == 2 ? (9) : (-1))))
390     /* @brief Maximal data width with parity bit. */
391     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
392     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
393         ((x) == 0 ? (10) : \
394         ((x) == 1 ? (10) : \
395         ((x) == 2 ? (10) : (-1))))
396     /* @brief Supports two match addresses to filter incoming frames. */
397     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
398     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
399         ((x) == 0 ? (1) : \
400         ((x) == 1 ? (1) : \
401         ((x) == 2 ? (1) : (-1))))
402     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
403     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
404     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
405         ((x) == 0 ? (0) : \
406         ((x) == 1 ? (0) : \
407         ((x) == 2 ? (0) : (-1))))
408     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
409     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
410     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
411         ((x) == 0 ? (1) : \
412         ((x) == 1 ? (1) : \
413         ((x) == 2 ? (1) : (-1))))
414     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
415     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
416     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
417         ((x) == 0 ? (1) : \
418         ((x) == 1 ? (1) : \
419         ((x) == 2 ? (1) : (-1))))
420     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
421     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
422     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
423         ((x) == 0 ? (1) : \
424         ((x) == 1 ? (0) : \
425         ((x) == 2 ? (0) : (-1))))
426     /* @brief Has improved smart card (ISO7816 protocol) support. */
427     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (1)
428     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
429         ((x) == 0 ? (1) : \
430         ((x) == 1 ? (0) : \
431         ((x) == 2 ? (0) : (-1))))
432     /* @brief Has local operation network (CEA709.1-B protocol) support. */
433     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
434     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
435         ((x) == 0 ? (0) : \
436         ((x) == 1 ? (0) : \
437         ((x) == 2 ? (0) : (-1))))
438     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
439     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
440 #elif defined(CPU_MK24FN1M0VDC12) || defined(CPU_MK24FN1M0VLL12) || defined(CPU_MK24FN1M0VLQ12) || defined(CPU_MK24FN256VDC12) || \
441     defined(CPU_MK63FN1M0VLQ12) || defined(CPU_MK63FN1M0VMD12) || defined(CPU_MK64FX512VDC12) || defined(CPU_MK64FN1M0VDC12) || \
442     defined(CPU_MK64FX512VLL12) || defined(CPU_MK64FN1M0VLL12) || defined(CPU_MK64FX512VLQ12) || defined(CPU_MK64FN1M0VLQ12) || \
443     defined(CPU_MK64FX512VMD12) || defined(CPU_MK64FN1M0VMD12)
444     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
445     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
446     /* @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). */
447     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
448     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
449         ((x) == 0 ? (0) : \
450         ((x) == 1 ? (0) : \
451         ((x) == 2 ? (0) : \
452         ((x) == 3 ? (0) : \
453         ((x) == 4 ? (0) : \
454         ((x) == 5 ? (0) : (-1)))))))
455     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
456     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
457     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
458     #define FSL_FEATURE_UART_HAS_FIFO (1)
459     /* @brief Hardware flow control (RTS, CTS) is supported. */
460     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
461     /* @brief Infrared (modulation) is supported. */
462     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
463     /* @brief 2 bits long stop bit is available. */
464     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
465     /* @brief Maximal data width without parity bit. */
466     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
467     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
468         ((x) == 0 ? (0) : \
469         ((x) == 1 ? (0) : \
470         ((x) == 2 ? (0) : \
471         ((x) == 3 ? (0) : \
472         ((x) == 4 ? (0) : \
473         ((x) == 5 ? (0) : (-1)))))))
474     /* @brief Baud rate fine adjustment is available. */
475     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
476     /* @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). */
477     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
478     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
479         ((x) == 0 ? (0) : \
480         ((x) == 1 ? (0) : \
481         ((x) == 2 ? (0) : \
482         ((x) == 3 ? (0) : \
483         ((x) == 4 ? (0) : \
484         ((x) == 5 ? (0) : (-1)))))))
485     /* @brief Baud rate oversampling is available. */
486     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
487     /* @brief Baud rate oversampling is available. */
488     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
489     /* @brief Peripheral type. */
490     #define FSL_FEATURE_UART_IS_SCI (0)
491     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
492     #define FSL_FEATURE_UART_FIFO_SIZE (8)
493     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
494         ((x) == 0 ? (8) : \
495         ((x) == 1 ? (8) : \
496         ((x) == 2 ? (1) : \
497         ((x) == 3 ? (1) : \
498         ((x) == 4 ? (1) : \
499         ((x) == 5 ? (1) : (-1)))))))
500     /* @brief Maximal data width without parity bit. */
501     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
502     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
503         ((x) == 0 ? (9) : \
504         ((x) == 1 ? (9) : \
505         ((x) == 2 ? (9) : \
506         ((x) == 3 ? (9) : \
507         ((x) == 4 ? (9) : \
508         ((x) == 5 ? (9) : (-1)))))))
509     /* @brief Maximal data width with parity bit. */
510     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
511     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
512         ((x) == 0 ? (10) : \
513         ((x) == 1 ? (10) : \
514         ((x) == 2 ? (10) : \
515         ((x) == 3 ? (10) : \
516         ((x) == 4 ? (10) : \
517         ((x) == 5 ? (10) : (-1)))))))
518     /* @brief Supports two match addresses to filter incoming frames. */
519     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
520     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
521         ((x) == 0 ? (1) : \
522         ((x) == 1 ? (1) : \
523         ((x) == 2 ? (1) : \
524         ((x) == 3 ? (1) : \
525         ((x) == 4 ? (1) : \
526         ((x) == 5 ? (1) : (-1)))))))
527     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
528     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
529     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
530         ((x) == 0 ? (0) : \
531         ((x) == 1 ? (0) : \
532         ((x) == 2 ? (0) : \
533         ((x) == 3 ? (0) : \
534         ((x) == 4 ? (0) : \
535         ((x) == 5 ? (0) : (-1)))))))
536     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
537     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
538     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
539         ((x) == 0 ? (1) : \
540         ((x) == 1 ? (1) : \
541         ((x) == 2 ? (1) : \
542         ((x) == 3 ? (1) : \
543         ((x) == 4 ? (1) : \
544         ((x) == 5 ? (1) : (-1)))))))
545     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
546     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
547     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
548         ((x) == 0 ? (1) : \
549         ((x) == 1 ? (1) : \
550         ((x) == 2 ? (1) : \
551         ((x) == 3 ? (1) : \
552         ((x) == 4 ? (1) : \
553         ((x) == 5 ? (1) : (-1)))))))
554     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
555     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
556     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
557         ((x) == 0 ? (1) : \
558         ((x) == 1 ? (0) : \
559         ((x) == 2 ? (0) : \
560         ((x) == 3 ? (0) : \
561         ((x) == 4 ? (0) : \
562         ((x) == 5 ? (0) : (-1)))))))
563     /* @brief Has improved smart card (ISO7816 protocol) support. */
564     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
565     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
566         ((x) == 0 ? (0) : \
567         ((x) == 1 ? (0) : \
568         ((x) == 2 ? (0) : \
569         ((x) == 3 ? (0) : \
570         ((x) == 4 ? (0) : \
571         ((x) == 5 ? (0) : (-1)))))))
572     /* @brief Has local operation network (CEA709.1-B protocol) support. */
573     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
574     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
575         ((x) == 0 ? (0) : \
576         ((x) == 1 ? (0) : \
577         ((x) == 2 ? (0) : \
578         ((x) == 3 ? (0) : \
579         ((x) == 4 ? (0) : \
580         ((x) == 5 ? (0) : (-1)))))))
581     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
582     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
583 #elif defined(CPU_MK65FN2M0CAC18) || defined(CPU_MK65FX1M0CAC18) || defined(CPU_MK65FN2M0VMI18) || defined(CPU_MK65FX1M0VMI18) || \
584     defined(CPU_MK66FN2M0VLQ18) || defined(CPU_MK66FX1M0VLQ18) || defined(CPU_MK66FN2M0VMD18) || defined(CPU_MK66FX1M0VMD18)
585     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
586     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
587     /* @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). */
588     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
589     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
590         ((x) == 0 ? (0) : \
591         ((x) == 1 ? (0) : \
592         ((x) == 2 ? (0) : \
593         ((x) == 3 ? (0) : \
594         ((x) == 4 ? (0) : (-1))))))
595     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
596     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
597     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
598     #define FSL_FEATURE_UART_HAS_FIFO (1)
599     /* @brief Hardware flow control (RTS, CTS) is supported. */
600     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
601     /* @brief Infrared (modulation) is supported. */
602     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
603     /* @brief 2 bits long stop bit is available. */
604     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
605     /* @brief Maximal data width without parity bit. */
606     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
607     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
608         ((x) == 0 ? (0) : \
609         ((x) == 1 ? (0) : \
610         ((x) == 2 ? (0) : \
611         ((x) == 3 ? (0) : \
612         ((x) == 4 ? (0) : (-1))))))
613     /* @brief Baud rate fine adjustment is available. */
614     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
615     /* @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). */
616     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
617     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
618         ((x) == 0 ? (0) : \
619         ((x) == 1 ? (0) : \
620         ((x) == 2 ? (0) : \
621         ((x) == 3 ? (0) : \
622         ((x) == 4 ? (0) : (-1))))))
623     /* @brief Baud rate oversampling is available. */
624     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
625     /* @brief Baud rate oversampling is available. */
626     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
627     /* @brief Peripheral type. */
628     #define FSL_FEATURE_UART_IS_SCI (0)
629     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
630     #define FSL_FEATURE_UART_FIFO_SIZE (8)
631     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
632         ((x) == 0 ? (8) : \
633         ((x) == 1 ? (8) : \
634         ((x) == 2 ? (1) : \
635         ((x) == 3 ? (1) : \
636         ((x) == 4 ? (1) : (-1))))))
637     /* @brief Maximal data width without parity bit. */
638     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
639     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
640         ((x) == 0 ? (9) : \
641         ((x) == 1 ? (9) : \
642         ((x) == 2 ? (9) : \
643         ((x) == 3 ? (9) : \
644         ((x) == 4 ? (9) : (-1))))))
645     /* @brief Maximal data width with parity bit. */
646     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
647     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
648         ((x) == 0 ? (10) : \
649         ((x) == 1 ? (10) : \
650         ((x) == 2 ? (10) : \
651         ((x) == 3 ? (10) : \
652         ((x) == 4 ? (10) : (-1))))))
653     /* @brief Supports two match addresses to filter incoming frames. */
654     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
655     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
656         ((x) == 0 ? (1) : \
657         ((x) == 1 ? (1) : \
658         ((x) == 2 ? (1) : \
659         ((x) == 3 ? (1) : \
660         ((x) == 4 ? (1) : (-1))))))
661     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
662     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
663     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
664         ((x) == 0 ? (0) : \
665         ((x) == 1 ? (0) : \
666         ((x) == 2 ? (0) : \
667         ((x) == 3 ? (0) : \
668         ((x) == 4 ? (0) : (-1))))))
669     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
670     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
671     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
672         ((x) == 0 ? (1) : \
673         ((x) == 1 ? (1) : \
674         ((x) == 2 ? (1) : \
675         ((x) == 3 ? (1) : \
676         ((x) == 4 ? (1) : (-1))))))
677     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
678     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
679     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
680         ((x) == 0 ? (1) : \
681         ((x) == 1 ? (1) : \
682         ((x) == 2 ? (1) : \
683         ((x) == 3 ? (1) : \
684         ((x) == 4 ? (1) : (-1))))))
685     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
686     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
687     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
688         ((x) == 0 ? (1) : \
689         ((x) == 1 ? (0) : \
690         ((x) == 2 ? (0) : \
691         ((x) == 3 ? (0) : \
692         ((x) == 4 ? (0) : (-1))))))
693     /* @brief Has improved smart card (ISO7816 protocol) support. */
694     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (1)
695     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
696         ((x) == 0 ? (1) : \
697         ((x) == 1 ? (0) : \
698         ((x) == 2 ? (0) : \
699         ((x) == 3 ? (0) : \
700         ((x) == 4 ? (0) : (-1))))))
701     /* @brief Has local operation network (CEA709.1-B protocol) support. */
702     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
703     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
704         ((x) == 0 ? (0) : \
705         ((x) == 1 ? (0) : \
706         ((x) == 2 ? (0) : \
707         ((x) == 3 ? (0) : \
708         ((x) == 4 ? (0) : (-1))))))
709     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
710     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
711 #elif defined(CPU_MK70FN1M0VMF12) || defined(CPU_MK70FX512VMF12) || defined(CPU_MK70FN1M0VMF15) || defined(CPU_MK70FX512VMF15) || \
712     defined(CPU_MK70FN1M0VMJ12) || defined(CPU_MK70FX512VMJ12) || defined(CPU_MK70FN1M0VMJ15) || defined(CPU_MK70FX512VMJ15)
713     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
714     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
715     /* @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). */
716     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
717     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
718         ((x) == 0 ? (0) : \
719         ((x) == 1 ? (0) : \
720         ((x) == 2 ? (0) : \
721         ((x) == 3 ? (0) : \
722         ((x) == 4 ? (0) : \
723         ((x) == 5 ? (0) : (-1)))))))
724     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
725     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
726     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
727     #define FSL_FEATURE_UART_HAS_FIFO (1)
728     /* @brief Hardware flow control (RTS, CTS) is supported. */
729     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
730     /* @brief Infrared (modulation) is supported. */
731     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
732     /* @brief 2 bits long stop bit is available. */
733     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
734     /* @brief Maximal data width without parity bit. */
735     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
736     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
737         ((x) == 0 ? (0) : \
738         ((x) == 1 ? (0) : \
739         ((x) == 2 ? (0) : \
740         ((x) == 3 ? (0) : \
741         ((x) == 4 ? (0) : \
742         ((x) == 5 ? (0) : (-1)))))))
743     /* @brief Baud rate fine adjustment is available. */
744     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
745     /* @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). */
746     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
747     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
748         ((x) == 0 ? (0) : \
749         ((x) == 1 ? (0) : \
750         ((x) == 2 ? (0) : \
751         ((x) == 3 ? (0) : \
752         ((x) == 4 ? (0) : \
753         ((x) == 5 ? (0) : (-1)))))))
754     /* @brief Baud rate oversampling is available. */
755     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
756     /* @brief Baud rate oversampling is available. */
757     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
758     /* @brief Peripheral type. */
759     #define FSL_FEATURE_UART_IS_SCI (0)
760     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
761     #define FSL_FEATURE_UART_FIFO_SIZE (8)
762     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
763         ((x) == 0 ? (8) : \
764         ((x) == 1 ? (8) : \
765         ((x) == 2 ? (8) : \
766         ((x) == 3 ? (8) : \
767         ((x) == 4 ? (8) : \
768         ((x) == 5 ? (8) : (-1)))))))
769     /* @brief Maximal data width without parity bit. */
770     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
771     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
772         ((x) == 0 ? (9) : \
773         ((x) == 1 ? (9) : \
774         ((x) == 2 ? (9) : \
775         ((x) == 3 ? (9) : \
776         ((x) == 4 ? (9) : \
777         ((x) == 5 ? (9) : (-1)))))))
778     /* @brief Maximal data width with parity bit. */
779     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
780     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
781         ((x) == 0 ? (10) : \
782         ((x) == 1 ? (10) : \
783         ((x) == 2 ? (10) : \
784         ((x) == 3 ? (10) : \
785         ((x) == 4 ? (10) : \
786         ((x) == 5 ? (10) : (-1)))))))
787     /* @brief Supports two match addresses to filter incoming frames. */
788     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
789     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
790         ((x) == 0 ? (1) : \
791         ((x) == 1 ? (1) : \
792         ((x) == 2 ? (1) : \
793         ((x) == 3 ? (1) : \
794         ((x) == 4 ? (1) : \
795         ((x) == 5 ? (1) : (-1)))))))
796     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
797     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
798     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
799         ((x) == 0 ? (0) : \
800         ((x) == 1 ? (0) : \
801         ((x) == 2 ? (0) : \
802         ((x) == 3 ? (0) : \
803         ((x) == 4 ? (0) : \
804         ((x) == 5 ? (0) : (-1)))))))
805     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
806     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
807     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
808         ((x) == 0 ? (1) : \
809         ((x) == 1 ? (1) : \
810         ((x) == 2 ? (1) : \
811         ((x) == 3 ? (1) : \
812         ((x) == 4 ? (1) : \
813         ((x) == 5 ? (1) : (-1)))))))
814     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
815     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
816     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
817         ((x) == 0 ? (1) : \
818         ((x) == 1 ? (1) : \
819         ((x) == 2 ? (1) : \
820         ((x) == 3 ? (1) : \
821         ((x) == 4 ? (1) : \
822         ((x) == 5 ? (1) : (-1)))))))
823     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
824     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
825     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
826         ((x) == 0 ? (1) : \
827         ((x) == 1 ? (1) : \
828         ((x) == 2 ? (0) : \
829         ((x) == 3 ? (0) : \
830         ((x) == 4 ? (0) : \
831         ((x) == 5 ? (0) : (-1)))))))
832     /* @brief Has improved smart card (ISO7816 protocol) support. */
833     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
834     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
835         ((x) == 0 ? (0) : \
836         ((x) == 1 ? (0) : \
837         ((x) == 2 ? (0) : \
838         ((x) == 3 ? (0) : \
839         ((x) == 4 ? (0) : \
840         ((x) == 5 ? (0) : (-1)))))))
841     /* @brief Has local operation network (CEA709.1-B protocol) support. */
842     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (1)
843     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
844         ((x) == 0 ? (1) : \
845         ((x) == 1 ? (0) : \
846         ((x) == 2 ? (0) : \
847         ((x) == 3 ? (0) : \
848         ((x) == 4 ? (0) : \
849         ((x) == 5 ? (0) : (-1)))))))
850     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
851     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
852 #elif defined(CPU_MKL05Z8VFK4) || defined(CPU_MKL05Z16VFK4) || defined(CPU_MKL05Z32VFK4) || defined(CPU_MKL05Z8VLC4) || \
853     defined(CPU_MKL05Z16VLC4) || defined(CPU_MKL05Z32VLC4) || defined(CPU_MKL05Z8VFM4) || defined(CPU_MKL05Z16VFM4) || \
854     defined(CPU_MKL05Z32VFM4) || defined(CPU_MKL05Z16VLF4) || defined(CPU_MKL05Z32VLF4)
855     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
856     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
857     /* @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). */
858     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (1)
859     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
860         ((x) == 0 ? (1) : (-1))
861     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
862     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (0)
863     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
864     #define FSL_FEATURE_UART_HAS_FIFO (0)
865     /* @brief Hardware flow control (RTS, CTS) is supported. */
866     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (0)
867     /* @brief Infrared (modulation) is supported. */
868     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (0)
869     /* @brief 2 bits long stop bit is available. */
870     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
871     /* @brief Maximal data width without parity bit. */
872     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (1)
873     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
874         ((x) == 0 ? (1) : (-1))
875     /* @brief Baud rate fine adjustment is available. */
876     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0)
877     /* @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). */
878     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1)
879     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
880         ((x) == 0 ? (1) : (-1))
881     /* @brief Baud rate oversampling is available. */
882     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (1)
883     /* @brief Baud rate oversampling is available. */
884     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1)
885     /* @brief Peripheral type. */
886     #define FSL_FEATURE_UART_IS_SCI (1)
887     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
888     #define FSL_FEATURE_UART_FIFO_SIZE (0)
889     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
890         ((x) == 0 ? (0) : (-1))
891     /* @brief Maximal data width without parity bit. */
892     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (10)
893     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
894         ((x) == 0 ? (10) : (-1))
895     /* @brief Maximal data width with parity bit. */
896     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (9)
897     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
898         ((x) == 0 ? (9) : (-1))
899     /* @brief Supports two match addresses to filter incoming frames. */
900     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
901     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
902         ((x) == 0 ? (1) : (-1))
903     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
904     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (1)
905     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
906         ((x) == 0 ? (1) : (-1))
907     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
908     #define FSL_FEATURE_UART_HAS_DMA_SELECT (0)
909     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
910         ((x) == 0 ? (0) : (-1))
911     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
912     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
913     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
914         ((x) == 0 ? (1) : (-1))
915     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
916     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (0)
917     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
918         ((x) == 0 ? (0) : (-1))
919     /* @brief Has improved smart card (ISO7816 protocol) support. */
920     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
921     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
922         ((x) == 0 ? (0) : (-1))
923     /* @brief Has local operation network (CEA709.1-B protocol) support. */
924     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
925     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
926         ((x) == 0 ? (0) : (-1))
927     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
928     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
929 #elif defined(CPU_MKL13Z64VFM4) || defined(CPU_MKL13Z128VFM4) || defined(CPU_MKL13Z256VFM4) || defined(CPU_MKL13Z64VFT4) || \
930     defined(CPU_MKL13Z128VFT4) || defined(CPU_MKL13Z256VFT4) || defined(CPU_MKL13Z64VLH4) || defined(CPU_MKL13Z128VLH4) || \
931     defined(CPU_MKL13Z256VLH4) || defined(CPU_MKL13Z64VMP4) || defined(CPU_MKL13Z128VMP4) || defined(CPU_MKL13Z256VMP4) || \
932     defined(CPU_MKL23Z64VFM4) || defined(CPU_MKL23Z128VFM4) || defined(CPU_MKL23Z256VFM4) || defined(CPU_MKL23Z64VFT4) || \
933     defined(CPU_MKL23Z128VFT4) || defined(CPU_MKL23Z256VFT4) || defined(CPU_MKL23Z64VLH4) || defined(CPU_MKL23Z128VLH4) || \
934     defined(CPU_MKL23Z256VLH4) || defined(CPU_MKL23Z64VMP4) || defined(CPU_MKL23Z128VMP4) || defined(CPU_MKL23Z256VMP4) || \
935     defined(CPU_MKL33Z128VLH4) || defined(CPU_MKL33Z256VLH4) || defined(CPU_MKL33Z128VMP4) || defined(CPU_MKL33Z256VMP4) || \
936     defined(CPU_MKL43Z64VLH4) || defined(CPU_MKL43Z128VLH4) || defined(CPU_MKL43Z256VLH4) || defined(CPU_MKL43Z64VMP4) || \
937     defined(CPU_MKL43Z128VMP4) || defined(CPU_MKL43Z256VMP4)
938     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
939     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
940     /* @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). */
941     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
942     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
943         ((x) == 0 ? (0) : (-1))
944     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
945     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
946     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
947     #define FSL_FEATURE_UART_HAS_FIFO (1)
948     /* @brief Hardware flow control (RTS, CTS) is supported. */
949     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
950     /* @brief Infrared (modulation) is supported. */
951     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
952     /* @brief 2 bits long stop bit is available. */
953     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (0)
954     /* @brief Maximal data width without parity bit. */
955     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
956     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
957         ((x) == 0 ? (0) : (-1))
958     /* @brief Baud rate fine adjustment is available. */
959     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
960     /* @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). */
961     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
962     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
963         ((x) == 0 ? (0) : (-1))
964     /* @brief Baud rate oversampling is available. */
965     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
966     /* @brief Baud rate oversampling is available. */
967     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
968     /* @brief Peripheral type. */
969     #define FSL_FEATURE_UART_IS_SCI (0)
970     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
971     #define FSL_FEATURE_UART_FIFO_SIZE (8)
972     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
973         ((x) == 0 ? (8) : (-1))
974     /* @brief Maximal data width without parity bit. */
975     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
976     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
977         ((x) == 0 ? (9) : (-1))
978     /* @brief Maximal data width with parity bit. */
979     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
980     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
981         ((x) == 0 ? (10) : (-1))
982     /* @brief Supports two match addresses to filter incoming frames. */
983     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
984     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
985         ((x) == 0 ? (1) : (-1))
986     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
987     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
988     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
989         ((x) == 0 ? (0) : (-1))
990     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
991     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
992     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
993         ((x) == 0 ? (1) : (-1))
994     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
995     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
996     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
997         ((x) == 0 ? (1) : (-1))
998     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
999     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (1)
1000     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
1001         ((x) == 0 ? (1) : (-1))
1002     /* @brief Has improved smart card (ISO7816 protocol) support. */
1003     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (1)
1004     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
1005         ((x) == 0 ? (1) : (-1))
1006     /* @brief Has local operation network (CEA709.1-B protocol) support. */
1007     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
1008     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
1009         ((x) == 0 ? (0) : (-1))
1010     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
1011     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
1012 #elif defined(CPU_MKL25Z32VFM4) || defined(CPU_MKL25Z64VFM4) || defined(CPU_MKL25Z128VFM4) || defined(CPU_MKL25Z32VFT4) || \
1013     defined(CPU_MKL25Z64VFT4) || defined(CPU_MKL25Z128VFT4) || defined(CPU_MKL25Z32VLH4) || defined(CPU_MKL25Z64VLH4) || \
1014     defined(CPU_MKL25Z128VLH4) || defined(CPU_MKL25Z32VLK4) || defined(CPU_MKL25Z64VLK4) || defined(CPU_MKL25Z128VLK4) || \
1015     defined(CPU_MKL26Z256VLK4) || defined(CPU_MKL26Z128VLL4) || defined(CPU_MKL26Z256VLL4) || defined(CPU_MKL26Z128VMC4) || \
1016     defined(CPU_MKL26Z256VMC4) || defined(CPU_MKL46Z128VLH4) || defined(CPU_MKL46Z256VLH4) || defined(CPU_MKL46Z128VLL4) || \
1017     defined(CPU_MKL46Z256VLL4) || defined(CPU_MKL46Z128VMC4) || defined(CPU_MKL46Z256VMC4)
1018     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
1019     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
1020     /* @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). */
1021     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (1)
1022     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
1023         ((x) == 0 ? (1) : \
1024         ((x) == 1 ? (0) : \
1025         ((x) == 2 ? (0) : (-1))))
1026     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
1027     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (0)
1028     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
1029     #define FSL_FEATURE_UART_HAS_FIFO (0)
1030     /* @brief Hardware flow control (RTS, CTS) is supported. */
1031     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (0)
1032     /* @brief Infrared (modulation) is supported. */
1033     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (0)
1034     /* @brief 2 bits long stop bit is available. */
1035     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
1036     /* @brief Maximal data width without parity bit. */
1037     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (1)
1038     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
1039         ((x) == 0 ? (1) : \
1040         ((x) == 1 ? (0) : \
1041         ((x) == 2 ? (0) : (-1))))
1042     /* @brief Baud rate fine adjustment is available. */
1043     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0)
1044     /* @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). */
1045     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1)
1046     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
1047         ((x) == 0 ? (1) : \
1048         ((x) == 1 ? (0) : \
1049         ((x) == 2 ? (0) : (-1))))
1050     /* @brief Baud rate oversampling is available. */
1051     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (1)
1052     /* @brief Baud rate oversampling is available. */
1053     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1)
1054     /* @brief Peripheral type. */
1055     #define FSL_FEATURE_UART_IS_SCI (1)
1056     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
1057     #define FSL_FEATURE_UART_FIFO_SIZE (0)
1058     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
1059         ((x) == 0 ? (0) : \
1060         ((x) == 1 ? (0) : \
1061         ((x) == 2 ? (0) : (-1))))
1062     /* @brief Maximal data width without parity bit. */
1063     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (10)
1064     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
1065         ((x) == 0 ? (10) : \
1066         ((x) == 1 ? (9) : \
1067         ((x) == 2 ? (9) : (-1))))
1068     /* @brief Maximal data width with parity bit. */
1069     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (9)
1070     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
1071         ((x) == 0 ? (9) : \
1072         ((x) == 1 ? (8) : \
1073         ((x) == 2 ? (8) : (-1))))
1074     /* @brief Supports two match addresses to filter incoming frames. */
1075     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
1076     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
1077         ((x) == 0 ? (1) : \
1078         ((x) == 1 ? (0) : \
1079         ((x) == 2 ? (0) : (-1))))
1080     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
1081     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (1)
1082     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
1083         ((x) == 0 ? (1) : \
1084         ((x) == 1 ? (0) : \
1085         ((x) == 2 ? (0) : (-1))))
1086     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
1087     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
1088     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
1089         ((x) == 0 ? (0) : \
1090         ((x) == 1 ? (1) : \
1091         ((x) == 2 ? (1) : (-1))))
1092     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
1093     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
1094     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
1095         ((x) == 0 ? (1) : \
1096         ((x) == 1 ? (0) : \
1097         ((x) == 2 ? (0) : (-1))))
1098     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
1099     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (0)
1100     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
1101         ((x) == 0 ? (0) : \
1102         ((x) == 1 ? (0) : \
1103         ((x) == 2 ? (0) : (-1))))
1104     /* @brief Has improved smart card (ISO7816 protocol) support. */
1105     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
1106     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
1107         ((x) == 0 ? (0) : \
1108         ((x) == 1 ? (0) : \
1109         ((x) == 2 ? (0) : (-1))))
1110     /* @brief Has local operation network (CEA709.1-B protocol) support. */
1111     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
1112     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
1113         ((x) == 0 ? (0) : \
1114         ((x) == 1 ? (0) : \
1115         ((x) == 2 ? (0) : (-1))))
1116     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
1117     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
1118 #elif defined(CPU_MKV40F128VLH15) || defined(CPU_MKV40F128VLL15) || defined(CPU_MKV40F256VLH15) || defined(CPU_MKV40F256VLL15) || \
1119     defined(CPU_MKV40F64VLH15) || defined(CPU_MKV43F128VLH15) || defined(CPU_MKV43F128VLL15) || defined(CPU_MKV43F64VLH15) || \
1120     defined(CPU_MKV44F128VLH15) || defined(CPU_MKV44F128VLL15) || defined(CPU_MKV44F64VLH15) || defined(CPU_MKV45F128VLH15) || \
1121     defined(CPU_MKV45F128VLL15) || defined(CPU_MKV45F256VLH15) || defined(CPU_MKV45F256VLL15) || defined(CPU_MKV46F128VLH15) || \
1122     defined(CPU_MKV46F128VLL15) || defined(CPU_MKV46F256VLH15) || defined(CPU_MKV46F256VLL15)
1123     /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
1124     #define FSL_FEATURE_UART_HAS_IRQ_EXTENDED_FUNCTIONS (1)
1125     /* @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). */
1126     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0)
1127     #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORTn(x) \
1128         ((x) == 0 ? (0) : \
1129         ((x) == 1 ? (0) : (-1)))
1130     /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
1131     #define FSL_FEATURE_UART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
1132     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
1133     #define FSL_FEATURE_UART_HAS_FIFO (1)
1134     /* @brief Hardware flow control (RTS, CTS) is supported. */
1135     #define FSL_FEATURE_UART_HAS_MODEM_SUPPORT (1)
1136     /* @brief Infrared (modulation) is supported. */
1137     #define FSL_FEATURE_UART_HAS_IR_SUPPORT (1)
1138     /* @brief 2 bits long stop bit is available. */
1139     #define FSL_FEATURE_UART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
1140     /* @brief Maximal data width without parity bit. */
1141     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORT (0)
1142     #define FSL_FEATURE_UART_HAS_10BIT_DATA_SUPPORTn(x) \
1143         ((x) == 0 ? (0) : \
1144         ((x) == 1 ? (0) : (-1)))
1145     /* @brief Baud rate fine adjustment is available. */
1146     #define FSL_FEATURE_UART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (1)
1147     /* @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). */
1148     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (0)
1149     #define FSL_FEATURE_UART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORTn(x) \
1150         ((x) == 0 ? (0) : \
1151         ((x) == 1 ? (0) : (-1)))
1152     /* @brief Baud rate oversampling is available. */
1153     #define FSL_FEATURE_UART_HAS_RX_RESYNC_SUPPORT (0)
1154     /* @brief Baud rate oversampling is available. */
1155     #define FSL_FEATURE_UART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (0)
1156     /* @brief Peripheral type. */
1157     #define FSL_FEATURE_UART_IS_SCI (0)
1158     /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
1159     #define FSL_FEATURE_UART_FIFO_SIZE (8)
1160     #define FSL_FEATURE_UART_FIFO_SIZEn(x) \
1161         ((x) == 0 ? (8) : \
1162         ((x) == 1 ? (8) : (-1)))
1163     /* @brief Maximal data width without parity bit. */
1164     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITY (9)
1165     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_NO_PARITYn(x) \
1166         ((x) == 0 ? (9) : \
1167         ((x) == 1 ? (9) : (-1)))
1168     /* @brief Maximal data width with parity bit. */
1169     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITY (10)
1170     #define FSL_FEATURE_UART_MAX_DATA_WIDTH_WITH_PARITYn(x) \
1171         ((x) == 0 ? (10) : \
1172         ((x) == 1 ? (10) : (-1)))
1173     /* @brief Supports two match addresses to filter incoming frames. */
1174     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHING (1)
1175     #define FSL_FEATURE_UART_HAS_ADDRESS_MATCHINGn(x) \
1176         ((x) == 0 ? (1) : \
1177         ((x) == 1 ? (1) : (-1)))
1178     /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
1179     #define FSL_FEATURE_UART_HAS_DMA_ENABLE (0)
1180     #define FSL_FEATURE_UART_HAS_DMA_ENABLEn(x) \
1181         ((x) == 0 ? (0) : \
1182         ((x) == 1 ? (0) : (-1)))
1183     /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
1184     #define FSL_FEATURE_UART_HAS_DMA_SELECT (1)
1185     #define FSL_FEATURE_UART_HAS_DMA_SELECTn(x) \
1186         ((x) == 0 ? (1) : \
1187         ((x) == 1 ? (1) : (-1)))
1188     /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
1189     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECT (1)
1190     #define FSL_FEATURE_UART_HAS_BIT_ORDER_SELECTn(x) \
1191         ((x) == 0 ? (1) : \
1192         ((x) == 1 ? (1) : (-1)))
1193     /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
1194     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORT (0)
1195     #define FSL_FEATURE_UART_HAS_SMART_CARD_SUPPORTn(x) \
1196         ((x) == 0 ? (0) : \
1197         ((x) == 1 ? (0) : (-1)))
1198     /* @brief Has improved smart card (ISO7816 protocol) support. */
1199     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
1200     #define FSL_FEATURE_UART_HAS_IMPROVED_SMART_CARD_SUPPORTn(x) \
1201         ((x) == 0 ? (0) : \
1202         ((x) == 1 ? (0) : (-1)))
1203     /* @brief Has local operation network (CEA709.1-B protocol) support. */
1204     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
1205     #define FSL_FEATURE_UART_HAS_LOCAL_OPERATION_NETWORK_SUPPORTn(x) \
1206         ((x) == 0 ? (0) : \
1207         ((x) == 1 ? (0) : (-1)))
1208     /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
1209     #define FSL_FEATURE_UART_HAS_32BIT_REGISTERS (0)
1210 #else
1211     #error "No valid CPU defined!"
1212 #endif
1213
1214 #endif /* __FSL_UART_FEATURES_H__ */
1215
1216 /*******************************************************************************
1217  * EOF
1218  ******************************************************************************/