30 #ifndef _SAM3XA_USART_COMPONENT_ 31 #define _SAM3XA_USART_COMPONENT_ 39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 78 #define US_CR_RSTRX (0x1u << 2) 79 #define US_CR_RSTTX (0x1u << 3) 80 #define US_CR_RXEN (0x1u << 4) 81 #define US_CR_RXDIS (0x1u << 5) 82 #define US_CR_TXEN (0x1u << 6) 83 #define US_CR_TXDIS (0x1u << 7) 84 #define US_CR_RSTSTA (0x1u << 8) 85 #define US_CR_STTBRK (0x1u << 9) 86 #define US_CR_STPBRK (0x1u << 10) 87 #define US_CR_STTTO (0x1u << 11) 88 #define US_CR_SENDA (0x1u << 12) 89 #define US_CR_RSTIT (0x1u << 13) 90 #define US_CR_RSTNACK (0x1u << 14) 91 #define US_CR_RETTO (0x1u << 15) 92 #define US_CR_RTSEN (0x1u << 18) 93 #define US_CR_FCS (0x1u << 18) 94 #define US_CR_RTSDIS (0x1u << 19) 95 #define US_CR_RCS (0x1u << 19) 96 #define US_CR_LINABT (0x1u << 20) 97 #define US_CR_LINWKUP (0x1u << 21) 99 #define US_MR_USART_MODE_Pos 0 100 #define US_MR_USART_MODE_Msk (0xfu << US_MR_USART_MODE_Pos) 101 #define US_MR_USART_MODE_NORMAL (0x0u << 0) 102 #define US_MR_USART_MODE_RS485 (0x1u << 0) 103 #define US_MR_USART_MODE_HW_HANDSHAKING (0x2u << 0) 104 #define US_MR_USART_MODE_IS07816_T_0 (0x4u << 0) 105 #define US_MR_USART_MODE_IS07816_T_1 (0x6u << 0) 106 #define US_MR_USART_MODE_IRDA (0x8u << 0) 107 #define US_MR_USART_MODE_LIN_MASTER (0xAu << 0) 108 #define US_MR_USART_MODE_LIN_SLAVE (0xBu << 0) 109 #define US_MR_USART_MODE_SPI_MASTER (0xEu << 0) 110 #define US_MR_USART_MODE_SPI_SLAVE (0xFu << 0) 111 #define US_MR_USCLKS_Pos 4 112 #define US_MR_USCLKS_Msk (0x3u << US_MR_USCLKS_Pos) 113 #define US_MR_USCLKS_MCK (0x0u << 4) 114 #define US_MR_USCLKS_DIV (0x1u << 4) 115 #define US_MR_USCLKS_SCK (0x3u << 4) 116 #define US_MR_CHRL_Pos 6 117 #define US_MR_CHRL_Msk (0x3u << US_MR_CHRL_Pos) 118 #define US_MR_CHRL_5_BIT (0x0u << 6) 119 #define US_MR_CHRL_6_BIT (0x1u << 6) 120 #define US_MR_CHRL_7_BIT (0x2u << 6) 121 #define US_MR_CHRL_8_BIT (0x3u << 6) 122 #define US_MR_SYNC (0x1u << 8) 123 #define US_MR_CPHA (0x1u << 8) 124 #define US_MR_PAR_Pos 9 125 #define US_MR_PAR_Msk (0x7u << US_MR_PAR_Pos) 126 #define US_MR_PAR_EVEN (0x0u << 9) 127 #define US_MR_PAR_ODD (0x1u << 9) 128 #define US_MR_PAR_SPACE (0x2u << 9) 129 #define US_MR_PAR_MARK (0x3u << 9) 130 #define US_MR_PAR_NO (0x4u << 9) 131 #define US_MR_PAR_MULTIDROP (0x6u << 9) 132 #define US_MR_NBSTOP_Pos 12 133 #define US_MR_NBSTOP_Msk (0x3u << US_MR_NBSTOP_Pos) 134 #define US_MR_NBSTOP_1_BIT (0x0u << 12) 135 #define US_MR_NBSTOP_1_5_BIT (0x1u << 12) 136 #define US_MR_NBSTOP_2_BIT (0x2u << 12) 137 #define US_MR_CHMODE_Pos 14 138 #define US_MR_CHMODE_Msk (0x3u << US_MR_CHMODE_Pos) 139 #define US_MR_CHMODE_NORMAL (0x0u << 14) 140 #define US_MR_CHMODE_AUTOMATIC (0x1u << 14) 141 #define US_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) 142 #define US_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) 143 #define US_MR_MSBF (0x1u << 16) 144 #define US_MR_CPOL (0x1u << 16) 145 #define US_MR_MODE9 (0x1u << 17) 146 #define US_MR_CLKO (0x1u << 18) 147 #define US_MR_OVER (0x1u << 19) 148 #define US_MR_INACK (0x1u << 20) 149 #define US_MR_DSNACK (0x1u << 21) 150 #define US_MR_VAR_SYNC (0x1u << 22) 151 #define US_MR_INVDATA (0x1u << 23) 152 #define US_MR_MAX_ITERATION_Pos 24 153 #define US_MR_MAX_ITERATION_Msk (0x7u << US_MR_MAX_ITERATION_Pos) 154 #define US_MR_MAX_ITERATION(value) ((US_MR_MAX_ITERATION_Msk & ((value) << US_MR_MAX_ITERATION_Pos))) 155 #define US_MR_FILTER (0x1u << 28) 156 #define US_MR_MAN (0x1u << 29) 157 #define US_MR_MODSYNC (0x1u << 30) 158 #define US_MR_ONEBIT (0x1u << 31) 160 #define US_IER_RXRDY (0x1u << 0) 161 #define US_IER_TXRDY (0x1u << 1) 162 #define US_IER_RXBRK (0x1u << 2) 163 #define US_IER_ENDRX (0x1u << 3) 164 #define US_IER_ENDTX (0x1u << 4) 165 #define US_IER_OVRE (0x1u << 5) 166 #define US_IER_FRAME (0x1u << 6) 167 #define US_IER_PARE (0x1u << 7) 168 #define US_IER_TIMEOUT (0x1u << 8) 169 #define US_IER_TXEMPTY (0x1u << 9) 170 #define US_IER_ITER (0x1u << 10) 171 #define US_IER_UNRE (0x1u << 10) 172 #define US_IER_TXBUFE (0x1u << 11) 173 #define US_IER_RXBUFF (0x1u << 12) 174 #define US_IER_NACK (0x1u << 13) 175 #define US_IER_LINBK (0x1u << 13) 176 #define US_IER_LINID (0x1u << 14) 177 #define US_IER_LINTC (0x1u << 15) 178 #define US_IER_CTSIC (0x1u << 19) 179 #define US_IER_MANE (0x1u << 24) 180 #define US_IER_LINBE (0x1u << 25) 181 #define US_IER_LINISFE (0x1u << 26) 182 #define US_IER_LINIPE (0x1u << 27) 183 #define US_IER_LINCE (0x1u << 28) 184 #define US_IER_LINSNRE (0x1u << 29) 186 #define US_IDR_RXRDY (0x1u << 0) 187 #define US_IDR_TXRDY (0x1u << 1) 188 #define US_IDR_RXBRK (0x1u << 2) 189 #define US_IDR_ENDRX (0x1u << 3) 190 #define US_IDR_ENDTX (0x1u << 4) 191 #define US_IDR_OVRE (0x1u << 5) 192 #define US_IDR_FRAME (0x1u << 6) 193 #define US_IDR_PARE (0x1u << 7) 194 #define US_IDR_TIMEOUT (0x1u << 8) 195 #define US_IDR_TXEMPTY (0x1u << 9) 196 #define US_IDR_ITER (0x1u << 10) 197 #define US_IDR_UNRE (0x1u << 10) 198 #define US_IDR_TXBUFE (0x1u << 11) 199 #define US_IDR_RXBUFF (0x1u << 12) 200 #define US_IDR_NACK (0x1u << 13) 201 #define US_IDR_LINBK (0x1u << 13) 202 #define US_IDR_LINID (0x1u << 14) 203 #define US_IDR_LINTC (0x1u << 15) 204 #define US_IDR_CTSIC (0x1u << 19) 205 #define US_IDR_MANE (0x1u << 24) 206 #define US_IDR_LINBE (0x1u << 25) 207 #define US_IDR_LINISFE (0x1u << 26) 208 #define US_IDR_LINIPE (0x1u << 27) 209 #define US_IDR_LINCE (0x1u << 28) 210 #define US_IDR_LINSNRE (0x1u << 29) 212 #define US_IMR_RXRDY (0x1u << 0) 213 #define US_IMR_TXRDY (0x1u << 1) 214 #define US_IMR_RXBRK (0x1u << 2) 215 #define US_IMR_ENDRX (0x1u << 3) 216 #define US_IMR_ENDTX (0x1u << 4) 217 #define US_IMR_OVRE (0x1u << 5) 218 #define US_IMR_FRAME (0x1u << 6) 219 #define US_IMR_PARE (0x1u << 7) 220 #define US_IMR_TIMEOUT (0x1u << 8) 221 #define US_IMR_TXEMPTY (0x1u << 9) 222 #define US_IMR_ITER (0x1u << 10) 223 #define US_IMR_UNRE (0x1u << 10) 224 #define US_IMR_TXBUFE (0x1u << 11) 225 #define US_IMR_RXBUFF (0x1u << 12) 226 #define US_IMR_NACK (0x1u << 13) 227 #define US_IMR_LINBK (0x1u << 13) 228 #define US_IMR_LINID (0x1u << 14) 229 #define US_IMR_LINTC (0x1u << 15) 230 #define US_IMR_CTSIC (0x1u << 19) 231 #define US_IMR_MANE (0x1u << 24) 232 #define US_IMR_LINBE (0x1u << 25) 233 #define US_IMR_LINISFE (0x1u << 26) 234 #define US_IMR_LINIPE (0x1u << 27) 235 #define US_IMR_LINCE (0x1u << 28) 236 #define US_IMR_LINSNRE (0x1u << 29) 238 #define US_CSR_RXRDY (0x1u << 0) 239 #define US_CSR_TXRDY (0x1u << 1) 240 #define US_CSR_RXBRK (0x1u << 2) 241 #define US_CSR_ENDRX (0x1u << 3) 242 #define US_CSR_ENDTX (0x1u << 4) 243 #define US_CSR_OVRE (0x1u << 5) 244 #define US_CSR_FRAME (0x1u << 6) 245 #define US_CSR_PARE (0x1u << 7) 246 #define US_CSR_TIMEOUT (0x1u << 8) 247 #define US_CSR_TXEMPTY (0x1u << 9) 248 #define US_CSR_ITER (0x1u << 10) 249 #define US_CSR_UNRE (0x1u << 10) 250 #define US_CSR_TXBUFE (0x1u << 11) 251 #define US_CSR_RXBUFF (0x1u << 12) 252 #define US_CSR_NACK (0x1u << 13) 253 #define US_CSR_LINBK (0x1u << 13) 254 #define US_CSR_LINID (0x1u << 14) 255 #define US_CSR_LINTC (0x1u << 15) 256 #define US_CSR_CTSIC (0x1u << 19) 257 #define US_CSR_CTS (0x1u << 23) 258 #define US_CSR_LINBLS (0x1u << 23) 259 #define US_CSR_MANERR (0x1u << 24) 260 #define US_CSR_LINBE (0x1u << 25) 261 #define US_CSR_LINISFE (0x1u << 26) 262 #define US_CSR_LINIPE (0x1u << 27) 263 #define US_CSR_LINCE (0x1u << 28) 264 #define US_CSR_LINSNRE (0x1u << 29) 266 #define US_RHR_RXCHR_Pos 0 267 #define US_RHR_RXCHR_Msk (0x1ffu << US_RHR_RXCHR_Pos) 268 #define US_RHR_RXSYNH (0x1u << 15) 270 #define US_THR_TXCHR_Pos 0 271 #define US_THR_TXCHR_Msk (0x1ffu << US_THR_TXCHR_Pos) 272 #define US_THR_TXCHR(value) ((US_THR_TXCHR_Msk & ((value) << US_THR_TXCHR_Pos))) 273 #define US_THR_TXSYNH (0x1u << 15) 275 #define US_BRGR_CD_Pos 0 276 #define US_BRGR_CD_Msk (0xffffu << US_BRGR_CD_Pos) 277 #define US_BRGR_CD(value) ((US_BRGR_CD_Msk & ((value) << US_BRGR_CD_Pos))) 278 #define US_BRGR_FP_Pos 16 279 #define US_BRGR_FP_Msk (0x7u << US_BRGR_FP_Pos) 280 #define US_BRGR_FP(value) ((US_BRGR_FP_Msk & ((value) << US_BRGR_FP_Pos))) 282 #define US_RTOR_TO_Pos 0 283 #define US_RTOR_TO_Msk (0x1ffffu << US_RTOR_TO_Pos) 284 #define US_RTOR_TO(value) ((US_RTOR_TO_Msk & ((value) << US_RTOR_TO_Pos))) 286 #define US_TTGR_TG_Pos 0 287 #define US_TTGR_TG_Msk (0xffu << US_TTGR_TG_Pos) 288 #define US_TTGR_TG(value) ((US_TTGR_TG_Msk & ((value) << US_TTGR_TG_Pos))) 290 #define US_FIDI_FI_DI_RATIO_Pos 0 291 #define US_FIDI_FI_DI_RATIO_Msk (0x7ffu << US_FIDI_FI_DI_RATIO_Pos) 292 #define US_FIDI_FI_DI_RATIO(value) ((US_FIDI_FI_DI_RATIO_Msk & ((value) << US_FIDI_FI_DI_RATIO_Pos))) 294 #define US_NER_NB_ERRORS_Pos 0 295 #define US_NER_NB_ERRORS_Msk (0xffu << US_NER_NB_ERRORS_Pos) 297 #define US_IF_IRDA_FILTER_Pos 0 298 #define US_IF_IRDA_FILTER_Msk (0xffu << US_IF_IRDA_FILTER_Pos) 299 #define US_IF_IRDA_FILTER(value) ((US_IF_IRDA_FILTER_Msk & ((value) << US_IF_IRDA_FILTER_Pos))) 301 #define US_MAN_TX_PL_Pos 0 302 #define US_MAN_TX_PL_Msk (0xfu << US_MAN_TX_PL_Pos) 303 #define US_MAN_TX_PL(value) ((US_MAN_TX_PL_Msk & ((value) << US_MAN_TX_PL_Pos))) 304 #define US_MAN_TX_PP_Pos 8 305 #define US_MAN_TX_PP_Msk (0x3u << US_MAN_TX_PP_Pos) 306 #define US_MAN_TX_PP_ALL_ONE (0x0u << 8) 307 #define US_MAN_TX_PP_ALL_ZERO (0x1u << 8) 308 #define US_MAN_TX_PP_ZERO_ONE (0x2u << 8) 309 #define US_MAN_TX_PP_ONE_ZERO (0x3u << 8) 310 #define US_MAN_TX_MPOL (0x1u << 12) 311 #define US_MAN_RX_PL_Pos 16 312 #define US_MAN_RX_PL_Msk (0xfu << US_MAN_RX_PL_Pos) 313 #define US_MAN_RX_PL(value) ((US_MAN_RX_PL_Msk & ((value) << US_MAN_RX_PL_Pos))) 314 #define US_MAN_RX_PP_Pos 24 315 #define US_MAN_RX_PP_Msk (0x3u << US_MAN_RX_PP_Pos) 316 #define US_MAN_RX_PP_ALL_ONE (0x0u << 24) 317 #define US_MAN_RX_PP_ALL_ZERO (0x1u << 24) 318 #define US_MAN_RX_PP_ZERO_ONE (0x2u << 24) 319 #define US_MAN_RX_PP_ONE_ZERO (0x3u << 24) 320 #define US_MAN_RX_MPOL (0x1u << 28) 321 #define US_MAN_STUCKTO1 (0x1u << 29) 322 #define US_MAN_DRIFT (0x1u << 30) 324 #define US_LINMR_NACT_Pos 0 325 #define US_LINMR_NACT_Msk (0x3u << US_LINMR_NACT_Pos) 326 #define US_LINMR_NACT_PUBLISH (0x0u << 0) 327 #define US_LINMR_NACT_SUBSCRIBE (0x1u << 0) 328 #define US_LINMR_NACT_IGNORE (0x2u << 0) 329 #define US_LINMR_PARDIS (0x1u << 2) 330 #define US_LINMR_CHKDIS (0x1u << 3) 331 #define US_LINMR_CHKTYP (0x1u << 4) 332 #define US_LINMR_DLM (0x1u << 5) 333 #define US_LINMR_FSDIS (0x1u << 6) 334 #define US_LINMR_WKUPTYP (0x1u << 7) 335 #define US_LINMR_DLC_Pos 8 336 #define US_LINMR_DLC_Msk (0xffu << US_LINMR_DLC_Pos) 337 #define US_LINMR_DLC(value) ((US_LINMR_DLC_Msk & ((value) << US_LINMR_DLC_Pos))) 338 #define US_LINMR_PDCM (0x1u << 16) 340 #define US_LINIR_IDCHR_Pos 0 341 #define US_LINIR_IDCHR_Msk (0xffu << US_LINIR_IDCHR_Pos) 342 #define US_LINIR_IDCHR(value) ((US_LINIR_IDCHR_Msk & ((value) << US_LINIR_IDCHR_Pos))) 344 #define US_WPMR_WPEN (0x1u << 0) 345 #define US_WPMR_WPKEY_Pos 8 346 #define US_WPMR_WPKEY_Msk (0xffffffu << US_WPMR_WPKEY_Pos) 347 #define US_WPMR_WPKEY(value) ((US_WPMR_WPKEY_Msk & ((value) << US_WPMR_WPKEY_Pos))) 349 #define US_WPSR_WPVS (0x1u << 0) 350 #define US_WPSR_WPVSRC_Pos 8 351 #define US_WPSR_WPVSRC_Msk (0xffffu << US_WPSR_WPVSRC_Pos) 353 #define US_RPR_RXPTR_Pos 0 354 #define US_RPR_RXPTR_Msk (0xffffffffu << US_RPR_RXPTR_Pos) 355 #define US_RPR_RXPTR(value) ((US_RPR_RXPTR_Msk & ((value) << US_RPR_RXPTR_Pos))) 357 #define US_RCR_RXCTR_Pos 0 358 #define US_RCR_RXCTR_Msk (0xffffu << US_RCR_RXCTR_Pos) 359 #define US_RCR_RXCTR(value) ((US_RCR_RXCTR_Msk & ((value) << US_RCR_RXCTR_Pos))) 361 #define US_TPR_TXPTR_Pos 0 362 #define US_TPR_TXPTR_Msk (0xffffffffu << US_TPR_TXPTR_Pos) 363 #define US_TPR_TXPTR(value) ((US_TPR_TXPTR_Msk & ((value) << US_TPR_TXPTR_Pos))) 365 #define US_TCR_TXCTR_Pos 0 366 #define US_TCR_TXCTR_Msk (0xffffu << US_TCR_TXCTR_Pos) 367 #define US_TCR_TXCTR(value) ((US_TCR_TXCTR_Msk & ((value) << US_TCR_TXCTR_Pos))) 369 #define US_RNPR_RXNPTR_Pos 0 370 #define US_RNPR_RXNPTR_Msk (0xffffffffu << US_RNPR_RXNPTR_Pos) 371 #define US_RNPR_RXNPTR(value) ((US_RNPR_RXNPTR_Msk & ((value) << US_RNPR_RXNPTR_Pos))) 373 #define US_RNCR_RXNCTR_Pos 0 374 #define US_RNCR_RXNCTR_Msk (0xffffu << US_RNCR_RXNCTR_Pos) 375 #define US_RNCR_RXNCTR(value) ((US_RNCR_RXNCTR_Msk & ((value) << US_RNCR_RXNCTR_Pos))) 377 #define US_TNPR_TXNPTR_Pos 0 378 #define US_TNPR_TXNPTR_Msk (0xffffffffu << US_TNPR_TXNPTR_Pos) 379 #define US_TNPR_TXNPTR(value) ((US_TNPR_TXNPTR_Msk & ((value) << US_TNPR_TXNPTR_Pos))) 381 #define US_TNCR_TXNCTR_Pos 0 382 #define US_TNCR_TXNCTR_Msk (0xffffu << US_TNCR_TXNCTR_Pos) 383 #define US_TNCR_TXNCTR(value) ((US_TNCR_TXNCTR_Msk & ((value) << US_TNCR_TXNCTR_Pos))) 385 #define US_PTCR_RXTEN (0x1u << 0) 386 #define US_PTCR_RXTDIS (0x1u << 1) 387 #define US_PTCR_TXTEN (0x1u << 8) 388 #define US_PTCR_TXTDIS (0x1u << 9) 390 #define US_PTSR_RXTEN (0x1u << 0) 391 #define US_PTSR_TXTEN (0x1u << 8) volatile uint32_t RwReg
Definition: sam3n00a.h:54
volatile uint32_t WoReg
Definition: sam3n00a.h:53
Usart hardware registers.
Definition: component_usart.h:41
RwReg US_LINMR
(Usart Offset: 0x0054) LIN Mode Register
Definition: component_usart.h:59
RwReg US_LINIR
(Usart Offset: 0x0058) LIN Identifier Register
Definition: component_usart.h:60
volatile const uint32_t RoReg
Definition: sam3n00a.h:49