30 #ifndef _SAM3N_USART_COMPONENT_ 31 #define _SAM3N_USART_COMPONENT_ 39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 75 #define US_CR_RSTRX (0x1u << 2) 76 #define US_CR_RSTTX (0x1u << 3) 77 #define US_CR_RXEN (0x1u << 4) 78 #define US_CR_RXDIS (0x1u << 5) 79 #define US_CR_TXEN (0x1u << 6) 80 #define US_CR_TXDIS (0x1u << 7) 81 #define US_CR_RSTSTA (0x1u << 8) 82 #define US_CR_STTBRK (0x1u << 9) 83 #define US_CR_STPBRK (0x1u << 10) 84 #define US_CR_STTTO (0x1u << 11) 85 #define US_CR_SENDA (0x1u << 12) 86 #define US_CR_RSTIT (0x1u << 13) 87 #define US_CR_RSTNACK (0x1u << 14) 88 #define US_CR_RETTO (0x1u << 15) 89 #define US_CR_RTSEN (0x1u << 18) 90 #define US_CR_FCS (0x1u << 18) 91 #define US_CR_RTSDIS (0x1u << 19) 92 #define US_CR_RCS (0x1u << 19) 94 #define US_MR_USART_MODE_Pos 0 95 #define US_MR_USART_MODE_Msk (0xfu << US_MR_USART_MODE_Pos) 96 #define US_MR_USART_MODE_NORMAL (0x0u << 0) 97 #define US_MR_USART_MODE_RS485 (0x1u << 0) 98 #define US_MR_USART_MODE_HW_HANDSHAKING (0x2u << 0) 99 #define US_MR_USART_MODE_IS07816_T_0 (0x4u << 0) 100 #define US_MR_USART_MODE_IS07816_T_1 (0x6u << 0) 101 #define US_MR_USART_MODE_IRDA (0x8u << 0) 102 #define US_MR_USART_MODE_SPI_MASTER (0xEu << 0) 103 #define US_MR_USART_MODE_SPI_SLAVE (0xFu << 0) 104 #define US_MR_USCLKS_Pos 4 105 #define US_MR_USCLKS_Msk (0x3u << US_MR_USCLKS_Pos) 106 #define US_MR_USCLKS_MCK (0x0u << 4) 107 #define US_MR_USCLKS_DIV (0x1u << 4) 108 #define US_MR_USCLKS_SCK (0x3u << 4) 109 #define US_MR_CHRL_Pos 6 110 #define US_MR_CHRL_Msk (0x3u << US_MR_CHRL_Pos) 111 #define US_MR_CHRL_5_BIT (0x0u << 6) 112 #define US_MR_CHRL_6_BIT (0x1u << 6) 113 #define US_MR_CHRL_7_BIT (0x2u << 6) 114 #define US_MR_CHRL_8_BIT (0x3u << 6) 115 #define US_MR_SYNC (0x1u << 8) 116 #define US_MR_CPHA (0x1u << 8) 117 #define US_MR_PAR_Pos 9 118 #define US_MR_PAR_Msk (0x7u << US_MR_PAR_Pos) 119 #define US_MR_PAR_EVEN (0x0u << 9) 120 #define US_MR_PAR_ODD (0x1u << 9) 121 #define US_MR_PAR_SPACE (0x2u << 9) 122 #define US_MR_PAR_MARK (0x3u << 9) 123 #define US_MR_PAR_NO (0x4u << 9) 124 #define US_MR_PAR_MULTIDROP (0x6u << 9) 125 #define US_MR_NBSTOP_Pos 12 126 #define US_MR_NBSTOP_Msk (0x3u << US_MR_NBSTOP_Pos) 127 #define US_MR_NBSTOP_1_BIT (0x0u << 12) 128 #define US_MR_NBSTOP_1_5_BIT (0x1u << 12) 129 #define US_MR_NBSTOP_2_BIT (0x2u << 12) 130 #define US_MR_CHMODE_Pos 14 131 #define US_MR_CHMODE_Msk (0x3u << US_MR_CHMODE_Pos) 132 #define US_MR_CHMODE_NORMAL (0x0u << 14) 133 #define US_MR_CHMODE_AUTOMATIC (0x1u << 14) 134 #define US_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) 135 #define US_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) 136 #define US_MR_MSBF (0x1u << 16) 137 #define US_MR_CPOL (0x1u << 16) 138 #define US_MR_MODE9 (0x1u << 17) 139 #define US_MR_CLKO (0x1u << 18) 140 #define US_MR_OVER (0x1u << 19) 141 #define US_MR_INACK (0x1u << 20) 142 #define US_MR_DSNACK (0x1u << 21) 143 #define US_MR_INVDATA (0x1u << 23) 144 #define US_MR_MAX_ITERATION_Pos 24 145 #define US_MR_MAX_ITERATION_Msk (0x7u << US_MR_MAX_ITERATION_Pos) 146 #define US_MR_MAX_ITERATION(value) ((US_MR_MAX_ITERATION_Msk & ((value) << US_MR_MAX_ITERATION_Pos))) 147 #define US_MR_FILTER (0x1u << 28) 149 #define US_IER_RXRDY (0x1u << 0) 150 #define US_IER_TXRDY (0x1u << 1) 151 #define US_IER_RXBRK (0x1u << 2) 152 #define US_IER_ENDRX (0x1u << 3) 153 #define US_IER_ENDTX (0x1u << 4) 154 #define US_IER_OVRE (0x1u << 5) 155 #define US_IER_FRAME (0x1u << 6) 156 #define US_IER_PARE (0x1u << 7) 157 #define US_IER_TIMEOUT (0x1u << 8) 158 #define US_IER_TXEMPTY (0x1u << 9) 159 #define US_IER_ITER (0x1u << 10) 160 #define US_IER_UNRE (0x1u << 10) 161 #define US_IER_TXBUFE (0x1u << 11) 162 #define US_IER_RXBUFF (0x1u << 12) 163 #define US_IER_NACK (0x1u << 13) 164 #define US_IER_CTSIC (0x1u << 19) 166 #define US_IDR_RXRDY (0x1u << 0) 167 #define US_IDR_TXRDY (0x1u << 1) 168 #define US_IDR_RXBRK (0x1u << 2) 169 #define US_IDR_ENDRX (0x1u << 3) 170 #define US_IDR_ENDTX (0x1u << 4) 171 #define US_IDR_OVRE (0x1u << 5) 172 #define US_IDR_FRAME (0x1u << 6) 173 #define US_IDR_PARE (0x1u << 7) 174 #define US_IDR_TIMEOUT (0x1u << 8) 175 #define US_IDR_TXEMPTY (0x1u << 9) 176 #define US_IDR_ITER (0x1u << 10) 177 #define US_IDR_UNRE (0x1u << 10) 178 #define US_IDR_TXBUFE (0x1u << 11) 179 #define US_IDR_RXBUFF (0x1u << 12) 180 #define US_IDR_NACK (0x1u << 13) 181 #define US_IDR_CTSIC (0x1u << 19) 183 #define US_IMR_RXRDY (0x1u << 0) 184 #define US_IMR_TXRDY (0x1u << 1) 185 #define US_IMR_RXBRK (0x1u << 2) 186 #define US_IMR_ENDRX (0x1u << 3) 187 #define US_IMR_ENDTX (0x1u << 4) 188 #define US_IMR_OVRE (0x1u << 5) 189 #define US_IMR_FRAME (0x1u << 6) 190 #define US_IMR_PARE (0x1u << 7) 191 #define US_IMR_TIMEOUT (0x1u << 8) 192 #define US_IMR_TXEMPTY (0x1u << 9) 193 #define US_IMR_ITER (0x1u << 10) 194 #define US_IMR_UNRE (0x1u << 10) 195 #define US_IMR_TXBUFE (0x1u << 11) 196 #define US_IMR_RXBUFF (0x1u << 12) 197 #define US_IMR_NACK (0x1u << 13) 198 #define US_IMR_CTSIC (0x1u << 19) 200 #define US_CSR_RXRDY (0x1u << 0) 201 #define US_CSR_TXRDY (0x1u << 1) 202 #define US_CSR_RXBRK (0x1u << 2) 203 #define US_CSR_ENDRX (0x1u << 3) 204 #define US_CSR_ENDTX (0x1u << 4) 205 #define US_CSR_OVRE (0x1u << 5) 206 #define US_CSR_FRAME (0x1u << 6) 207 #define US_CSR_PARE (0x1u << 7) 208 #define US_CSR_TIMEOUT (0x1u << 8) 209 #define US_CSR_TXEMPTY (0x1u << 9) 210 #define US_CSR_ITER (0x1u << 10) 211 #define US_CSR_UNRE (0x1u << 10) 212 #define US_CSR_TXBUFE (0x1u << 11) 213 #define US_CSR_RXBUFF (0x1u << 12) 214 #define US_CSR_NACK (0x1u << 13) 215 #define US_CSR_CTSIC (0x1u << 19) 216 #define US_CSR_CTS (0x1u << 23) 218 #define US_RHR_RXCHR_Pos 0 219 #define US_RHR_RXCHR_Msk (0x1ffu << US_RHR_RXCHR_Pos) 220 #define US_RHR_RXSYNH (0x1u << 15) 222 #define US_THR_TXCHR_Pos 0 223 #define US_THR_TXCHR_Msk (0x1ffu << US_THR_TXCHR_Pos) 224 #define US_THR_TXCHR(value) ((US_THR_TXCHR_Msk & ((value) << US_THR_TXCHR_Pos))) 225 #define US_THR_TXSYNH (0x1u << 15) 227 #define US_BRGR_CD_Pos 0 228 #define US_BRGR_CD_Msk (0xffffu << US_BRGR_CD_Pos) 229 #define US_BRGR_CD(value) ((US_BRGR_CD_Msk & ((value) << US_BRGR_CD_Pos))) 230 #define US_BRGR_FP_Pos 16 231 #define US_BRGR_FP_Msk (0x7u << US_BRGR_FP_Pos) 232 #define US_BRGR_FP(value) ((US_BRGR_FP_Msk & ((value) << US_BRGR_FP_Pos))) 234 #define US_RTOR_TO_Pos 0 235 #define US_RTOR_TO_Msk (0xffffu << US_RTOR_TO_Pos) 236 #define US_RTOR_TO(value) ((US_RTOR_TO_Msk & ((value) << US_RTOR_TO_Pos))) 238 #define US_TTGR_TG_Pos 0 239 #define US_TTGR_TG_Msk (0xffu << US_TTGR_TG_Pos) 240 #define US_TTGR_TG(value) ((US_TTGR_TG_Msk & ((value) << US_TTGR_TG_Pos))) 242 #define US_FIDI_FI_DI_RATIO_Pos 0 243 #define US_FIDI_FI_DI_RATIO_Msk (0x7ffu << US_FIDI_FI_DI_RATIO_Pos) 244 #define US_FIDI_FI_DI_RATIO(value) ((US_FIDI_FI_DI_RATIO_Msk & ((value) << US_FIDI_FI_DI_RATIO_Pos))) 246 #define US_NER_NB_ERRORS_Pos 0 247 #define US_NER_NB_ERRORS_Msk (0xffu << US_NER_NB_ERRORS_Pos) 249 #define US_IF_IRDA_FILTER_Pos 0 250 #define US_IF_IRDA_FILTER_Msk (0xffu << US_IF_IRDA_FILTER_Pos) 251 #define US_IF_IRDA_FILTER(value) ((US_IF_IRDA_FILTER_Msk & ((value) << US_IF_IRDA_FILTER_Pos))) 253 #define US_WPMR_WPEN (0x1u << 0) 254 #define US_WPMR_WPKEY_Pos 8 255 #define US_WPMR_WPKEY_Msk (0xffffffu << US_WPMR_WPKEY_Pos) 256 #define US_WPMR_WPKEY(value) ((US_WPMR_WPKEY_Msk & ((value) << US_WPMR_WPKEY_Pos))) 258 #define US_WPSR_WPVS (0x1u << 0) 259 #define US_WPSR_WPVSRC_Pos 8 260 #define US_WPSR_WPVSRC_Msk (0xffffu << US_WPSR_WPVSRC_Pos) 262 #define US_RPR_RXPTR_Pos 0 263 #define US_RPR_RXPTR_Msk (0xffffffffu << US_RPR_RXPTR_Pos) 264 #define US_RPR_RXPTR(value) ((US_RPR_RXPTR_Msk & ((value) << US_RPR_RXPTR_Pos))) 266 #define US_RCR_RXCTR_Pos 0 267 #define US_RCR_RXCTR_Msk (0xffffu << US_RCR_RXCTR_Pos) 268 #define US_RCR_RXCTR(value) ((US_RCR_RXCTR_Msk & ((value) << US_RCR_RXCTR_Pos))) 270 #define US_TPR_TXPTR_Pos 0 271 #define US_TPR_TXPTR_Msk (0xffffffffu << US_TPR_TXPTR_Pos) 272 #define US_TPR_TXPTR(value) ((US_TPR_TXPTR_Msk & ((value) << US_TPR_TXPTR_Pos))) 274 #define US_TCR_TXCTR_Pos 0 275 #define US_TCR_TXCTR_Msk (0xffffu << US_TCR_TXCTR_Pos) 276 #define US_TCR_TXCTR(value) ((US_TCR_TXCTR_Msk & ((value) << US_TCR_TXCTR_Pos))) 278 #define US_RNPR_RXNPTR_Pos 0 279 #define US_RNPR_RXNPTR_Msk (0xffffffffu << US_RNPR_RXNPTR_Pos) 280 #define US_RNPR_RXNPTR(value) ((US_RNPR_RXNPTR_Msk & ((value) << US_RNPR_RXNPTR_Pos))) 282 #define US_RNCR_RXNCTR_Pos 0 283 #define US_RNCR_RXNCTR_Msk (0xffffu << US_RNCR_RXNCTR_Pos) 284 #define US_RNCR_RXNCTR(value) ((US_RNCR_RXNCTR_Msk & ((value) << US_RNCR_RXNCTR_Pos))) 286 #define US_TNPR_TXNPTR_Pos 0 287 #define US_TNPR_TXNPTR_Msk (0xffffffffu << US_TNPR_TXNPTR_Pos) 288 #define US_TNPR_TXNPTR(value) ((US_TNPR_TXNPTR_Msk & ((value) << US_TNPR_TXNPTR_Pos))) 290 #define US_TNCR_TXNCTR_Pos 0 291 #define US_TNCR_TXNCTR_Msk (0xffffu << US_TNCR_TXNCTR_Pos) 292 #define US_TNCR_TXNCTR(value) ((US_TNCR_TXNCTR_Msk & ((value) << US_TNCR_TXNCTR_Pos))) 294 #define US_PTCR_RXTEN (0x1u << 0) 295 #define US_PTCR_RXTDIS (0x1u << 1) 296 #define US_PTCR_TXTEN (0x1u << 8) 297 #define US_PTCR_TXTDIS (0x1u << 9) 299 #define US_PTSR_RXTEN (0x1u << 0) 300 #define US_PTSR_TXTEN (0x1u << 8) RwReg US_MR
(Usart Offset: 0x0004) Mode Register
Definition: component_usart.h:43
RwReg US_RPR
(Usart Offset: 0x100) Receive Pointer Register
Definition: component_usart.h:62
volatile uint32_t RwReg
Definition: sam3n00a.h:54
WoReg US_IER
(Usart Offset: 0x0008) Interrupt Enable Register
Definition: component_usart.h:44
WoReg US_PTCR
(Usart Offset: 0x120) Transfer Control Register
Definition: component_usart.h:70
RwReg US_TNPR
(Usart Offset: 0x118) Transmit Next Pointer Register
Definition: component_usart.h:68
RwReg US_RNCR
(Usart Offset: 0x114) Receive Next Counter Register
Definition: component_usart.h:67
volatile uint32_t WoReg
Definition: sam3n00a.h:53
RwReg US_BRGR
(Usart Offset: 0x0020) Baud Rate Generator Register
Definition: component_usart.h:50
RwReg US_TPR
(Usart Offset: 0x108) Transmit Pointer Register
Definition: component_usart.h:64
Usart hardware registers.
Definition: component_usart.h:41
RoReg US_RHR
(Usart Offset: 0x0018) Receiver Holding Register
Definition: component_usart.h:48
RoReg US_IMR
(Usart Offset: 0x0010) Interrupt Mask Register
Definition: component_usart.h:46
WoReg US_CR
(Usart Offset: 0x0000) Control Register
Definition: component_usart.h:42
RwReg US_RTOR
(Usart Offset: 0x0024) Receiver Time-out Register
Definition: component_usart.h:51
RwReg US_TCR
(Usart Offset: 0x10C) Transmit Counter Register
Definition: component_usart.h:65
RwReg US_RNPR
(Usart Offset: 0x110) Receive Next Pointer Register
Definition: component_usart.h:66
WoReg US_THR
(Usart Offset: 0x001C) Transmitter Holding Register
Definition: component_usart.h:49
RwReg US_WPMR
(Usart Offset: 0xE4) Write Protect Mode Register
Definition: component_usart.h:59
RoReg US_WPSR
(Usart Offset: 0xE8) Write Protect Status Register
Definition: component_usart.h:60
RwReg US_RCR
(Usart Offset: 0x104) Receive Counter Register
Definition: component_usart.h:63
RoReg US_CSR
(Usart Offset: 0x0014) Channel Status Register
Definition: component_usart.h:47
WoReg US_IDR
(Usart Offset: 0x000C) Interrupt Disable Register
Definition: component_usart.h:45
RwReg US_TNCR
(Usart Offset: 0x11C) Transmit Next Counter Register
Definition: component_usart.h:69
RoReg US_PTSR
(Usart Offset: 0x124) Transfer Status Register
Definition: component_usart.h:71
RwReg US_FIDI
(Usart Offset: 0x0040) FI DI Ratio Register
Definition: component_usart.h:54
volatile const uint32_t RoReg
Definition: sam3n00a.h:49
RwReg US_IF
(Usart Offset: 0x004C) IrDA Filter Register
Definition: component_usart.h:57
RwReg US_TTGR
(Usart Offset: 0x0028) Transmitter Timeguard Register
Definition: component_usart.h:52
RoReg US_NER
(Usart Offset: 0x0044) Number of Errors Register
Definition: component_usart.h:55