1 /**************************************************************************//** 2 * @file uart_reg.h 3 * @version V1.00 4 * @brief UART register definition header file 5 * 6 * @copyright SPDX-License-Identifier: Apache-2.0 7 * @copyright Copyright (C) 2020 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 #ifndef __UART_REG_H__ 10 #define __UART_REG_H__ 11 12 /** @addtogroup REGISTER Control Register 13 14 @{ 15 16 */ 17 18 19 /*---------------------- Universal Asynchronous Receiver/Transmitter Controller -------------------------*/ 20 /** 21 @addtogroup UART Universal Asynchronous Receiver/Transmitter Controller(UART) 22 Memory Mapped Structure for UART Controller 23 @{ 24 */ 25 26 typedef struct 27 { 28 29 30 /** 31 * @var UART_T::DAT 32 * Offset: 0x00 UART Receive/Transmit Buffer Register 33 * --------------------------------------------------------------------------------------------------- 34 * |Bits |Field |Descriptions 35 * | :----: | :----: | :---- | 36 * |[7:0] |DAT |Data Receive/Transmit Buffer 37 * | | |Write Operation: 38 * | | |By writing one byte to this register, the data byte will be stored in transmitter FIFO. 39 * | | |The UART controller will send out the data stored in transmitter FIFO top location through the UART_TXD. 40 * | | |Read Operation: 41 * | | |By reading this register, the UART controller will return an 8-bit data received from receiver FIFO. 42 * |[8] |PARITY |Parity Bit Receive/Transmit Buffer 43 * | | |Write Operation: 44 * | | |By writing to this bit, the parity bit will be stored in transmitter FIFO. 45 * | | |If PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are set, the UART controller will send out this bit follow the DAT (UART_DAT[7:0]) through the UART_TXD. 46 * | | |Read Operation: 47 * | | |If PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are enabled, the parity bit can be read by this bit. 48 * | | |Note: This bit has effect only when PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are set. 49 * @var UART_T::INTEN 50 * Offset: 0x04 UART Interrupt Enable Register 51 * --------------------------------------------------------------------------------------------------- 52 * |Bits |Field |Descriptions 53 * | :----: | :----: | :---- | 54 * |[0] |RDAIEN |Receive Data Available Interrupt Enable Bit 55 * | | |0 = Receive data available interrupt Disabled. 56 * | | |1 = Receive data available interrupt Enabled. 57 * |[1] |THREIEN |Transmit Holding Register Empty Interrupt Enable Bit 58 * | | |0 = Transmit holding register empty interrupt Disabled. 59 * | | |1 = Transmit holding register empty interrupt Enabled. 60 * |[2] |RLSIEN |Receive Line Status Interrupt Enable Bit 61 * | | |0 = Receive Line Status interrupt Disabled. 62 * | | |1 = Receive Line Status interrupt Enabled. 63 * |[3] |MODEMIEN |Modem Status Interrupt Enable Bit 64 * | | |0 = Modem status interrupt Disabled. 65 * | | |1 = Modem status interrupt Enabled. 66 * |[4] |RXTOIEN |RX Time-out Interrupt Enable Bit 67 * | | |0 = RX time-out interrupt Disabled. 68 * | | |1 = RX time-out interrupt Enabled. 69 * |[5] |BUFERRIEN |Buffer Error Interrupt Enable Bit 70 * | | |0 = Buffer error interrupt Disabled. 71 * | | |1 = Buffer error interrupt Enabled. 72 * |[6] |WKIEN |Wake-up Interrupt Enable Bit 73 * | | |0 = Wake-up Interrupt Disabled. 74 * | | |1 = Wake-up Interrupt Enabled. 75 * |[8] |LINIEN |LIN Bus Interrupt Enable Bit 76 * | | |0 = LIN bus interrupt Disabled. 77 * | | |1 = LIN bus interrupt Enabled. 78 * | | |Note: This bit is used for LIN function mode. 79 * |[11] |TOCNTEN |Receive Buffer Time-out Counter Enable Bit 80 * | | |0 = Receive Buffer Time-out counter Disabled. 81 * | | |1 = Receive Buffer Time-out counter Enabled. 82 * |[12] |ATORTSEN |nRTS Auto-flow Control Enable Bit 83 * | | |0 = nRTS auto-flow control Disabled. 84 * | | |1 = nRTS auto-flow control Enabled. 85 * | | |Note: When nRTS auto-flow is enabled, if the number of bytes in the RX FIFO equals the RTSTRGLV (UART_FIFO[19:16]), the UART will de-assert nRTS signal. 86 * |[13] |ATOCTSEN |nCTS Auto-flow Control Enable Bit 87 * | | |0 = nCTS auto-flow control Disabled. 88 * | | |1 = nCTS auto-flow control Enabled. 89 * | | |Note: When nCTS auto-flow is enabled, the UART will send data to external device if nCTS input assert (UART will not send data to device until nCTS is asserted). 90 * |[14] |TXPDMAEN |TX PDMA Enable Bit 91 * | | |This bit can enable or disable TX PDMA service. 92 * | | |0 = TX PDMA Disabled. 93 * | | |1 = TX PDMA Enabled. 94 * |[15] |RXPDMAEN |RX PDMA Enable Bit 95 * | | |This bit can enable or disable RX PDMA service. 96 * | | |0 = RX PDMA Disabled. 97 * | | |1 = RX PDMA Enabled. 98 * | | |Note: If RLSIEN (UART_INTEN[2]) is enabled and HWRLSINT (UART_INTSTS[26]) is set to 1, the RLS (Receive Line Status) Interrupt is caused. 99 * | | |If RLS interrupt is caused by Break Error Flag BIF(UART_FIFOSTS[6]), Frame Error Flag FEF(UART_FIFO[5]) or Parity Error Flag PEF(UART_FIFOSTS[4]), UART PDMA receive request operation is stop. 100 * | | |Clear Break Error Flag BIF or Frame Error Flag FEF or Parity Error Flag PEF by writing 1 to corresponding BIF, FEF and PEF to make UART PDMA receive request operation continue. 101 * |[16] |SWBEIEN |Single-wire Bit Error Detection Interrupt Enable Bit 102 * | | |Set this bit, the Single-wire Half Duplex Bit Error Detection Interrupt SWBEINT(UART_INTSTS[24]) is generated when Single-wire Bit Error Detection SWBEIF(UART_INTSTS[16]) is set. 103 * | | |0 = Single-wire Bit Error Detect Interrupt Disabled. 104 * | | |1 = Single-wire Bit Error Detect Interrupt Enabled. 105 * | | |Note: This bit is valid when FUNCSEL (UART_FUNCSEL[2:0]) is select UART Single-wire mode. 106 * |[18] |ABRIEN |Auto-baud Rate Interrupt Enable Bit 107 * | | |0 = Auto-baud rate interrupt Disabled. 108 * | | |1 = Auto-baud rate interrupt Enabled. 109 * |[22] |TXENDIEN |Transmitter Empty Interrupt Enable Bit 110 * | | |If TXENDIEN (UART_INTEN[22]) is enabled, the Transmitter Empty interrupt TXENDINT (UART_INTSTS[30]) will be generated when TXENDIF (UART_INTSTS[22]) is set (TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted). 111 * | | |0 = Transmitter empty interrupt Disabled. 112 * | | |1 = Transmitter empty interrupt Enabled. 113 * @var UART_T::FIFO 114 * Offset: 0x08 UART FIFO Control Register 115 * --------------------------------------------------------------------------------------------------- 116 * |Bits |Field |Descriptions 117 * | :----: | :----: | :---- | 118 * |[1] |RXRST |RX Field Software Reset 119 * | | |When RXRST (UART_FIFO[1]) is set, all the byte in the receiver FIFO and RX internal state machine are cleared. 120 * | | |0 = No effect. 121 * | | |1 = Reset the RX internal state machine and pointers. 122 * | | |Note1: This bit will automatically clear at least 3 UART peripheral clock cycles. 123 * | | |Note2: Before setting this bit, it should wait for the RXIDLE (UART_FIFOSTS[29]) be set. 124 * |[2] |TXRST |TX Field Software Reset 125 * | | |When TXRST (UART_FIFO[2]) is set, all the byte in the transmit FIFO and TX internal state machine are cleared. 126 * | | |0 = No effect. 127 * | | |1 = Reset the TX internal state machine and pointers. 128 * | | |Note1: This bit will automatically clear at least 3 UART peripheral clock cycles. 129 * | | |Note2: Before setting this bit, it should wait for the TXEMPTYF (UART_FIFOSTS[28]) be set. 130 * |[7:4] |RFITL |RX FIFO Interrupt Trigger Level 131 * | | |When the number of bytes in the receive FIFO equals the RFITL, the RDAIF (UART_INTSTS[0]) will be set (if RDAIEN (UART_INTEN [0]) enabled, and an interrupt will be generated). 132 * | | |0000 = RX FIFO Interrupt Trigger Level is 1 byte. 133 * | | |0001 = RX FIFO Interrupt Trigger Level is 4 bytes. 134 * | | |0010 = RX FIFO Interrupt Trigger Level is 8 bytes. 135 * | | |0011 = RX FIFO Interrupt Trigger Level is 14 bytes. 136 * | | |Others = Reserved. 137 * |[8] |RXOFF |Receiver Disable Bit 138 * | | |The receiver is disabled or not (set 1 to disable receiver). 139 * | | |0 = Receiver Enabled. 140 * | | |1 = Receiver Disabled. 141 * | | |Note: This bit is used for RS-485 Normal Multi-drop mode. 142 * | | |It should be programmed before RS485NMM (UART_ALTCTL [8]) is programmed. 143 * |[19:16] |RTSTRGLV |nRTS Trigger Level for Auto-flow Control Use 144 * | | |0000 = nRTS Trigger Level is 1 byte. 145 * | | |0001 = nRTS Trigger Level is 4 bytes. 146 * | | |0010 = nRTS Trigger Level is 8 bytes. 147 * | | |0011 = nRTS Trigger Level is 14 bytes. 148 * | | |Others = Reserved. 149 * | | |Note: This field is used for auto nRTS flow control. 150 * @var UART_T::LINE 151 * Offset: 0x0C UART Line Control Register 152 * --------------------------------------------------------------------------------------------------- 153 * |Bits |Field |Descriptions 154 * | :----: | :----: | :---- | 155 * |[1:0] |WLS |Word Length Selection 156 * | | |This field sets UART word length. 157 * | | |00 = 5 bits. 158 * | | |01 = 6 bits. 159 * | | |10 = 7 bits. 160 * | | |11 = 8 bits. 161 * |[2] |NSB |Number of STOP Bit 162 * | | |0 = One STOP bit is generated in the transmitted data. 163 * | | |1 = When select 5-bit word length, 1.5 STOP bit is generated in the transmitted data. 164 * | | |When select 6-, 7- and 8-bit word length, 2 STOP bit is generated in the transmitted data. 165 * |[3] |PBE |Parity Bit Enable Bit 166 * | | |0 = Parity bit generated Disabled. 167 * | | |1 = Parity bit generated Enabled. 168 * | | |Note: Parity bit is generated on each outgoing character and is checked on each incoming data. 169 * |[4] |EPE |Even Parity Enable Bit 170 * | | |0 = Odd number of logic 1's is transmitted and checked in each word. 171 * | | |1 = Even number of logic 1's is transmitted and checked in each word. 172 * | | |Note: This bit has effect only when PBE (UART_LINE[3]) is set. 173 * |[5] |SPE |Stick Parity Enable Bit 174 * | | |0 = Stick parity Disabled. 175 * | | |1 = Stick parity Enabled. 176 * | | |Note: If PBE (UART_LINE[3]) and EPE (UART_LINE[4]) are logic 1, the parity bit is transmitted and checked as logic 0. 177 * | | |If PBE (UART_LINE[3]) is 1 and EPE (UART_LINE[4]) is 0 then the parity bit is transmitted and checked as 1. 178 * |[6] |BCB |Break Control Bit 179 * | | |0 = Break Control Disabled. 180 * | | |1 = Break Control Enabled. 181 * | | |Note: When this bit is set to logic 1, the transmitted serial data output (TX) is forced to the Spacing State (logic 0) 182 * | | |This bit acts only on TX line and has no effect on the transmitter logic. 183 * |[7] |PSS |Parity Bit Source Selection 184 * | | |The parity bit can be selected to be generated and checked automatically or by software. 185 * | | |0 = Parity bit is generated by EPE (UART_LINE[4]) and SPE (UART_LINE[5]) setting and checked automatically. 186 * | | |1 = Parity bit generated and checked by software. 187 * | | |Note1: This bit has effect only when PBE (UART_LINE[3]) is set. 188 * | | |Note2: If PSS is 0, the parity bit is transmitted and checked automatically. 189 * | | |If PSS is 1, the transmitted parity bit value can be determined by writing PARITY (UART_DAT[8]) and the parity bit can be read by reading PARITY (UART_DAT[8]). 190 * |[8] |TXDINV |TX Data Inverted 191 * | | |0 = Transmitted data signal inverted Disabled. 192 * | | |1 = Transmitted data signal inverted Enabled. 193 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 194 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 195 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select UART, LIN or RS485 function. 196 * |[9] |RXDINV |RX Data Inverted 197 * | | |0 = Received data signal inverted Disabled. 198 * | | |1 = Received data signal inverted Enabled. 199 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 200 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 201 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select UART, LIN or RS485 function. 202 * @var UART_T::MODEM 203 * Offset: 0x10 UART Modem Control Register 204 * --------------------------------------------------------------------------------------------------- 205 * |Bits |Field |Descriptions 206 * | :----: | :----: | :---- | 207 * |[1] |RTS |nRTS (Request-to-send) Signal Control 208 * | | |This bit is direct control internal nRTS signal active or not, and then drive the nRTS pin output with RTSACTLV bit configuration. 209 * | | |0 = nRTS signal is active. 210 * | | |1 = nRTS signal is inactive. 211 * | | |Note1: This nRTS signal control bit is not effective when nRTS auto-flow control is enabled in UART function mode. 212 * | | |Note2: This nRTS signal control bit is not effective when RS-485 auto direction mode (AUD) is enabled in RS-485 function mode. 213 * |[9] |RTSACTLV |nRTS Pin Active Level 214 * | | |This bit defines the active level state of nRTS pin output. 215 * | | |0 = nRTS pin output is high level active. 216 * | | |1 = nRTS pin output is low level active. (Default) 217 * | | |Note: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 218 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 219 * |[13] |RTSSTS |nRTS Pin Status (Read Only) 220 * | | |This bit mirror from nRTS pin output of voltage logic status. 221 * | | |0 = nRTS pin output is low level voltage logic state. 222 * | | |1 = nRTS pin output is high level voltage logic state. 223 * @var UART_T::MODEMSTS 224 * Offset: 0x14 UART Modem Status Register 225 * --------------------------------------------------------------------------------------------------- 226 * |Bits |Field |Descriptions 227 * | :----: | :----: | :---- | 228 * |[0] |CTSDETF |Detect nCTS State Change Flag 229 * | | |This bit is set whenever nCTS input has change state, and it will generate Modem interrupt to CPU when MODEMIEN (UART_INTEN [3]) is set to 1. 230 * | | |0 = nCTS input has not change state. 231 * | | |1 = nCTS input has change state. 232 * | | |Note: This bit can be cleared by writing 1 to it. 233 * |[4] |CTSSTS |nCTS Pin Status (Read Only) 234 * | | |This bit mirror from nCTS pin input of voltage logic status. 235 * | | |0 = nCTS pin input is low level voltage logic state. 236 * | | |1 = nCTS pin input is high level voltage logic state. 237 * | | |Note: This bit echoes when UART controller peripheral clock is enabled, and nCTS multi-function port is selected. 238 * |[8] |CTSACTLV |nCTS Pin Active Level 239 * | | |This bit defines the active level state of nCTS pin input. 240 * | | |0 = nCTS pin input is high level active. 241 * | | |1 = nCTS pin input is low level active. (Default) 242 * | | |Note: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 243 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 244 * @var UART_T::FIFOSTS 245 * Offset: 0x18 UART FIFO Status Register 246 * --------------------------------------------------------------------------------------------------- 247 * |Bits |Field |Descriptions 248 * | :----: | :----: | :---- | 249 * |[0] |RXOVIF |RX Overflow Error Interrupt Flag 250 * | | |This bit is set when RX FIFO overflow. 251 * | | |If the number of bytes of received data is greater than RX_FIFO (UART_DAT) size 16 bytes, this bit will be set. 252 * | | |0 = RX FIFO is not overflow. 253 * | | |1 = RX FIFO is overflow. 254 * | | |Note: This bit can be cleared by writing 1 to it. 255 * |[1] |ABRDIF |Auto-baud Rate Detect Interrupt Flag 256 * | | |This bit is set to logic 1 when auto-baud rate detect function is finished. 257 * | | |0 = Auto-baud rate detect function is not finished. 258 * | | |1 = Auto-baud rate detect function is finished. 259 * | | |Note: This bit can be cleared by writing 1 to it. 260 * |[2] |ABRDTOIF |Auto-baud Rate Detect Time-out Interrupt Flag 261 * | | |This bit is set to logic 1 in Auto-baud Rate Detect mode when the baud rate counter is overflow. 262 * | | |0 = Auto-baud rate counter is underflow. 263 * | | |1 = Auto-baud rate counter is overflow. 264 * | | |Note: This bit can be cleared by writing 1 to it. 265 * |[3] |ADDRDETF |RS-485 Address Byte Detect Flag 266 * | | |0 = Receiver detects a data that is not an address bit (bit 9 ='0'). 267 * | | |1 = Receiver detects a data that is an address bit (bit 9 ='1'). 268 * | | |Note1: This field is used for RS-485 function mode and ADDRDEN (UART_ALTCTL[15]) is set to 1 to enable Address detection mode. 269 * | | |Note2: This bit can be cleared by writing 1 to it. 270 * |[4] |PEF |Parity Error Flag 271 * | | |This bit is set to logic 1 whenever the received character does not have a valid parity bit. 272 * | | |0 = No parity error is generated. 273 * | | |1 = Parity error is generated. 274 * | | |Note: This bit can be cleared by writing 1 to it. 275 * |[5] |FEF |Framing Error Flag 276 * | | |This bit is set to logic 1 whenever the received character does not have a valid stop bit (that is, the stop bit following the last data bit or parity bit is detected as logic 0). 277 * | | |0 = No framing error is generated. 278 * | | |1 = Framing error is generated. 279 * | | |Note: This bit can be cleared by writing 1 to it. 280 * |[6] |BIF |Break Interrupt Flag 281 * | | |This bit is set to logic 1 whenever the received data input (RX) is held in the spacing state (logic 0) for longer than a full word transmission time (that is, the total time of start bit + data bits + parity + stop bits). 282 * | | |0 = No Break interrupt is generated. 283 * | | |1 = Break interrupt is generated. 284 * | | |Note: This bit can be cleared by writing 1 to it. 285 * |[13:8] |RXPTR |RX FIFO Pointer (Read Only) 286 * | | |This field indicates the RX FIFO Buffer Pointer. 287 * | | |When UART receives one byte from external device, RXPTR increases one. 288 * | | |When one byte of RX FIFO is read by CPU, RXPTR decreases one. 289 * | | |The Maximum value shown in RXPTR is 15 290 * | | |When the using level of RX FIFO Buffer equal to 16, the RXFULL bit is set to 1 and RXPTR will show 0. 291 * | | |As one byte of RX FIFO is read by CPU, the RXFULL bit is cleared to 0 and RXPTR will show 15. 292 * |[14] |RXEMPTY |Receiver FIFO Empty (Read Only) 293 * | | |This bit initiate RX FIFO empty or not. 294 * | | |0 = RX FIFO is not empty. 295 * | | |1 = RX FIFO is empty. 296 * | | |Note: When the last byte of RX FIFO has been read by CPU, hardware sets this bit high. 297 * | | |It will be cleared when UART receives any new data. 298 * |[15] |RXFULL |Receiver FIFO Full (Read Only) 299 * | | |This bit initiates RX FIFO full or not. 300 * | | |0 = RX FIFO is not full. 301 * | | |1 = RX FIFO is full. 302 * | | |Note: This bit is set when the number of usage in RX FIFO Buffer is equal to 16, otherwise it is cleared by hardware. 303 * |[21:16] |TXPTR |TX FIFO Pointer (Read Only) 304 * | | |This field indicates the TX FIFO Buffer Pointer. 305 * | | |When CPU writes one byte into UART_DAT, TXPTR increases one. 306 * | | |When one byte of TX FIFO is transferred to Transmitter Shift Register, TXPTR decreases one. 307 * | | |The Maximum value shown in TXPTR is 15. 308 * | | |When the using level of TX FIFO Buffer equal to 16, the TXFULL bit is set to 1 and TXPTR will show 0. 309 * | | |As one byte of TX FIFO is transferred to Transmitter Shift Register, the TXFULL bit is cleared to 0 and TXPTR will show 15. 310 * |[22] |TXEMPTY |Transmitter FIFO Empty (Read Only) 311 * | | |This bit indicates TX FIFO empty or not. 312 * | | |0 = TX FIFO is not empty. 313 * | | |1 = TX FIFO is empty. 314 * | | |Note: When the last byte of TX FIFO has been transferred to Transmitter Shift Register, hardware sets this bit high. 315 * | | |It will be cleared when writing data into UART_DAT (TX FIFO not empty). 316 * |[23] |TXFULL |Transmitter FIFO Full (Read Only) 317 * | | |This bit indicates TX FIFO full or not. 318 * | | |0 = TX FIFO is not full. 319 * | | |1 = TX FIFO is full. 320 * | | |Note: This bit is set when the number of usage in TX FIFO Buffer is equal to 16, otherwise it is cleared by hardware. 321 * |[24] |TXOVIF |TX Overflow Error Interrupt Flag 322 * | | |If TX FIFO (UART_DAT) is full, an additional write to UART_DAT will cause this bit to logic 1. 323 * | | |0 = TX FIFO is not overflow. 324 * | | |1 = TX FIFO is overflow. 325 * | | |Note: This bit can be cleared by writing 1 to it. 326 * |[28] |TXEMPTYF |Transmitter Empty Flag (Read Only) 327 * | | |This bit is set by hardware when TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted. 328 * | | |0 = TX FIFO is not empty or the STOP bit of the last byte has been not transmitted. 329 * | | |1 = TX FIFO is empty and the STOP bit of the last byte has been transmitted. 330 * | | |Note: This bit is cleared automatically when TX FIFO is not empty or the last byte transmission has not completed. 331 * |[29] |RXIDLE |RX Idle Status (Read Only) 332 * | | |This bit is set by hardware when RX is idle. 333 * | | |0 = RX is busy. 334 * | | |1 = RX is idle. (Default) 335 * |[31] |TXRXACT |TX and RX Active Status (Read Only) 336 * | | |This bit indicates TX and RX are active or inactive. 337 * | | |0 = TX and RX are inactive. 338 * | | |1 = TX and RX are active. (Default) 339 * | | |Note: When TXRXDIS (UART_FUNCSEL[3]) is set and both TX and RX are in idle state, this bit is cleared. 340 * | | |The UART controller can not transmit or receive data at this moment. 341 * | | |Otherwise this bit is set. 342 * @var UART_T::INTSTS 343 * Offset: 0x1C UART Interrupt Status Register 344 * --------------------------------------------------------------------------------------------------- 345 * |Bits |Field |Descriptions 346 * | :----: | :----: | :---- | 347 * |[0] |RDAIF |Receive Data Available Interrupt Flag 348 * | | |When the number of bytes in the RX FIFO equals the RFITL then the RDAIF(UART_INTSTS[0]) will be set. 349 * | | |If RDAIEN (UART_INTEN [0]) is enabled, the RDA interrupt will be generated. 350 * | | |0 = No RDA interrupt flag is generated. 351 * | | |1 = RDA interrupt flag is generated. 352 * | | |Note: This bit is read only and it will be cleared when the number of unread bytes of RX FIFO drops below the threshold level (RFITL(UART_FIFO[7:4]). 353 * |[1] |THREIF |Transmit Holding Register Empty Interrupt Flag 354 * | | |This bit is set when the last data of TX FIFO is transferred to Transmitter Shift Register. 355 * | | |If THREIEN (UART_INTEN[1]) is enabled, the THRE interrupt will be generated. 356 * | | |0 = No THRE interrupt flag is generated. 357 * | | |1 = THRE interrupt flag is generated. 358 * | | |Note: This bit is read only and it will be cleared when writing data into UART_DAT (TX FIFO not empty). 359 * |[2] |RLSIF |Receive Line Interrupt Flag (Read Only) 360 * | | |This bit is set when the RX receive data have parity error, frame error or break error (at least one of 3 bits, BIF(UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]), is set). 361 * | | |If RLSIEN (UART_INTEN [2]) is enabled, the RLS interrupt will be generated. 362 * | | |0 = No RLS interrupt flag is generated. 363 * | | |1 = RLS interrupt flag is generated. 364 * | | |Note1: In RS-485 function mode, this field is set include receiver detect and received address byte character (bit9 = 1) bit. 365 * | | |At the same time, the bit of ADDRDETF (UART_FIFOSTS[3]) is also set. 366 * | | |Note2: This bit is read only and reset to 0 when all bits of BIF (UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]) are cleared. 367 * | | |Note3: In RS-485 function mode, this bit is read only and reset to 0 when all bits of BIF (UART_FIFOSTS[6]) , FEF(UART_FIFOSTS[5]), PEF(UART_FIFOSTS[4]) and ADDRDETF (UART_FIFOSTS[3]) are cleared. 368 * |[3] |MODEMIF |MODEM Interrupt Flag (Read Only) 369 * | | |This bit is set when the nCTS pin has state change (CTSDETF (UART_MODEMSTS[0]) = 1). 370 * | | |If MODEMIEN (UART_INTEN [3]) is enabled, the Modem interrupt will be generated. 371 * | | |0 = No Modem interrupt flag is generated. 372 * | | |1 = Modem interrupt flag is generated. 373 * | | |Note: This bit is read only and reset to 0 when bit CTSDETF is cleared by a write 1 on CTSDETF(UART_MODEMSTS[0]). 374 * |[4] |RXTOIF |RX Time-out Interrupt Flag (Read Only) 375 * | | |This bit is set when the RX FIFO is not empty and no activities occurred in the RX FIFO and the time-out counter equal to TOIC (UART_TOUT[7:0]). 376 * | | |If RXTOIEN (UART_INTEN [4]) is enabled, the RX time-out interrupt will be generated. 377 * | | |0 = No RX time-out interrupt flag is generated. 378 * | | |1 = RX time-out interrupt flag is generated. 379 * | | |Note: This bit is read only and user can read UART_DAT (RX is in active) to clear it. 380 * |[5] |BUFERRIF |Buffer Error Interrupt Flag (Read Only) 381 * | | |This bit is set when the TX FIFO or RX FIFO overflows (TXOVIF (UART_FIFOSTS[24]) or RXOVIF (UART_FIFOSTS[0]) is set). 382 * | | |When BUFERRIF (UART_INTSTS[5]) is set, the transfer is not correct. 383 * | | |If BUFERRIEN (UART_INTEN [5]) is enabled, the buffer error interrupt will be generated. 384 * | | |0 = No buffer error interrupt flag is generated. 385 * | | |1 = Buffer error interrupt flag is generated. 386 * | | |Note: This bit is cleared if both of RXOVIF(UART_FIFOSTS[0]) and TXOVIF(UART_FIFOSTS[24]) are cleared to 0 by writing 1 to RXOVIF(UART_FIFOSTS[0]) and TXOVIF(UART_FIFOSTS[24]). 387 * |[6] |WKIF |UART Wake-up Interrupt Flag (Read Only) 388 * | | |This bit is set when TOUTWKF (UART_WKSTS[4]), RS485WKF (UART_WKSTS[3]), RFRTWKF (UART_WKSTS[2]), DATWKF (UART_WKSTS[1]) or CTSWKF(UART_WKSTS[0]) is set to 1. 389 * | | |0 = No UART wake-up interrupt flag is generated. 390 * | | |1 = UART wake-up interrupt flag is generated. 391 * | | |Note: This bit is cleared if all of TOUTWKF, RS485WKF, RFRTWKF, DATWKF and CTSWKF are cleared to 0 by writing 1 to the corresponding interrupt flag. 392 * |[7] |LINIF |LIN Bus Interrupt Flag 393 * | | |This bit is set when LIN slave header detect (SLVHDETF (UART_LINSTS[0]=1)), LIN break detect (BRKDETF(UART_LINSTS[8]=1)), bit error detect (BITEF(UART_LINSTS[9]=1)), LIN slave ID parity error (SLVIDPEF(UART_LINSTS[2] = 1)) or LIN slave header error detect (SLVHEF (UART_LINSTS[1])) 394 * | | |If LINIEN (UART_INTEN [8]) is enabled the LIN interrupt will be generated. 395 * | | |0 = None of SLVHDETF, BRKDETF, BITEF, SLVIDPEF and SLVHEF is generated. 396 * | | |1 = At least one of SLVHDETF, BRKDETF, BITEF, SLVIDPEF and SLVHEF is generated. 397 * | | |Note: This bit is cleared when SLVHDETF(UART_LINSTS[0]), BRKDETF(UART_LINSTS[8]), BITEF(UART_LINSTS[9]), SLVIDPEF (UART_LINSTS[2]) and SLVHEF(UART_LINSTS[1]) all are cleared and software writing 1 to LINIF(UART_INTSTS[7]). 398 * |[8] |RDAINT |Receive Data Available Interrupt Indicator (Read Only) 399 * | | |This bit is set if RDAIEN (UART_INTEN[0]) and RDAIF (UART_INTSTS[0]) are both set to 1. 400 * | | |0 = No RDA interrupt is generated. 401 * | | |1 = RDA interrupt is generated. 402 * |[9] |THREINT |Transmit Holding Register Empty Interrupt Indicator (Read Only) 403 * | | |This bit is set if THREIEN (UART_INTEN[1]) and THREIF(UART_INTSTS[1]) are both set to 1. 404 * | | |0 = No THRE interrupt is generated. 405 * | | |1 = THRE interrupt is generated. 406 * |[10] |RLSINT |Receive Line Status Interrupt Indicator (Read Only) 407 * | | |This bit is set if RLSIEN (UART_INTEN[2]) and RLSIF(UART_INTSTS[2]) are both set to 1. 408 * | | |0 = No RLS interrupt is generated. 409 * | | |1 = RLS interrupt is generated. 410 * |[11] |MODEMINT |MODEM Status Interrupt Indicator (Read Only) 411 * | | |This bit is set if MODEMIEN(UART_INTEN[3]) and MODEMIF(UART_INTSTS[3]) are both set to 1 412 * | | |0 = No Modem interrupt is generated. 413 * | | |1 = Modem interrupt is generated.. 414 * |[12] |RXTOINT |RX Time-out Interrupt Indicator (Read Only) 415 * | | |This bit is set if RXTOIEN (UART_INTEN[4]) and RXTOIF(UART_INTSTS[4]) are both set to 1. 416 * | | |0 = No RX time-out interrupt is generated. 417 * | | |1 = RX time-out interrupt is generated. 418 * |[13] |BUFERRINT |Buffer Error Interrupt Indicator (Read Only) 419 * | | |This bit is set if BUFERRIEN(UART_INTEN[5]) and BUFERRIF(UART_ INTSTS[5]) are both set to 1. 420 * | | |0 = No buffer error interrupt is generated. 421 * | | |1 = Buffer error interrupt is generated. 422 * |[14] |WKINT |UART Wake-up Interrupt Indicator (Read Only) 423 * | | |This bit is set if WKIEN (UART_INTEN[6]) and WKIF (UART_INTSTS[6]) are both set to 1. 424 * | | |0 = No UART wake-up interrupt is generated. 425 * | | |1 = UART wake-up interrupt is generated. 426 * |[15] |LININT |LIN Bus Interrupt Indicator (Read Only) 427 * | | |This bit is set if LINIEN (UART_INTEN[8]) and LINIF(UART_INTSTS[7]) are both set to 1. 428 * | | |0 = No LIN Bus interrupt is generated. 429 * | | |1 = The LIN Bus interrupt is generated. 430 * |[16] |SWBEIF |Single-wire Bit Error Detection Interrupt Flag 431 * | | |This bit is set when the single wire bus state not equals to UART controller TX state in Single-wire mode. 432 * | | |0 = No single-wire bit error detection interrupt flag is generated. 433 * | | |1 = Single-wire bit error detection interrupt flag is generated. 434 * | | |Note 1: This bit is active when FUNCSEL (UART_FUNCSEL[2:0]) is select UART Single-wire mode. 435 * | | |Note 2: This bit can be cleared by writing "1" to it. 436 * |[18] |HWRLSIF |PDMA Mode Receive Line Status Flag (Read Only) 437 * | | |This bit is set when the RX receive data have parity error, frame error or break error (at least one of 3 bits, BIF (UART_FIFOSTS[6]), FEF (UART_FIFOSTS[5]) and PEF (UART_FIFOSTS[4]) is set). 438 * | | |If RLSIEN (UART_INTEN [2]) is enabled, the RLS interrupt will be generated. 439 * | | |0 = No RLS interrupt flag is generated in PDMA mode. 440 * | | |1 = RLS interrupt flag is generated in PDMA mode. 441 * | | |Note1: In RS-485 function mode, this field include receiver detect any address byte received address byte character (bit9 = 1) bit. 442 * | | |Note2: In UART function mode, this bit is read only and reset to 0 when all bits of BIF(UART_FIFOSTS[6]) , FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]) are cleared. 443 * | | |Note3: In RS-485 function mode, this bit is read only and reset to 0 when all bits of BIF(UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]), PEF(UART_FIFOSTS[4]) and ADDRDETF (UART_FIFOSTS[3]) are cleared. 444 * |[19] |HWMODIF |PDMA Mode MODEM Interrupt Flag (Read Only) 445 * | | |This bit is set when the nCTS pin has state change (CTSDETF (UART_MODEMSTS[0]=1)). 446 * | | |If MODEMIEN (UART_INTEN [3]) is enabled, the Modem interrupt will be generated. 447 * | | |0 = No Modem interrupt flag is generated in PDMA mode. 448 * | | |1 = Modem interrupt flag is generated in PDMA mode. 449 * | | |Note: This bit is read only and reset to 0 when the bit CTSDETF (UART_MODEMSTS[0]) is cleared by writing 1 on CTSDETF (UART_MODEMSTS [0]). 450 * |[20] |HWTOIF |PDMA Mode RX Time-out Interrupt Flag (Read Only) 451 * | | |This bit is set when the RX FIFO is not empty and no activities occurred in the RX FIFO and the time-out counter equal to TOIC (UART_TOUT[7:0]). 452 * | | |If RXTOIEN (UART_INTEN [4]) is enabled, the RX time-out interrupt will be generated. 453 * | | |0 = No RX time-out interrupt flag is generated in PDMA mode. 454 * | | |1 = RX time-out interrupt flag is generated in PDMA mode. 455 * | | |Note: This bit is read only and user can read UART_DAT (RX is in active) to clear it. 456 * |[21] |HWBUFEIF |PDMA Mode Buffer Error Interrupt Flag (Read Only) 457 * | | |This bit is set when the TX or RX FIFO overflows (TXOVIF (UART_FIFOSTS [24]) or RXOVIF (UART_FIFOSTS[0]) is set). 458 * | | |When BUFERRIF (UART_INTSTS[5]) is set, the transfer maybe is not correct. 459 * | | |If BUFERRIEN (UART_INTEN [5]) is enabled, the buffer error interrupt will be generated. 460 * | | |0 = No buffer error interrupt flag is generated in PDMA mode. 461 * | | |1 = Buffer error interrupt flag is generated in PDMA mode. 462 * | | |Note: This bit is cleared when both TXOVIF (UART_FIFOSTS[24]]) and RXOVIF (UART_FIFOSTS[0]) are cleared. 463 * |[22] |TXENDIF |Transmitter Empty Interrupt Flag 464 * | | |This bit is set when TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted (TXEMPTYF (UART_FIFOSTS[28]) is set). 465 * | | |If TXENDIEN (UART_INTEN[22]) is enabled, the Transmitter Empty interrupt will be generated. 466 * | | |0 = No transmitter empty interrupt flag is generated. 467 * | | |1 = Transmitter empty interrupt flag is generated. 468 * | | |Note: This bit is cleared automatically when TX FIFO is not empty or the last byte transmission has not completed. 469 * |[24] |SWBEINT |Single-wire Bit Error Detect Interrupt Indicator (Read Only) 470 * | | |This bit is set if SWBEIEN (UART_INTEN[16]) and SWBEIF (UART_INTSTS[16]) are both set to 1. 471 * | | |0 = No Single-wire Bit Error Detection Interrupt generated. 472 * | | |1 = Single-wire Bit Error Detection Interrupt generated. 473 * |[26] |HWRLSINT |PDMA Mode Receive Line Status Interrupt Indicator (Read Only) 474 * | | |This bit is set if RLSIEN (UART_INTEN[2]) and HWRLSIF(UART_INTSTS[18]) are both set to 1. 475 * | | |0 = No RLS interrupt is generated in PDMA mode. 476 * | | |1 = RLS interrupt is generated in PDMA mode. 477 * |[27] |HWMODINT |PDMA Mode MODEM Status Interrupt Indicator (Read Only) 478 * | | |This bit is set if MODEMIEN (UART_INTEN[3]) and HWMODIF(UART_INTSTS[19]) are both set to 1. 479 * | | |0 = No Modem interrupt is generated in PDMA mode. 480 * | | |1 = Modem interrupt is generated in PDMA mode. 481 * |[28] |HWTOINT |PDMA Mode RX Time-out Interrupt Indicator (Read Only) 482 * | | |This bit is set if RXTOIEN (UART_INTEN[4]) and HWTOIF(UART_INTSTS[20]) are both set to 1. 483 * | | |0 = No RX time-out interrupt is generated in PDMA mode. 484 * | | |1 = RX time-out interrupt is generated in PDMA mode. 485 * |[29] |HWBUFEINT |PDMA Mode Buffer Error Interrupt Indicator (Read Only) 486 * | | |This bit is set if BUFERRIEN (UART_INTEN[5]) and HWBUFEIF (UART_INTSTS[21]) are both set to 1. 487 * | | |0 = No buffer error interrupt is generated in PDMA mode. 488 * | | |1 = Buffer error interrupt is generated in PDMA mode. 489 * |[30] |TXENDINT |Transmitter Empty Interrupt Indicator (Read Only) 490 * | | |This bit is set if TXENDIEN (UART_INTEN[22]) and TXENDIF(UART_INTSTS[22]) are both set to 1. 491 * | | |0 = No Transmitter Empty interrupt is generated. 492 * | | |1 = Transmitter Empty interrupt is generated. 493 * |[31] |ABRINT |Auto-baud Rate Interrupt Indicator (Read Only) 494 * | | |This bit is set if ABRIEN (UART_INTEN[18]) and ABRIF (UART_ALTCTL[17]) are both set to 1. 495 * | | |0 = No Auto-baud Rate interrupt is generated. 496 * | | |1 = The Auto-baud Rate interrupt is generated. 497 * @var UART_T::TOUT 498 * Offset: 0x20 UART Time-out Register 499 * --------------------------------------------------------------------------------------------------- 500 * |Bits |Field |Descriptions 501 * | :----: | :----: | :---- | 502 * |[7:0] |TOIC |Time-out Interrupt Comparator 503 * | | |The time-out counter resets and starts counting (the counting clock = baud rate) whenever the RX FIFO receives a new data word if time out counter is enabled by setting TOCNTEN (UART_INTEN[11]). 504 * | | |Once the content of time-out counter is equal to that of time-out interrupt comparator (TOIC (UART_TOUT[7:0])), a receiver time-out interrupt (RXTOINT(UART_INTSTS[12])) is generated if RXTOIEN (UART_INTEN [4]) enabled. 505 * | | |A new incoming data word or RX FIFO empty will clear RXTOIF (UART_INTSTS[4]). 506 * | | |In order to avoid receiver time-out interrupt generation immediately during one character is being received, TOIC value should be set between 40 and 255. 507 * | | |So, for example, if TOIC is set with 40, the time-out interrupt is generated after four characters are not received when 1 stop bit and no parity check is set for UART transfer. 508 * |[15:8] |DLY |TX Delay Time Value 509 * | | |This field is used to programming the transfer delay time between the last stop bit and next start bit. 510 * | | |The unit is bit time. 511 * @var UART_T::BAUD 512 * Offset: 0x24 UART Baud Rate Divider Register 513 * --------------------------------------------------------------------------------------------------- 514 * |Bits |Field |Descriptions 515 * | :----: | :----: | :---- | 516 * |[15:0] |BRD |Baud Rate Divider 517 * | | |The field indicates the baud rate divider. 518 * | | |This filed is used in baud rate calculation. 519 * |[27:24] |EDIVM1 |Extra Divider for BAUD Rate Mode 1 520 * | | |This field is used for baud rate calculation in mode 1 and has no effect for baud rate calculation in mode 0 and mode 2. 521 * |[28] |BAUDM0 |BAUD Rate Mode Selection Bit 0 522 * | | |This bit is baud rate mode selection bit 0 523 * | | |UART provides three baud rate calculation modes. 524 * | | |This bit combines with BAUDM1 (UART_BAUD[29]) to select baud rate calculation mode. 525 * |[29] |BAUDM1 |BAUD Rate Mode Selection Bit 1 526 * | | |This bit is baud rate mode selection bit 1. 527 * | | |UART provides three baud rate calculation modes. 528 * | | |This bit combines with BAUDM0 (UART_BAUD[28]) to select baud rate calculation mode. 529 * | | |Note: In IrDA mode must be operated in mode 0. 530 * @var UART_T::IRDA 531 * Offset: 0x28 UART IrDA Control Register 532 * --------------------------------------------------------------------------------------------------- 533 * |Bits |Field |Descriptions 534 * | :----: | :----: | :---- | 535 * |[1] |TXEN |IrDA Receiver/Transmitter Selection Enable Bit 536 * | | |0 = IrDA Transmitter Disabled and Receiver Enabled. (Default) 537 * | | |1 = IrDA Transmitter Enabled and Receiver Disabled. 538 * |[5] |TXINV |IrDA Inverse Transmitting Output Signal 539 * | | |0 = None inverse transmitting signal. (Default). 540 * | | |1 = Inverse transmitting output signal. 541 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 542 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 543 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select IrDA function. 544 * |[6] |RXINV |IrDA Inverse Receive Input Signal 545 * | | |0 = None inverse receiving input signal. 546 * | | |1 = Inverse receiving input signal. (Default) 547 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared. 548 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 549 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select IrDA function. 550 * @var UART_T::ALTCTL 551 * Offset: 0x2C UART Alternate Control/Status Register 552 * --------------------------------------------------------------------------------------------------- 553 * |Bits |Field |Descriptions 554 * | :----: | :----: | :---- | 555 * |[3:0] |BRKFL |UART LIN Break Field Length 556 * | | |This field indicates a 4-bit LIN TX break field count. 557 * | | |Note1: This break field length is BRKFL + 1. 558 * | | |Note2: According to LIN spec, the reset value is 0xC (break field length = 13). 559 * |[6] |LINRXEN |LIN RX Enable Bit 560 * | | |0 = LIN RX mode Disabled. 561 * | | |1 = LIN RX mode Enabled. 562 * |[7] |LINTXEN |LIN TX Break Mode Enable Bit 563 * | | |0 = LIN TX Break mode Disabled. 564 * | | |1 = LIN TX Break mode Enabled. 565 * | | |Note: When TX break field transfer operation finished, this bit will be cleared automatically. 566 * |[8] |RS485NMM |RS-485 Normal Multi-drop Operation Mode (NMM) 567 * | | |0 = RS-485 Normal Multi-drop Operation mode (NMM) Disabled. 568 * | | |1 = RS-485 Normal Multi-drop Operation mode (NMM) Enabled. 569 * | | |Note: It cannot be active with RS-485_AAD operation mode. 570 * |[9] |RS485AAD |RS-485 Auto Address Detection Operation Mode (AAD) 571 * | | |0 = RS-485 Auto Address Detection Operation mode (AAD) Disabled. 572 * | | |1 = RS-485 Auto Address Detection Operation mode (AAD) Enabled. 573 * | | |Note: It cannot be active with RS-485_NMM operation mode. 574 * |[10] |RS485AUD |RS-485 Auto Direction Function (AUD) 575 * | | |0 = RS-485 Auto Direction Operation function (AUD) Disabled. 576 * | | |1 = RS-485 Auto Direction Operation function (AUD) Enabled. 577 * | | |Note: It can be active with RS-485_AAD or RS-485_NMM operation mode. 578 * |[15] |ADDRDEN |RS-485 Address Detection Enable Bit 579 * | | |This bit is used to enable RS-485 Address Detection mode. 580 * | | |0 = Address detection mode Disabled. 581 * | | |1 = Address detection mode Enabled. 582 * | | |Note: This bit is used for RS-485 any operation mode. 583 * |[17] |ABRIF |Auto-baud Rate Interrupt Flag (Read Only) 584 * | | |This bit is set when auto-baud rate detection function finished or the auto-baud rate counter was overflow and if ABRIEN(UART_INTEN [18]) is set then the auto-baud rate interrupt will be generated. 585 * | | |0 = No auto-baud rate interrupt flag is generated. 586 * | | |1 = Auto-baud rate interrupt flag is generated. 587 * | | |Note: This bit is read only, but it can be cleared by writing 1 to ABRDTOIF (UART_FIFOSTS[2]) and ABRDIF(UART_FIFOSTS[1]). 588 * |[18] |ABRDEN |Auto-baud Rate Detect Enable Bit 589 * | | |0 = Auto-baud rate detect function Disabled. 590 * | | |1 = Auto-baud rate detect function Enabled. 591 * | | |Note : This bit is cleared automatically after auto-baud detection is finished. 592 * |[20:19] |ABRDBITS |Auto-baud Rate Detect Bit Length 593 * | | |00 = 1-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x01. 594 * | | |01 = 2-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x02. 595 * | | |10 = 4-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x08. 596 * | | |11 = 8-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x80. 597 * | | |Note : The calculation of bit number includes the START bit. 598 * |[31:24] |ADDRMV |Address Match Value 599 * | | |This field contains the RS-485 address match values. 600 * | | |Note: This field is used for RS-485 auto address detection mode. 601 * @var UART_T::FUNCSEL 602 * Offset: 0x30 UART Function Select Register 603 * --------------------------------------------------------------------------------------------------- 604 * |Bits |Field |Descriptions 605 * | :----: | :----: | :---- | 606 * |[2:0] |FUNCSEL |Function Select 607 * | | |000 = UART function. 608 * | | |001 = LIN function. 609 * | | |010 = IrDA function. 610 * | | |011 = RS-485 function. 611 * | | |100 = UART Single-wire function. 612 * | | |Others = Reserved. 613 * |[3] |TXRXDIS |TX and RX Disable Bit 614 * | | |Setting this bit can disable TX and RX. 615 * | | |0 = TX and RX Enabled. 616 * | | |1 = TX and RX Disabled. 617 * | | |Note: The TX and RX will not disable immediately when this bit is set. 618 * | | |The TX and RX complete current task before disable TX and RX. 619 * | | |When TX and RX disable, the TXRXACT (UART_FIFOSTS[31]) is cleared. 620 * |[6] |DGE |Deglitch Enable Bit 621 * | | |0 = Deglitch Disabled. 622 * | | |1 = Deglitch Enabled. 623 * | | |Note: When this bit is set to logic 1, any pulse width less than about 300 ns will be considered a glitch and will be removed in the serial data input (RX). 624 * | | |This bit acts only on RX line and has no effect on the transmitter logic. 625 * @var UART_T::LINCTL 626 * Offset: 0x34 UART LIN Control Register 627 * --------------------------------------------------------------------------------------------------- 628 * |Bits |Field |Descriptions 629 * | :----: | :----: | :---- | 630 * |[0] |SLVEN |LIN Slave Mode Enable Bit 631 * | | |0 = LIN slave mode Disabled. 632 * | | |1 = LIN slave mode Enabled. 633 * |[1] |SLVHDEN |LIN Slave Header Detection Enable Bit 634 * | | |0 = LIN slave header detection Disabled. 635 * | | |1 = LIN slave header detection Enabled. 636 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 637 * | | |Note2: In LIN function mode, when detect header field (break + sync + frame ID), SLVHDETF (UART_LINSTS [0]) flag will be asserted. 638 * | | |If the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 639 * |[2] |SLVAREN |LIN Slave Automatic Resynchronization Mode Enable Bit 640 * | | |0 = LIN automatic resynchronization Disabled. 641 * | | |1 = LIN automatic resynchronization Enabled. 642 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 643 * | | |Note2: When operation in Automatic Resynchronization mode, the baud rate setting must be mode2 (BAUDM1 (UART_BAUD [29]) and BAUDM0 (UART_BAUD [28]) must be 1). 644 * |[3] |SLVDUEN |LIN Slave Divider Update Method Enable Bit 645 * | | |0 = UART_BAUD updated is written by software (if no automatic resynchronization update occurs at the same time). 646 * | | |1 = UART_BAUD is updated at the next received character 647 * | | |User must set the bit before checksum reception. 648 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 649 * | | |Note2: This bit used for LIN Slave Automatic Resynchronization mode. (for Non-Automatic Resynchronization mode, this bit should be kept cleared) 650 * |[4] |MUTE |LIN Mute Mode Enable Bit 651 * | | |0 = LIN mute mode Disabled. 652 * | | |1 = LIN mute mode Enabled. 653 * | | |Note: The exit from mute mode condition and each control and interactions of this field are explained in 6.16.5.10 (LIN slave mode). 654 * |[8] |SENDH |LIN TX Send Header Enable Bit 655 * | | |The LIN TX header can be break field or break and sync field or break, sync and frame ID field, it is depend on setting HSEL (UART_LINCTL[23:22]). 656 * | | |0 = Send LIN TX header Disabled. 657 * | | |1 = Send LIN TX header Enabled. 658 * | | |Note1: This bit is shadow bit of LINTXEN (UART_ALTCTL [7]); user can read/write it by setting LINTXEN (UART_ALTCTL [7]) or SENDH (UART_LINCTL [8]). 659 * | | |Note2: When transmitter header field (it may be break or break + sync or break + sync + frame ID selected by HSEL (UART_LINCTL[23:22]) field) transfer operation finished, this bit will be cleared automatically. 660 * |[9] |IDPEN |LIN ID Parity Enable Bit 661 * | | |0 = LIN frame ID parity Disabled. 662 * | | |1 = LIN frame ID parity Enabled. 663 * | | |Note1: This bit can be used for LIN master to sending header field (SENDH (UART_LINCTL[8])) = 1 and HSEL (UART_LINCTL[23:22]) = 10 or be used for enable LIN slave received frame ID parity checked. 664 * | | |Note2: This bit is only used when the operation header transmitter is in HSEL (UART_LINCTL[23:22]) = 10. 665 * |[10] |BRKDETEN |LIN Break Detection Enable Bit 666 * | | |When detect consecutive dominant greater than 11 bits, and are followed by a delimiter character, the BRKDETF (UART_LINSTS[8]) flag is set at the end of break field. 667 * | | |If the LINIEN (UART_INTEN [8])=1, an interrupt will be generated. 668 * | | |0 = LIN break detection Disabled . 669 * | | |1 = LIN break detection Enabled. 670 * |[11] |LINRXOFF |LIN Receiver Disable Bit 671 * | | |If the receiver is enabled (RXOFF (UART_LINCTL[11] ) = 0), all received byte data will be accepted and stored in the RX FIFO, and if the receiver is disabled (RXOFF (UART_LINCTL[11] = 1), all received byte data will be ignore. 672 * | | |0 = LIN receiver Enabled. 673 * | | |1 = LIN receiver Disabled. 674 * | | |Note: This bit is only valid when operating in LIN function mode (FUNCSEL (UART_FUNCSEL[1:0]) = 01). 675 * |[12] |BITERREN |Bit Error Detect Enable Bit 676 * | | |0 = Bit error detection function Disabled. 677 * | | |1 = Bit error detection function Enabled. 678 * | | |Note: In LIN function mode, when occur bit error, the BITEF (UART_LINSTS[9]) flag will be asserted. 679 * | | |If the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 680 * |[19:16] |BRKFL |LIN Break Field Length 681 * | | |This field indicates a 4-bit LIN TX break field count. 682 * | | |Note1: These registers are shadow registers of BRKFL (UART_ALTCTL[3:0]), User can read/write it by setting BRKFL (UART_ALTCTL[3:0]) or BRKFL (UART_LINCTL[19:16]). 683 * | | |Note2: This break field length is BRKFL + 1. 684 * | | |Note3: According to LIN spec, the reset value is 12 (break field length = 13). 685 * |[21:20] |BSL |LIN Break/Sync Delimiter Length 686 * | | |00 = The LIN break/sync delimiter length is 1-bit time. 687 * | | |01 = The LIN break/sync delimiter length is 2-bit time. 688 * | | |10 = The LIN break/sync delimiter length is 3-bit time. 689 * | | |11 = The LIN break/sync delimiter length is 4-bit time. 690 * | | |Note: This bit used for LIN master to sending header field. 691 * |[23:22] |HSEL |LIN Header Select 692 * | | |00 = The LIN header includes break field. 693 * | | |01 = The LIN header includes break field and sync field. 694 * | | |10 = The LIN header includes break field, sync field and frame ID field. 695 * | | |11 = Reserved. 696 * | | |Note: This bit is used to master mode for LIN to send header field (SENDH (UART_LINCTL [8]) = 1) or used to slave to indicates exit from mute mode condition (MUTE (UART_LINCTL[4] = 1). 697 * |[31:24] |PID |LIN PID Bits 698 * | | |This field contains the LIN frame ID value when in LIN function mode, the frame ID parity can be generated by software or hardware depends on IDPEN (UART_LINCTL[9]) = 1. 699 * | | |If the parity generated by hardware, user fill ID0~ID5 (PID [29:24] ), hardware will calculate P0 (PID[30]) and P1 (PID[31]), otherwise user must filled frame ID and parity in this field. 700 * | | |Note1: User can fill any 8-bit value to this field and the bit 24 indicates ID0 (LSB first). 701 * | | |Note2: This field can be used for LIN master mode or slave mode. 702 * @var UART_T::LINSTS 703 * Offset: 0x38 UART LIN Status Register 704 * --------------------------------------------------------------------------------------------------- 705 * |Bits |Field |Descriptions 706 * | :----: | :----: | :---- | 707 * |[0] |SLVHDETF |LIN Slave Header Detection Flag 708 * | | |This bit is set by hardware when a LIN header is detected in LIN slave mode and be cleared by writing 1 to it. 709 * | | |0 = LIN header not detected. 710 * | | |1 = LIN header detected (break + sync + frame ID). 711 * | | |Note1: This bit can be cleared by writing 1 to it. 712 * | | |Note2: This bit is only valid when in LIN slave mode (SLVEN (UART_LINCTL [0]) = 1) and enable LIN slave header detection function (SLVHDEN (UART_LINCTL [1])). 713 * | | |Note3: When enable ID parity check IDPEN (UART_LINCTL [9]), if hardware detect complete header (break + sync + frame ID), the SLVHDETF will be set whether the frame ID correct or not. 714 * |[1] |SLVHEF |LIN Slave Header Error Flag 715 * | | |This bit is set by hardware when a LIN header error is detected in LIN slave mode and be cleared by writing 1 to it 716 * | | |The header errors include break delimiter is too short (less than 0.5 bit time), frame error in sync field or Identifier field, sync field data is not 0x55 in Non-Automatic Resynchronization mode, sync field deviation error with Automatic Resynchronization mode, sync field measure time-out with Automatic Resynchronization mode and LIN header reception time-out. 717 * | | |0 = LIN header error not detected. 718 * | | |1 = LIN header error detected. 719 * | | |Note1: This bit can be cleared by writing 1 to it. 720 * | | |Note2: This bit is only valid when UART is operated in LIN slave mode (SLVEN (UART_LINCTL [0]) = 1) and enables LIN slave header detection function (SLVHDEN (UART_LINCTL [1])). 721 * |[2] |SLVIDPEF |LIN Slave ID Parity Error Flag 722 * | | |This bit is set by hardware when receipted frame ID parity is not correct. 723 * | | |0 = No active. 724 * | | |1 = Receipted frame ID parity is not correct. 725 * | | |Note1: This bit can be cleared by writing 1 to it. 726 * | | |Note2: This bit is only valid when in LIN slave mode (SLVEN (UART_LINCTL [0]) = 1) and enable LIN frame ID parity check function IDPEN (UART_LINCTL [9]). 727 * |[3] |SLVSYNCF |LIN Slave Sync Field 728 * | | |This bit indicates that the LIN sync field is being analyzed in Automatic Resynchronization mode. 729 * | | |When the receiver header have some error been detect, user must reset the internal circuit to re-search new frame header by writing 1 to this bit. 730 * | | |0 = The current character is not at LIN sync state. 731 * | | |1 = The current character is at LIN sync state. 732 * | | |Note1: This bit is only valid when in LIN Slave mode (SLVEN(UART_LINCTL[0]) = 1). 733 * | | |Note2: This bit can be cleared by writing 1 to it. 734 * | | |Note3: When writing 1 to it, hardware will reload the initial baud rate and re-search a new frame header. 735 * |[8] |BRKDETF |LIN Break Detection Flag 736 * | | |This bit is set by hardware when a break is detected and be cleared by writing 1 to it through software. 737 * | | |0 = LIN break not detected. 738 * | | |1 = LIN break detected. 739 * | | |Note1: This bit can be cleared by writing 1 to it. 740 * | | |Note2: This bit is only valid when LIN break detection function is enabled (BRKDETEN (UART_LINCTL[10]) = 1). 741 * |[9] |BITEF |Bit Error Detect Status Flag 742 * | | |At TX transfer state, hardware will monitor the bus state, if the input pin (UART_RXD) state not equals to the output pin (UART_TXD) state, BITEF (UART_LINSTS[9]) will be set. 743 * | | |When occur bit error, if the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 744 * | | |0 = Bit error not detected. 745 * | | |1 = Bit error detected. 746 * | | |Note1: This bit can be cleared by writing 1 to it. 747 * | | |Note2: This bit is only valid when enable bit error detection function (BITERREN (UART_LINCTL [12]) = 1). 748 * @var UART_T::BRCOMP 749 * Offset: 0x3C UART Baud Rate Compensation Register 750 * --------------------------------------------------------------------------------------------------- 751 * |Bits |Field |Descriptions 752 * | :----: | :----: | :---- | 753 * |[8:0] |BRCOMP |Baud Rate Compensation Patten 754 * | | |These 9-bits are used to define the relative bit is compensated or not. 755 * | | |BRCOMP[7:0] is used to define the compensation of UART_DAT[7:0] and BRCOMP[8] is used to define the parity bit. 756 * |[31] |BRCOMPDEC |Baud Rate Compensation Decrease 757 * | | |0 = Positive (increase one module clock) compensation for each compensated bit. 758 * | | |1 = Negative (decrease one module clock) compensation for each compensated bit. 759 * @var UART_T::WKCTL 760 * Offset: 0x40 UART Wake-up Control Register 761 * --------------------------------------------------------------------------------------------------- 762 * |Bits |Field |Descriptions 763 * | :----: | :----: | :---- | 764 * |[0] |WKCTSEN |nCTS Wake-up Enable Bit 765 * | | |0 = nCTS Wake-up system function Disabled. 766 * | | |1 = nCTS Wake-up system function Enabled, when the system is in Power-down mode, an external. 767 * | | |nCTS change will wake-up system from Power-down mode. 768 * |[1] |WKDATEN |Incoming Data Wake-up Enable Bit 769 * | | |0 = Incoming data wake-up system function Disabled. 770 * | | |1 = Incoming data wake-up system function Enabled, when the system is in Power-down mode,. 771 * | | |incoming data will wake-up system from Power-down mode. 772 * |[2] |WKRFRTEN |Received Data FIFO Reached Threshold Wake-up Enable Bit 773 * | | |0 = Received Data FIFO reached threshold wake-up system function Disabled. 774 * | | |1 = Received Data FIFO reached threshold wake-up system function Enabled, when the system is. 775 * | | |in Power-down mode, Received Data FIFO reached threshold will wake-up system from 776 * | | |Power-down mode. 777 * |[3] |WKRS485EN |RS-485 Address Match (AAD Mode) Wake-up Enable Bit 778 * | | |0 = RS-485 Address Match (AAD mode) wake-up system function Disabled. 779 * | | |1 = RS-485 Address Match (AAD mode) wake-up system function Enabled, when the system is in Power-down mode, RS-485 Address Match will wake-up system from Power-down mode. 780 * | | |Note: This bit is used for RS-485 Auto Address Detection (AAD) mode in RS-485 function mode and ADDRDEN (UART_ALTCTL[15]) is set to 1. 781 * |[4] |WKTOUTEN |Received Data FIFO Reached Threshold Time-out Wake-up Enable Bit 782 * | | |0 = Received Data FIFO reached threshold time-out wake-up system function Disabled. 783 * | | |1 = Received Data FIFO reached threshold time-out wake-up system function Enabled, when the system is in Power-down mode, Received Data FIFO reached threshold time-out will wake-up system from Power-down mode. 784 * | | |Note: It is suggest the function is enabled when the WKRFRTEN (UART_WKCTL[2]) is set to 1. 785 * @var UART_T::WKSTS 786 * Offset: 0x44 UART Wake-up Status Register 787 * --------------------------------------------------------------------------------------------------- 788 * |Bits |Field |Descriptions 789 * | :----: | :----: | :---- | 790 * |[0] |CTSWKF |nCTS Wake-up Flag 791 * | | |This bit is set if chip wake-up from power-down state by nCTS wake-up. 792 * | | |0 = Chip stays in power-down state. 793 * | | |1 = Chip wake-up from power-down state by nCTS wake-up. 794 * | | |Note1: If WKCTSEN (UART_WKCTL[0]) is enabled, the nCTS wake-up cause this bit is set to 1. 795 * | | |Note2: This bit can be cleared by writing 1 to it. 796 * |[1] |DATWKF |Incoming Data Wake-up Flag 797 * | | |This bit is set if chip wake-up from power-down state by data wake-up. 798 * | | |0 = Chip stays in power-down state. 799 * | | |1 = Chip wake-up from power-down state by Incoming Data wake-up. 800 * | | |Note1: If WKDATEN (UART_WKCTL[1]) is enabled, the Incoming Data wake-up cause this bit is set to 1. 801 * | | |Note2: This bit can be cleared by writing 1 to it. 802 * |[2] |RFRTWKF |Received Data FIFO Reached Threshold Wake-up Flag 803 * | | |This bit is set if chip wake-up from power-down state by Received Data FIFO reached threshold wake-up. 804 * | | |0 = Chip stays in power-down state. 805 * | | |1 = Chip wake-up from power-down state by Received Data FIFO Reached Threshold wake-up. 806 * | | |Note1: If WKRFRTEN (UART_WKCTL[2]) is enabled, the Received Data FIFO Reached Threshold wake-up cause this bit is set to 1. 807 * | | |Note2: This bit can be cleared by writing 1 to it. 808 * |[3] |RS485WKF |RS-485 Address Match (AAD Mode) Wake-up Flag 809 * | | |This bit is set if chip wake-up from power-down state by RS-485 Address Match (AAD mode). 810 * | | |0 = Chip stays in power-down state. 811 * | | |1 = Chip wake-up from power-down state by RS-485 Address Match (AAD mode) wake-up. 812 * | | |Note1: If WKRS485EN (UART_WKCTL[3]) is enabled, the RS-485 Address Match (AAD mode) wake-up cause this bit is set to 1. 813 * | | |Note2: This bit can be cleared by writing 1 to it. 814 * |[4] |TOUTWKF |Received Data FIFO Threshold Time-out Wake-up Flag 815 * | | |This bit is set if chip wake-up from power-down state by Received Data FIFO Threshold Time-out wake-up. 816 * | | |0 = Chip stays in power-down state. 817 * | | |1 = Chip wake-up from power-down state by Received Data FIFO reached threshold time-out wake-up. 818 * | | |Note1: If WKTOUTEN (UART_WKCTL[4]) is enabled, the Received Data FIFO reached threshold time-out wake-up cause this bit is set to 1. 819 * | | |Note2: This bit can be cleared by writing 1 to it. 820 * @var UART_T::DWKCOMP 821 * Offset: 0x48 UART Incoming Data Wake-up Compensation Register 822 * --------------------------------------------------------------------------------------------------- 823 * |Bits |Field |Descriptions 824 * | :----: | :----: | :---- | 825 * |[15:0] |STCOMP |Start Bit Compensation Value 826 * | | |These bits field indicate how many clock cycle selected by UART_CLK do the UART controller can get the 1st bit (start bit) when the device is wake-up from power-down mode. 827 * | | |Note: It is valid only when WKDATEN (UART_WKCTL[1]) is set. 828 */ 829 830 831 __IO uint32_t DAT; /*!< [0x0000] UART Receive/Transmit Buffer Register */ 832 __IO uint32_t INTEN; /*!< [0x0004] UART Interrupt Enable Register */ 833 __IO uint32_t FIFO; /*!< [0x0008] UART FIFO Control Register */ 834 __IO uint32_t LINE; /*!< [0x000c] UART Line Control Register */ 835 __IO uint32_t MODEM; /*!< [0x0010] UART Modem Control Register */ 836 __IO uint32_t MODEMSTS; /*!< [0x0014] UART Modem Status Register */ 837 __IO uint32_t FIFOSTS; /*!< [0x0018] UART FIFO Status Register */ 838 __IO uint32_t INTSTS; /*!< [0x001c] UART Interrupt Status Register */ 839 __IO uint32_t TOUT; /*!< [0x0020] UART Time-out Register */ 840 __IO uint32_t BAUD; /*!< [0x0024] UART Baud Rate Divider Register */ 841 __IO uint32_t IRDA; /*!< [0x0028] UART IrDA Control Register */ 842 __IO uint32_t ALTCTL; /*!< [0x002c] UART Alternate Control/Status Register */ 843 __IO uint32_t FUNCSEL; /*!< [0x0030] UART Function Select Register */ 844 __IO uint32_t LINCTL; /*!< [0x0034] UART LIN Control Register */ 845 __IO uint32_t LINSTS; /*!< [0x0038] UART LIN Status Register */ 846 __IO uint32_t BRCOMP; /*!< [0x003c] UART Baud Rate Compensation Register */ 847 __IO uint32_t WKCTL; /*!< [0x0040] UART Wake-up Control Register */ 848 __IO uint32_t WKSTS; /*!< [0x0044] UART Wake-up Status Register */ 849 __IO uint32_t DWKCOMP; /*!< [0x0048] UART Incoming Data Wake-up Compensation Register */ 850 851 852 } UART_T; 853 854 /** 855 @addtogroup UART_CONST UART Bit Field Definition 856 Constant Definitions for UART Controller 857 @{ 858 */ 859 860 #define UART_DAT_DAT_Pos (0) /*!< UART_T::DAT: DAT Position */ 861 #define UART_DAT_DAT_Msk (0xfful << UART_DAT_DAT_Pos) /*!< UART_T::DAT: DAT Mask */ 862 863 #define UART_DAT_PARITY_Pos (8) /*!< UART_T::DAT: PARITY Position */ 864 #define UART_DAT_PARITY_Msk (0x1ul << UART_DAT_PARITY_Pos) /*!< UART_T::DAT: PARITY Mask */ 865 866 #define UART_INTEN_RDAIEN_Pos (0) /*!< UART_T::INTEN: RDAIEN Position */ 867 #define UART_INTEN_RDAIEN_Msk (0x1ul << UART_INTEN_RDAIEN_Pos) /*!< UART_T::INTEN: RDAIEN Mask */ 868 869 #define UART_INTEN_THREIEN_Pos (1) /*!< UART_T::INTEN: THREIEN Position */ 870 #define UART_INTEN_THREIEN_Msk (0x1ul << UART_INTEN_THREIEN_Pos) /*!< UART_T::INTEN: THREIEN Mask */ 871 872 #define UART_INTEN_RLSIEN_Pos (2) /*!< UART_T::INTEN: RLSIEN Position */ 873 #define UART_INTEN_RLSIEN_Msk (0x1ul << UART_INTEN_RLSIEN_Pos) /*!< UART_T::INTEN: RLSIEN Mask */ 874 875 #define UART_INTEN_MODEMIEN_Pos (3) /*!< UART_T::INTEN: MODEMIEN Position */ 876 #define UART_INTEN_MODEMIEN_Msk (0x1ul << UART_INTEN_MODEMIEN_Pos) /*!< UART_T::INTEN: MODEMIEN Mask */ 877 878 #define UART_INTEN_RXTOIEN_Pos (4) /*!< UART_T::INTEN: RXTOIEN Position */ 879 #define UART_INTEN_RXTOIEN_Msk (0x1ul << UART_INTEN_RXTOIEN_Pos) /*!< UART_T::INTEN: RXTOIEN Mask */ 880 881 #define UART_INTEN_BUFERRIEN_Pos (5) /*!< UART_T::INTEN: BUFERRIEN Position */ 882 #define UART_INTEN_BUFERRIEN_Msk (0x1ul << UART_INTEN_BUFERRIEN_Pos) /*!< UART_T::INTEN: BUFERRIEN Mask */ 883 884 #define UART_INTEN_WKIEN_Pos (6) /*!< UART_T::INTEN: WKIEN Position */ 885 #define UART_INTEN_WKIEN_Msk (0x1ul << UART_INTEN_WKIEN_Pos) /*!< UART_T::INTEN: WKIEN Mask */ 886 887 #define UART_INTEN_LINIEN_Pos (8) /*!< UART_T::INTEN: LINIEN Position */ 888 #define UART_INTEN_LINIEN_Msk (0x1ul << UART_INTEN_LINIEN_Pos) /*!< UART_T::INTEN: LINIEN Mask */ 889 890 #define UART_INTEN_TOCNTEN_Pos (11) /*!< UART_T::INTEN: TOCNTEN Position */ 891 #define UART_INTEN_TOCNTEN_Msk (0x1ul << UART_INTEN_TOCNTEN_Pos) /*!< UART_T::INTEN: TOCNTEN Mask */ 892 893 #define UART_INTEN_ATORTSEN_Pos (12) /*!< UART_T::INTEN: ATORTSEN Position */ 894 #define UART_INTEN_ATORTSEN_Msk (0x1ul << UART_INTEN_ATORTSEN_Pos) /*!< UART_T::INTEN: ATORTSEN Mask */ 895 896 #define UART_INTEN_ATOCTSEN_Pos (13) /*!< UART_T::INTEN: ATOCTSEN Position */ 897 #define UART_INTEN_ATOCTSEN_Msk (0x1ul << UART_INTEN_ATOCTSEN_Pos) /*!< UART_T::INTEN: ATOCTSEN Mask */ 898 899 #define UART_INTEN_TXPDMAEN_Pos (14) /*!< UART_T::INTEN: TXPDMAEN Position */ 900 #define UART_INTEN_TXPDMAEN_Msk (0x1ul << UART_INTEN_TXPDMAEN_Pos) /*!< UART_T::INTEN: TXPDMAEN Mask */ 901 902 #define UART_INTEN_RXPDMAEN_Pos (15) /*!< UART_T::INTEN: RXPDMAEN Position */ 903 #define UART_INTEN_RXPDMAEN_Msk (0x1ul << UART_INTEN_RXPDMAEN_Pos) /*!< UART_T::INTEN: RXPDMAEN Mask */ 904 905 #define UART_INTEN_SWBEIEN_Pos (16) /*!< UART_T::INTEN: SWBEIEN Position */ 906 #define UART_INTEN_SWBEIEN_Msk (0x1ul << UART_INTEN_SWBEIEN_Pos) /*!< UART_T::INTEN: SWBEIEN Mask */ 907 908 #define UART_INTEN_ABRIEN_Pos (18) /*!< UART_T::INTEN: ABRIEN Position */ 909 #define UART_INTEN_ABRIEN_Msk (0x1ul << UART_INTEN_ABRIEN_Pos) /*!< UART_T::INTEN: ABRIEN Mask */ 910 911 #define UART_INTEN_TXENDIEN_Pos (22) /*!< UART_T::INTEN: TXENDIEN Position */ 912 #define UART_INTEN_TXENDIEN_Msk (0x1ul << UART_INTEN_TXENDIEN_Pos) /*!< UART_T::INTEN: TXENDIEN Mask */ 913 914 #define UART_FIFO_RXRST_Pos (1) /*!< UART_T::FIFO: RXRST Position */ 915 #define UART_FIFO_RXRST_Msk (0x1ul << UART_FIFO_RXRST_Pos) /*!< UART_T::FIFO: RXRST Mask */ 916 917 #define UART_FIFO_TXRST_Pos (2) /*!< UART_T::FIFO: TXRST Position */ 918 #define UART_FIFO_TXRST_Msk (0x1ul << UART_FIFO_TXRST_Pos) /*!< UART_T::FIFO: TXRST Mask */ 919 920 #define UART_FIFO_RFITL_Pos (4) /*!< UART_T::FIFO: RFITL Position */ 921 #define UART_FIFO_RFITL_Msk (0xful << UART_FIFO_RFITL_Pos) /*!< UART_T::FIFO: RFITL Mask */ 922 923 #define UART_FIFO_RXOFF_Pos (8) /*!< UART_T::FIFO: RXOFF Position */ 924 #define UART_FIFO_RXOFF_Msk (0x1ul << UART_FIFO_RXOFF_Pos) /*!< UART_T::FIFO: RXOFF Mask */ 925 926 #define UART_FIFO_RTSTRGLV_Pos (16) /*!< UART_T::FIFO: RTSTRGLV Position */ 927 #define UART_FIFO_RTSTRGLV_Msk (0xful << UART_FIFO_RTSTRGLV_Pos) /*!< UART_T::FIFO: RTSTRGLV Mask */ 928 929 #define UART_LINE_WLS_Pos (0) /*!< UART_T::LINE: WLS Position */ 930 #define UART_LINE_WLS_Msk (0x3ul << UART_LINE_WLS_Pos) /*!< UART_T::LINE: WLS Mask */ 931 932 #define UART_LINE_NSB_Pos (2) /*!< UART_T::LINE: NSB Position */ 933 #define UART_LINE_NSB_Msk (0x1ul << UART_LINE_NSB_Pos) /*!< UART_T::LINE: NSB Mask */ 934 935 #define UART_LINE_PBE_Pos (3) /*!< UART_T::LINE: PBE Position */ 936 #define UART_LINE_PBE_Msk (0x1ul << UART_LINE_PBE_Pos) /*!< UART_T::LINE: PBE Mask */ 937 938 #define UART_LINE_EPE_Pos (4) /*!< UART_T::LINE: EPE Position */ 939 #define UART_LINE_EPE_Msk (0x1ul << UART_LINE_EPE_Pos) /*!< UART_T::LINE: EPE Mask */ 940 941 #define UART_LINE_SPE_Pos (5) /*!< UART_T::LINE: SPE Position */ 942 #define UART_LINE_SPE_Msk (0x1ul << UART_LINE_SPE_Pos) /*!< UART_T::LINE: SPE Mask */ 943 944 #define UART_LINE_BCB_Pos (6) /*!< UART_T::LINE: BCB Position */ 945 #define UART_LINE_BCB_Msk (0x1ul << UART_LINE_BCB_Pos) /*!< UART_T::LINE: BCB Mask */ 946 947 #define UART_LINE_PSS_Pos (7) /*!< UART_T::LINE: PSS Position */ 948 #define UART_LINE_PSS_Msk (0x1ul << UART_LINE_PSS_Pos) /*!< UART_T::LINE: PSS Mask */ 949 950 #define UART_LINE_TXDINV_Pos (8) /*!< UART_T::LINE: TXDINV Position */ 951 #define UART_LINE_TXDINV_Msk (0x1ul << UART_LINE_TXDINV_Pos) /*!< UART_T::LINE: TXDINV Mask */ 952 953 #define UART_LINE_RXDINV_Pos (9) /*!< UART_T::LINE: RXDINV Position */ 954 #define UART_LINE_RXDINV_Msk (0x1ul << UART_LINE_RXDINV_Pos) /*!< UART_T::LINE: RXDINV Mask */ 955 956 #define UART_MODEM_RTS_Pos (1) /*!< UART_T::MODEM: RTS Position */ 957 #define UART_MODEM_RTS_Msk (0x1ul << UART_MODEM_RTS_Pos) /*!< UART_T::MODEM: RTS Mask */ 958 959 #define UART_MODEM_RTSACTLV_Pos (9) /*!< UART_T::MODEM: RTSACTLV Position */ 960 #define UART_MODEM_RTSACTLV_Msk (0x1ul << UART_MODEM_RTSACTLV_Pos) /*!< UART_T::MODEM: RTSACTLV Mask */ 961 962 #define UART_MODEM_RTSSTS_Pos (13) /*!< UART_T::MODEM: RTSSTS Position */ 963 #define UART_MODEM_RTSSTS_Msk (0x1ul << UART_MODEM_RTSSTS_Pos) /*!< UART_T::MODEM: RTSSTS Mask */ 964 965 #define UART_MODEMSTS_CTSDETF_Pos (0) /*!< UART_T::MODEMSTS: CTSDETF Position */ 966 #define UART_MODEMSTS_CTSDETF_Msk (0x1ul << UART_MODEMSTS_CTSDETF_Pos) /*!< UART_T::MODEMSTS: CTSDETF Mask */ 967 968 #define UART_MODEMSTS_CTSSTS_Pos (4) /*!< UART_T::MODEMSTS: CTSSTS Position */ 969 #define UART_MODEMSTS_CTSSTS_Msk (0x1ul << UART_MODEMSTS_CTSSTS_Pos) /*!< UART_T::MODEMSTS: CTSSTS Mask */ 970 971 #define UART_MODEMSTS_CTSACTLV_Pos (8) /*!< UART_T::MODEMSTS: CTSACTLV Position */ 972 #define UART_MODEMSTS_CTSACTLV_Msk (0x1ul << UART_MODEMSTS_CTSACTLV_Pos) /*!< UART_T::MODEMSTS: CTSACTLV Mask */ 973 974 #define UART_FIFOSTS_RXOVIF_Pos (0) /*!< UART_T::FIFOSTS: RXOVIF Position */ 975 #define UART_FIFOSTS_RXOVIF_Msk (0x1ul << UART_FIFOSTS_RXOVIF_Pos) /*!< UART_T::FIFOSTS: RXOVIF Mask */ 976 977 #define UART_FIFOSTS_ABRDIF_Pos (1) /*!< UART_T::FIFOSTS: ABRDIF Position */ 978 #define UART_FIFOSTS_ABRDIF_Msk (0x1ul << UART_FIFOSTS_ABRDIF_Pos) /*!< UART_T::FIFOSTS: ABRDIF Mask */ 979 980 #define UART_FIFOSTS_ABRDTOIF_Pos (2) /*!< UART_T::FIFOSTS: ABRDTOIF Position */ 981 #define UART_FIFOSTS_ABRDTOIF_Msk (0x1ul << UART_FIFOSTS_ABRDTOIF_Pos) /*!< UART_T::FIFOSTS: ABRDTOIF Mask */ 982 983 #define UART_FIFOSTS_ADDRDETF_Pos (3) /*!< UART_T::FIFOSTS: ADDRDETF Position */ 984 #define UART_FIFOSTS_ADDRDETF_Msk (0x1ul << UART_FIFOSTS_ADDRDETF_Pos) /*!< UART_T::FIFOSTS: ADDRDETF Mask */ 985 986 #define UART_FIFOSTS_PEF_Pos (4) /*!< UART_T::FIFOSTS: PEF Position */ 987 #define UART_FIFOSTS_PEF_Msk (0x1ul << UART_FIFOSTS_PEF_Pos) /*!< UART_T::FIFOSTS: PEF Mask */ 988 989 #define UART_FIFOSTS_FEF_Pos (5) /*!< UART_T::FIFOSTS: FEF Position */ 990 #define UART_FIFOSTS_FEF_Msk (0x1ul << UART_FIFOSTS_FEF_Pos) /*!< UART_T::FIFOSTS: FEF Mask */ 991 992 #define UART_FIFOSTS_BIF_Pos (6) /*!< UART_T::FIFOSTS: BIF Position */ 993 #define UART_FIFOSTS_BIF_Msk (0x1ul << UART_FIFOSTS_BIF_Pos) /*!< UART_T::FIFOSTS: BIF Mask */ 994 995 #define UART_FIFOSTS_RXPTR_Pos (8) /*!< UART_T::FIFOSTS: RXPTR Position */ 996 #define UART_FIFOSTS_RXPTR_Msk (0x3ful << UART_FIFOSTS_RXPTR_Pos) /*!< UART_T::FIFOSTS: RXPTR Mask */ 997 998 #define UART_FIFOSTS_RXEMPTY_Pos (14) /*!< UART_T::FIFOSTS: RXEMPTY Position */ 999 #define UART_FIFOSTS_RXEMPTY_Msk (0x1ul << UART_FIFOSTS_RXEMPTY_Pos) /*!< UART_T::FIFOSTS: RXEMPTY Mask */ 1000 1001 #define UART_FIFOSTS_RXFULL_Pos (15) /*!< UART_T::FIFOSTS: RXFULL Position */ 1002 #define UART_FIFOSTS_RXFULL_Msk (0x1ul << UART_FIFOSTS_RXFULL_Pos) /*!< UART_T::FIFOSTS: RXFULL Mask */ 1003 1004 #define UART_FIFOSTS_TXPTR_Pos (16) /*!< UART_T::FIFOSTS: TXPTR Position */ 1005 #define UART_FIFOSTS_TXPTR_Msk (0x3ful << UART_FIFOSTS_TXPTR_Pos) /*!< UART_T::FIFOSTS: TXPTR Mask */ 1006 1007 #define UART_FIFOSTS_TXEMPTY_Pos (22) /*!< UART_T::FIFOSTS: TXEMPTY Position */ 1008 #define UART_FIFOSTS_TXEMPTY_Msk (0x1ul << UART_FIFOSTS_TXEMPTY_Pos) /*!< UART_T::FIFOSTS: TXEMPTY Mask */ 1009 1010 #define UART_FIFOSTS_TXFULL_Pos (23) /*!< UART_T::FIFOSTS: TXFULL Position */ 1011 #define UART_FIFOSTS_TXFULL_Msk (0x1ul << UART_FIFOSTS_TXFULL_Pos) /*!< UART_T::FIFOSTS: TXFULL Mask */ 1012 1013 #define UART_FIFOSTS_TXOVIF_Pos (24) /*!< UART_T::FIFOSTS: TXOVIF Position */ 1014 #define UART_FIFOSTS_TXOVIF_Msk (0x1ul << UART_FIFOSTS_TXOVIF_Pos) /*!< UART_T::FIFOSTS: TXOVIF Mask */ 1015 1016 #define UART_FIFOSTS_TXEMPTYF_Pos (28) /*!< UART_T::FIFOSTS: TXEMPTYF Position */ 1017 #define UART_FIFOSTS_TXEMPTYF_Msk (0x1ul << UART_FIFOSTS_TXEMPTYF_Pos) /*!< UART_T::FIFOSTS: TXEMPTYF Mask */ 1018 1019 #define UART_FIFOSTS_RXIDLE_Pos (29) /*!< UART_T::FIFOSTS: RXIDLE Position */ 1020 #define UART_FIFOSTS_RXIDLE_Msk (0x1ul << UART_FIFOSTS_RXIDLE_Pos) /*!< UART_T::FIFOSTS: RXIDLE Mask */ 1021 1022 #define UART_FIFOSTS_TXRXACT_Pos (31) /*!< UART_T::FIFOSTS: TXRXACT Position */ 1023 #define UART_FIFOSTS_TXRXACT_Msk (0x1ul << UART_FIFOSTS_TXRXACT_Pos) /*!< UART_T::FIFOSTS: TXRXACT Mask */ 1024 1025 #define UART_INTSTS_RDAIF_Pos (0) /*!< UART_T::INTSTS: RDAIF Position */ 1026 #define UART_INTSTS_RDAIF_Msk (0x1ul << UART_INTSTS_RDAIF_Pos) /*!< UART_T::INTSTS: RDAIF Mask */ 1027 1028 #define UART_INTSTS_THREIF_Pos (1) /*!< UART_T::INTSTS: THREIF Position */ 1029 #define UART_INTSTS_THREIF_Msk (0x1ul << UART_INTSTS_THREIF_Pos) /*!< UART_T::INTSTS: THREIF Mask */ 1030 1031 #define UART_INTSTS_RLSIF_Pos (2) /*!< UART_T::INTSTS: RLSIF Position */ 1032 #define UART_INTSTS_RLSIF_Msk (0x1ul << UART_INTSTS_RLSIF_Pos) /*!< UART_T::INTSTS: RLSIF Mask */ 1033 1034 #define UART_INTSTS_MODEMIF_Pos (3) /*!< UART_T::INTSTS: MODEMIF Position */ 1035 #define UART_INTSTS_MODEMIF_Msk (0x1ul << UART_INTSTS_MODEMIF_Pos) /*!< UART_T::INTSTS: MODEMIF Mask */ 1036 1037 #define UART_INTSTS_RXTOIF_Pos (4) /*!< UART_T::INTSTS: RXTOIF Position */ 1038 #define UART_INTSTS_RXTOIF_Msk (0x1ul << UART_INTSTS_RXTOIF_Pos) /*!< UART_T::INTSTS: RXTOIF Mask */ 1039 1040 #define UART_INTSTS_BUFERRIF_Pos (5) /*!< UART_T::INTSTS: BUFERRIF Position */ 1041 #define UART_INTSTS_BUFERRIF_Msk (0x1ul << UART_INTSTS_BUFERRIF_Pos) /*!< UART_T::INTSTS: BUFERRIF Mask */ 1042 1043 #define UART_INTSTS_WKIF_Pos (6) /*!< UART_T::INTSTS: WKIF Position */ 1044 #define UART_INTSTS_WKIF_Msk (0x1ul << UART_INTSTS_WKIF_Pos) /*!< UART_T::INTSTS: WKIF Mask */ 1045 1046 #define UART_INTSTS_LINIF_Pos (7) /*!< UART_T::INTSTS: LINIF Position */ 1047 #define UART_INTSTS_LINIF_Msk (0x1ul << UART_INTSTS_LINIF_Pos) /*!< UART_T::INTSTS: LINIF Mask */ 1048 1049 #define UART_INTSTS_RDAINT_Pos (8) /*!< UART_T::INTSTS: RDAINT Position */ 1050 #define UART_INTSTS_RDAINT_Msk (0x1ul << UART_INTSTS_RDAINT_Pos) /*!< UART_T::INTSTS: RDAINT Mask */ 1051 1052 #define UART_INTSTS_THREINT_Pos (9) /*!< UART_T::INTSTS: THREINT Position */ 1053 #define UART_INTSTS_THREINT_Msk (0x1ul << UART_INTSTS_THREINT_Pos) /*!< UART_T::INTSTS: THREINT Mask */ 1054 1055 #define UART_INTSTS_RLSINT_Pos (10) /*!< UART_T::INTSTS: RLSINT Position */ 1056 #define UART_INTSTS_RLSINT_Msk (0x1ul << UART_INTSTS_RLSINT_Pos) /*!< UART_T::INTSTS: RLSINT Mask */ 1057 1058 #define UART_INTSTS_MODEMINT_Pos (11) /*!< UART_T::INTSTS: MODEMINT Position */ 1059 #define UART_INTSTS_MODEMINT_Msk (0x1ul << UART_INTSTS_MODEMINT_Pos) /*!< UART_T::INTSTS: MODEMINT Mask */ 1060 1061 #define UART_INTSTS_RXTOINT_Pos (12) /*!< UART_T::INTSTS: RXTOINT Position */ 1062 #define UART_INTSTS_RXTOINT_Msk (0x1ul << UART_INTSTS_RXTOINT_Pos) /*!< UART_T::INTSTS: RXTOINT Mask */ 1063 1064 #define UART_INTSTS_BUFERRINT_Pos (13) /*!< UART_T::INTSTS: BUFERRINT Position */ 1065 #define UART_INTSTS_BUFERRINT_Msk (0x1ul << UART_INTSTS_BUFERRINT_Pos) /*!< UART_T::INTSTS: BUFERRINT Mask */ 1066 1067 #define UART_INTSTS_WKINT_Pos (14) /*!< UART_T::INTSTS: WKINT Position */ 1068 #define UART_INTSTS_WKINT_Msk (0x1ul << UART_INTSTS_WKINT_Pos) /*!< UART_T::INTSTS: WKINT Mask */ 1069 1070 #define UART_INTSTS_LININT_Pos (15) /*!< UART_T::INTSTS: LININT Position */ 1071 #define UART_INTSTS_LININT_Msk (0x1ul << UART_INTSTS_LININT_Pos) /*!< UART_T::INTSTS: LININT Mask */ 1072 1073 #define UART_INTSTS_SWBEIF_Pos (16) /*!< UART_T::INTSTS: SWBEIF Position */ 1074 #define UART_INTSTS_SWBEIF_Msk (0x1ul << UART_INTSTS_SWBEIF_Pos) /*!< UART_T::INTSTS: SWBEIF Mask */ 1075 1076 #define UART_INTSTS_HWRLSIF_Pos (18) /*!< UART_T::INTSTS: HWRLSIF Position */ 1077 #define UART_INTSTS_HWRLSIF_Msk (0x1ul << UART_INTSTS_HWRLSIF_Pos) /*!< UART_T::INTSTS: HWRLSIF Mask */ 1078 1079 #define UART_INTSTS_HWMODIF_Pos (19) /*!< UART_T::INTSTS: HWMODIF Position */ 1080 #define UART_INTSTS_HWMODIF_Msk (0x1ul << UART_INTSTS_HWMODIF_Pos) /*!< UART_T::INTSTS: HWMODIF Mask */ 1081 1082 #define UART_INTSTS_HWTOIF_Pos (20) /*!< UART_T::INTSTS: HWTOIF Position */ 1083 #define UART_INTSTS_HWTOIF_Msk (0x1ul << UART_INTSTS_HWTOIF_Pos) /*!< UART_T::INTSTS: HWTOIF Mask */ 1084 1085 #define UART_INTSTS_HWBUFEIF_Pos (21) /*!< UART_T::INTSTS: HWBUFEIF Position */ 1086 #define UART_INTSTS_HWBUFEIF_Msk (0x1ul << UART_INTSTS_HWBUFEIF_Pos) /*!< UART_T::INTSTS: HWBUFEIF Mask */ 1087 1088 #define UART_INTSTS_TXENDIF_Pos (22) /*!< UART_T::INTSTS: TXENDIF Position */ 1089 #define UART_INTSTS_TXENDIF_Msk (0x1ul << UART_INTSTS_TXENDIF_Pos) /*!< UART_T::INTSTS: TXENDIF Mask */ 1090 1091 #define UART_INTSTS_SWBEINT_Pos (24) /*!< UART_T::INTSTS: SWBEINT Position */ 1092 #define UART_INTSTS_SWBEINT_Msk (0x1ul << UART_INTSTS_SWBEINT_Pos) /*!< UART_T::INTSTS: SWBEINT Mask */ 1093 1094 #define UART_INTSTS_HWRLSINT_Pos (26) /*!< UART_T::INTSTS: HWRLSINT Position */ 1095 #define UART_INTSTS_HWRLSINT_Msk (0x1ul << UART_INTSTS_HWRLSINT_Pos) /*!< UART_T::INTSTS: HWRLSINT Mask */ 1096 1097 #define UART_INTSTS_HWMODINT_Pos (27) /*!< UART_T::INTSTS: HWMODINT Position */ 1098 #define UART_INTSTS_HWMODINT_Msk (0x1ul << UART_INTSTS_HWMODINT_Pos) /*!< UART_T::INTSTS: HWMODINT Mask */ 1099 1100 #define UART_INTSTS_HWTOINT_Pos (28) /*!< UART_T::INTSTS: HWTOINT Position */ 1101 #define UART_INTSTS_HWTOINT_Msk (0x1ul << UART_INTSTS_HWTOINT_Pos) /*!< UART_T::INTSTS: HWTOINT Mask */ 1102 1103 #define UART_INTSTS_HWBUFEINT_Pos (29) /*!< UART_T::INTSTS: HWBUFEINT Position */ 1104 #define UART_INTSTS_HWBUFEINT_Msk (0x1ul << UART_INTSTS_HWBUFEINT_Pos) /*!< UART_T::INTSTS: HWBUFEINT Mask */ 1105 1106 #define UART_INTSTS_TXENDINT_Pos (30) /*!< UART_T::INTSTS: TXENDINT Position */ 1107 #define UART_INTSTS_TXENDINT_Msk (0x1ul << UART_INTSTS_TXENDINT_Pos) /*!< UART_T::INTSTS: TXENDINT Mask */ 1108 1109 #define UART_INTSTS_ABRINT_Pos (31) /*!< UART_T::INTSTS: ABRINT Position */ 1110 #define UART_INTSTS_ABRINT_Msk (0x1ul << UART_INTSTS_ABRINT_Pos) /*!< UART_T::INTSTS: ABRINT Mask */ 1111 1112 #define UART_TOUT_TOIC_Pos (0) /*!< UART_T::TOUT: TOIC Position */ 1113 #define UART_TOUT_TOIC_Msk (0xfful << UART_TOUT_TOIC_Pos) /*!< UART_T::TOUT: TOIC Mask */ 1114 1115 #define UART_TOUT_DLY_Pos (8) /*!< UART_T::TOUT: DLY Position */ 1116 #define UART_TOUT_DLY_Msk (0xfful << UART_TOUT_DLY_Pos) /*!< UART_T::TOUT: DLY Mask */ 1117 1118 #define UART_BAUD_BRD_Pos (0) /*!< UART_T::BAUD: BRD Position */ 1119 #define UART_BAUD_BRD_Msk (0xfffful << UART_BAUD_BRD_Pos) /*!< UART_T::BAUD: BRD Mask */ 1120 1121 #define UART_BAUD_EDIVM1_Pos (24) /*!< UART_T::BAUD: EDIVM1 Position */ 1122 #define UART_BAUD_EDIVM1_Msk (0xful << UART_BAUD_EDIVM1_Pos) /*!< UART_T::BAUD: EDIVM1 Mask */ 1123 1124 #define UART_BAUD_BAUDM0_Pos (28) /*!< UART_T::BAUD: BAUDM0 Position */ 1125 #define UART_BAUD_BAUDM0_Msk (0x1ul << UART_BAUD_BAUDM0_Pos) /*!< UART_T::BAUD: BAUDM0 Mask */ 1126 1127 #define UART_BAUD_BAUDM1_Pos (29) /*!< UART_T::BAUD: BAUDM1 Position */ 1128 #define UART_BAUD_BAUDM1_Msk (0x1ul << UART_BAUD_BAUDM1_Pos) /*!< UART_T::BAUD: BAUDM1 Mask */ 1129 1130 #define UART_IRDA_TXEN_Pos (1) /*!< UART_T::IRDA: TXEN Position */ 1131 #define UART_IRDA_TXEN_Msk (0x1ul << UART_IRDA_TXEN_Pos) /*!< UART_T::IRDA: TXEN Mask */ 1132 1133 #define UART_IRDA_TXINV_Pos (5) /*!< UART_T::IRDA: TXINV Position */ 1134 #define UART_IRDA_TXINV_Msk (0x1ul << UART_IRDA_TXINV_Pos) /*!< UART_T::IRDA: TXINV Mask */ 1135 1136 #define UART_IRDA_RXINV_Pos (6) /*!< UART_T::IRDA: RXINV Position */ 1137 #define UART_IRDA_RXINV_Msk (0x1ul << UART_IRDA_RXINV_Pos) /*!< UART_T::IRDA: RXINV Mask */ 1138 1139 #define UART_ALTCTL_BRKFL_Pos (0) /*!< UART_T::ALTCTL: BRKFL Position */ 1140 #define UART_ALTCTL_BRKFL_Msk (0xful << UART_ALTCTL_BRKFL_Pos) /*!< UART_T::ALTCTL: BRKFL Mask */ 1141 1142 #define UART_ALTCTL_LINRXEN_Pos (6) /*!< UART_T::ALTCTL: LINRXEN Position */ 1143 #define UART_ALTCTL_LINRXEN_Msk (0x1ul << UART_ALTCTL_LINRXEN_Pos) /*!< UART_T::ALTCTL: LINRXEN Mask */ 1144 1145 #define UART_ALTCTL_LINTXEN_Pos (7) /*!< UART_T::ALTCTL: LINTXEN Position */ 1146 #define UART_ALTCTL_LINTXEN_Msk (0x1ul << UART_ALTCTL_LINTXEN_Pos) /*!< UART_T::ALTCTL: LINTXEN Mask */ 1147 1148 #define UART_ALTCTL_RS485NMM_Pos (8) /*!< UART_T::ALTCTL: RS485NMM Position */ 1149 #define UART_ALTCTL_RS485NMM_Msk (0x1ul << UART_ALTCTL_RS485NMM_Pos) /*!< UART_T::ALTCTL: RS485NMM Mask */ 1150 1151 #define UART_ALTCTL_RS485AAD_Pos (9) /*!< UART_T::ALTCTL: RS485AAD Position */ 1152 #define UART_ALTCTL_RS485AAD_Msk (0x1ul << UART_ALTCTL_RS485AAD_Pos) /*!< UART_T::ALTCTL: RS485AAD Mask */ 1153 1154 #define UART_ALTCTL_RS485AUD_Pos (10) /*!< UART_T::ALTCTL: RS485AUD Position */ 1155 #define UART_ALTCTL_RS485AUD_Msk (0x1ul << UART_ALTCTL_RS485AUD_Pos) /*!< UART_T::ALTCTL: RS485AUD Mask */ 1156 1157 #define UART_ALTCTL_ADDRDEN_Pos (15) /*!< UART_T::ALTCTL: ADDRDEN Position */ 1158 #define UART_ALTCTL_ADDRDEN_Msk (0x1ul << UART_ALTCTL_ADDRDEN_Pos) /*!< UART_T::ALTCTL: ADDRDEN Mask */ 1159 1160 #define UART_ALTCTL_ABRIF_Pos (17) /*!< UART_T::ALTCTL: ABRIF Position */ 1161 #define UART_ALTCTL_ABRIF_Msk (0x1ul << UART_ALTCTL_ABRIF_Pos) /*!< UART_T::ALTCTL: ABRIF Mask */ 1162 1163 #define UART_ALTCTL_ABRDEN_Pos (18) /*!< UART_T::ALTCTL: ABRDEN Position */ 1164 #define UART_ALTCTL_ABRDEN_Msk (0x1ul << UART_ALTCTL_ABRDEN_Pos) /*!< UART_T::ALTCTL: ABRDEN Mask */ 1165 1166 #define UART_ALTCTL_ABRDBITS_Pos (19) /*!< UART_T::ALTCTL: ABRDBITS Position */ 1167 #define UART_ALTCTL_ABRDBITS_Msk (0x3ul << UART_ALTCTL_ABRDBITS_Pos) /*!< UART_T::ALTCTL: ABRDBITS Mask */ 1168 1169 #define UART_ALTCTL_ADDRMV_Pos (24) /*!< UART_T::ALTCTL: ADDRMV Position */ 1170 #define UART_ALTCTL_ADDRMV_Msk (0xfful << UART_ALTCTL_ADDRMV_Pos) /*!< UART_T::ALTCTL: ADDRMV Mask */ 1171 1172 #define UART_FUNCSEL_FUNCSEL_Pos (0) /*!< UART_T::FUNCSEL: FUNCSEL Position */ 1173 #define UART_FUNCSEL_FUNCSEL_Msk (0x7ul << UART_FUNCSEL_FUNCSEL_Pos) /*!< UART_T::FUNCSEL: FUNCSEL Mask */ 1174 1175 #define UART_FUNCSEL_TXRXDIS_Pos (3) /*!< UART_T::FUNCSEL: TXRXDIS Position */ 1176 #define UART_FUNCSEL_TXRXDIS_Msk (0x1ul << UART_FUNCSEL_TXRXDIS_Pos) /*!< UART_T::FUNCSEL: TXRXDIS Mask */ 1177 1178 #define UART_FUNCSEL_DGE_Pos (6) /*!< UART_T::FUNCSEL: DGE Position */ 1179 #define UART_FUNCSEL_DGE_Msk (0x1ul << UART_FUNCSEL_DGE_Pos) /*!< UART_T::FUNCSEL: DGE Mask */ 1180 1181 #define UART_LINCTL_SLVEN_Pos (0) /*!< UART_T::LINCTL: SLVEN Position */ 1182 #define UART_LINCTL_SLVEN_Msk (0x1ul << UART_LINCTL_SLVEN_Pos) /*!< UART_T::LINCTL: SLVEN Mask */ 1183 1184 #define UART_LINCTL_SLVHDEN_Pos (1) /*!< UART_T::LINCTL: SLVHDEN Position */ 1185 #define UART_LINCTL_SLVHDEN_Msk (0x1ul << UART_LINCTL_SLVHDEN_Pos) /*!< UART_T::LINCTL: SLVHDEN Mask */ 1186 1187 #define UART_LINCTL_SLVAREN_Pos (2) /*!< UART_T::LINCTL: SLVAREN Position */ 1188 #define UART_LINCTL_SLVAREN_Msk (0x1ul << UART_LINCTL_SLVAREN_Pos) /*!< UART_T::LINCTL: SLVAREN Mask */ 1189 1190 #define UART_LINCTL_SLVDUEN_Pos (3) /*!< UART_T::LINCTL: SLVDUEN Position */ 1191 #define UART_LINCTL_SLVDUEN_Msk (0x1ul << UART_LINCTL_SLVDUEN_Pos) /*!< UART_T::LINCTL: SLVDUEN Mask */ 1192 1193 #define UART_LINCTL_MUTE_Pos (4) /*!< UART_T::LINCTL: MUTE Position */ 1194 #define UART_LINCTL_MUTE_Msk (0x1ul << UART_LINCTL_MUTE_Pos) /*!< UART_T::LINCTL: MUTE Mask */ 1195 1196 #define UART_LINCTL_SENDH_Pos (8) /*!< UART_T::LINCTL: SENDH Position */ 1197 #define UART_LINCTL_SENDH_Msk (0x1ul << UART_LINCTL_SENDH_Pos) /*!< UART_T::LINCTL: SENDH Mask */ 1198 1199 #define UART_LINCTL_IDPEN_Pos (9) /*!< UART_T::LINCTL: IDPEN Position */ 1200 #define UART_LINCTL_IDPEN_Msk (0x1ul << UART_LINCTL_IDPEN_Pos) /*!< UART_T::LINCTL: IDPEN Mask */ 1201 1202 #define UART_LINCTL_BRKDETEN_Pos (10) /*!< UART_T::LINCTL: BRKDETEN Position */ 1203 #define UART_LINCTL_BRKDETEN_Msk (0x1ul << UART_LINCTL_BRKDETEN_Pos) /*!< UART_T::LINCTL: BRKDETEN Mask */ 1204 1205 #define UART_LINCTL_LINRXOFF_Pos (11) /*!< UART_T::LINCTL: LINRXOFF Position */ 1206 #define UART_LINCTL_LINRXOFF_Msk (0x1ul << UART_LINCTL_LINRXOFF_Pos) /*!< UART_T::LINCTL: LINRXOFF Mask */ 1207 1208 #define UART_LINCTL_BITERREN_Pos (12) /*!< UART_T::LINCTL: BITERREN Position */ 1209 #define UART_LINCTL_BITERREN_Msk (0x1ul << UART_LINCTL_BITERREN_Pos) /*!< UART_T::LINCTL: BITERREN Mask */ 1210 1211 #define UART_LINCTL_BRKFL_Pos (16) /*!< UART_T::LINCTL: BRKFL Position */ 1212 #define UART_LINCTL_BRKFL_Msk (0xful << UART_LINCTL_BRKFL_Pos) /*!< UART_T::LINCTL: BRKFL Mask */ 1213 1214 #define UART_LINCTL_BSL_Pos (20) /*!< UART_T::LINCTL: BSL Position */ 1215 #define UART_LINCTL_BSL_Msk (0x3ul << UART_LINCTL_BSL_Pos) /*!< UART_T::LINCTL: BSL Mask */ 1216 1217 #define UART_LINCTL_HSEL_Pos (22) /*!< UART_T::LINCTL: HSEL Position */ 1218 #define UART_LINCTL_HSEL_Msk (0x3ul << UART_LINCTL_HSEL_Pos) /*!< UART_T::LINCTL: HSEL Mask */ 1219 1220 #define UART_LINCTL_PID_Pos (24) /*!< UART_T::LINCTL: PID Position */ 1221 #define UART_LINCTL_PID_Msk (0xfful << UART_LINCTL_PID_Pos) /*!< UART_T::LINCTL: PID Mask */ 1222 1223 #define UART_LINSTS_SLVHDETF_Pos (0) /*!< UART_T::LINSTS: SLVHDETF Position */ 1224 #define UART_LINSTS_SLVHDETF_Msk (0x1ul << UART_LINSTS_SLVHDETF_Pos) /*!< UART_T::LINSTS: SLVHDETF Mask */ 1225 1226 #define UART_LINSTS_SLVHEF_Pos (1) /*!< UART_T::LINSTS: SLVHEF Position */ 1227 #define UART_LINSTS_SLVHEF_Msk (0x1ul << UART_LINSTS_SLVHEF_Pos) /*!< UART_T::LINSTS: SLVHEF Mask */ 1228 1229 #define UART_LINSTS_SLVIDPEF_Pos (2) /*!< UART_T::LINSTS: SLVIDPEF Position */ 1230 #define UART_LINSTS_SLVIDPEF_Msk (0x1ul << UART_LINSTS_SLVIDPEF_Pos) /*!< UART_T::LINSTS: SLVIDPEF Mask */ 1231 1232 #define UART_LINSTS_SLVSYNCF_Pos (3) /*!< UART_T::LINSTS: SLVSYNCF Position */ 1233 #define UART_LINSTS_SLVSYNCF_Msk (0x1ul << UART_LINSTS_SLVSYNCF_Pos) /*!< UART_T::LINSTS: SLVSYNCF Mask */ 1234 1235 #define UART_LINSTS_BRKDETF_Pos (8) /*!< UART_T::LINSTS: BRKDETF Position */ 1236 #define UART_LINSTS_BRKDETF_Msk (0x1ul << UART_LINSTS_BRKDETF_Pos) /*!< UART_T::LINSTS: BRKDETF Mask */ 1237 1238 #define UART_LINSTS_BITEF_Pos (9) /*!< UART_T::LINSTS: BITEF Position */ 1239 #define UART_LINSTS_BITEF_Msk (0x1ul << UART_LINSTS_BITEF_Pos) /*!< UART_T::LINSTS: BITEF Mask */ 1240 1241 #define UART_BRCOMP_BRCOMP_Pos (0) /*!< UART_T::BRCOMP: BRCOMP Position */ 1242 #define UART_BRCOMP_BRCOMP_Msk (0x1fful << UART_BRCOMP_BRCOMP_Pos) /*!< UART_T::BRCOMP: BRCOMP Mask */ 1243 1244 #define UART_BRCOMP_BRCOMPDEC_Pos (31) /*!< UART_T::BRCOMP: BRCOMPDEC Position */ 1245 #define UART_BRCOMP_BRCOMPDEC_Msk (0x1ul << UART_BRCOMP_BRCOMPDEC_Pos) /*!< UART_T::BRCOMP: BRCOMPDEC Mask */ 1246 1247 #define UART_WKCTL_WKCTSEN_Pos (0) /*!< UART_T::WKCTL: WKCTSEN Position */ 1248 #define UART_WKCTL_WKCTSEN_Msk (0x1ul << UART_WKCTL_WKCTSEN_Pos) /*!< UART_T::WKCTL: WKCTSEN Mask */ 1249 1250 #define UART_WKCTL_WKDATEN_Pos (1) /*!< UART_T::WKCTL: WKDATEN Position */ 1251 #define UART_WKCTL_WKDATEN_Msk (0x1ul << UART_WKCTL_WKDATEN_Pos) /*!< UART_T::WKCTL: WKDATEN Mask */ 1252 1253 #define UART_WKCTL_WKRFRTEN_Pos (2) /*!< UART_T::WKCTL: WKRFRTEN Position */ 1254 #define UART_WKCTL_WKRFRTEN_Msk (0x1ul << UART_WKCTL_WKRFRTEN_Pos) /*!< UART_T::WKCTL: WKRFRTEN Mask */ 1255 1256 #define UART_WKCTL_WKRS485EN_Pos (3) /*!< UART_T::WKCTL: WKRS485EN Position */ 1257 #define UART_WKCTL_WKRS485EN_Msk (0x1ul << UART_WKCTL_WKRS485EN_Pos) /*!< UART_T::WKCTL: WKRS485EN Mask */ 1258 1259 #define UART_WKCTL_WKTOUTEN_Pos (4) /*!< UART_T::WKCTL: WKTOUTEN Position */ 1260 #define UART_WKCTL_WKTOUTEN_Msk (0x1ul << UART_WKCTL_WKTOUTEN_Pos) /*!< UART_T::WKCTL: WKTOUTEN Mask */ 1261 1262 #define UART_WKSTS_CTSWKF_Pos (0) /*!< UART_T::WKSTS: CTSWKF Position */ 1263 #define UART_WKSTS_CTSWKF_Msk (0x1ul << UART_WKSTS_CTSWKF_Pos) /*!< UART_T::WKSTS: CTSWKF Mask */ 1264 1265 #define UART_WKSTS_DATWKF_Pos (1) /*!< UART_T::WKSTS: DATWKF Position */ 1266 #define UART_WKSTS_DATWKF_Msk (0x1ul << UART_WKSTS_DATWKF_Pos) /*!< UART_T::WKSTS: DATWKF Mask */ 1267 1268 #define UART_WKSTS_RFRTWKF_Pos (2) /*!< UART_T::WKSTS: RFRTWKF Position */ 1269 #define UART_WKSTS_RFRTWKF_Msk (0x1ul << UART_WKSTS_RFRTWKF_Pos) /*!< UART_T::WKSTS: RFRTWKF Mask */ 1270 1271 #define UART_WKSTS_RS485WKF_Pos (3) /*!< UART_T::WKSTS: RS485WKF Position */ 1272 #define UART_WKSTS_RS485WKF_Msk (0x1ul << UART_WKSTS_RS485WKF_Pos) /*!< UART_T::WKSTS: RS485WKF Mask */ 1273 1274 #define UART_WKSTS_TOUTWKF_Pos (4) /*!< UART_T::WKSTS: TOUTWKF Position */ 1275 #define UART_WKSTS_TOUTWKF_Msk (0x1ul << UART_WKSTS_TOUTWKF_Pos) /*!< UART_T::WKSTS: TOUTWKF Mask */ 1276 1277 #define UART_DWKCOMP_STCOMP_Pos (0) /*!< UART_T::DWKCOMP: STCOMP Position */ 1278 #define UART_DWKCOMP_STCOMP_Msk (0xfffful << UART_DWKCOMP_STCOMP_Pos) /*!< UART_T::DWKCOMP: STCOMP Mask */ 1279 1280 /**@}*/ /* UART_CONST */ 1281 /**@}*/ /* end of UART register group */ 1282 /**@}*/ /* end of REGISTER group */ 1283 1284 #endif /* __UART_REG_H__ */ 1285