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