Robobo
component_usart.h
1 /* ----------------------------------------------------------------------------
2  * SAM Software Package License
3  * ----------------------------------------------------------------------------
4  * Copyright (c) 2012, Atmel Corporation
5  *
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following condition is met:
10  *
11  * - Redistributions of source code must retain the above copyright notice,
12  * this list of conditions and the disclaimer below.
13  *
14  * Atmel's name may not be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  * ----------------------------------------------------------------------------
28  */
29 
30 #ifndef _SAM3XA_USART_COMPONENT_
31 #define _SAM3XA_USART_COMPONENT_
32 
33 /* ============================================================================= */
35 /* ============================================================================= */
38 
39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
40 
41 typedef struct {
42  WoReg US_CR;
43  RwReg US_MR;
44  WoReg US_IER;
45  WoReg US_IDR;
46  RoReg US_IMR;
47  RoReg US_CSR;
48  RoReg US_RHR;
49  WoReg US_THR;
50  RwReg US_BRGR;
51  RwReg US_RTOR;
52  RwReg US_TTGR;
53  RoReg Reserved1[5];
54  RwReg US_FIDI;
55  RoReg US_NER;
56  RoReg Reserved2[1];
57  RwReg US_IF;
58  RwReg US_MAN;
61  RoReg Reserved3[34];
62  RwReg US_WPMR;
63  RoReg US_WPSR;
64  RoReg Reserved4[5];
65  RwReg US_RPR;
66  RwReg US_RCR;
67  RwReg US_TPR;
68  RwReg US_TCR;
69  RwReg US_RNPR;
70  RwReg US_RNCR;
71  RwReg US_TNPR;
72  RwReg US_TNCR;
73  WoReg US_PTCR;
74  RoReg US_PTSR;
75 } Usart;
76 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
77 /* -------- US_CR : (USART Offset: 0x0000) Control Register -------- */
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)
98 /* -------- US_MR : (USART Offset: 0x0004) Mode Register -------- */
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)
159 /* -------- US_IER : (USART Offset: 0x0008) Interrupt Enable Register -------- */
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)
185 /* -------- US_IDR : (USART Offset: 0x000C) Interrupt Disable Register -------- */
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)
211 /* -------- US_IMR : (USART Offset: 0x0010) Interrupt Mask Register -------- */
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)
237 /* -------- US_CSR : (USART Offset: 0x0014) Channel Status Register -------- */
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)
265 /* -------- US_RHR : (USART Offset: 0x0018) Receiver Holding Register -------- */
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)
269 /* -------- US_THR : (USART Offset: 0x001C) Transmitter Holding Register -------- */
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)
274 /* -------- US_BRGR : (USART Offset: 0x0020) Baud Rate Generator Register -------- */
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)))
281 /* -------- US_RTOR : (USART Offset: 0x0024) Receiver Time-out Register -------- */
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)))
285 /* -------- US_TTGR : (USART Offset: 0x0028) Transmitter Timeguard Register -------- */
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)))
289 /* -------- US_FIDI : (USART Offset: 0x0040) FI DI Ratio Register -------- */
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)))
293 /* -------- US_NER : (USART Offset: 0x0044) Number of Errors Register -------- */
294 #define US_NER_NB_ERRORS_Pos 0
295 #define US_NER_NB_ERRORS_Msk (0xffu << US_NER_NB_ERRORS_Pos)
296 /* -------- US_IF : (USART Offset: 0x004C) IrDA Filter Register -------- */
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)))
300 /* -------- US_MAN : (USART Offset: 0x0050) Manchester Encoder Decoder Register -------- */
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)
323 /* -------- US_LINMR : (USART Offset: 0x0054) LIN Mode Register -------- */
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)
339 /* -------- US_LINIR : (USART Offset: 0x0058) LIN Identifier Register -------- */
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)))
343 /* -------- US_WPMR : (USART Offset: 0xE4) Write Protect Mode Register -------- */
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)))
348 /* -------- US_WPSR : (USART Offset: 0xE8) Write Protect Status Register -------- */
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)
352 /* -------- US_RPR : (USART Offset: 0x100) Receive Pointer Register -------- */
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)))
356 /* -------- US_RCR : (USART Offset: 0x104) Receive Counter Register -------- */
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)))
360 /* -------- US_TPR : (USART Offset: 0x108) Transmit Pointer Register -------- */
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)))
364 /* -------- US_TCR : (USART Offset: 0x10C) Transmit Counter Register -------- */
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)))
368 /* -------- US_RNPR : (USART Offset: 0x110) Receive Next Pointer Register -------- */
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)))
372 /* -------- US_RNCR : (USART Offset: 0x114) Receive Next Counter Register -------- */
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)))
376 /* -------- US_TNPR : (USART Offset: 0x118) Transmit Next Pointer Register -------- */
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)))
380 /* -------- US_TNCR : (USART Offset: 0x11C) Transmit Next Counter Register -------- */
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)))
384 /* -------- US_PTCR : (USART Offset: 0x120) Transfer Control Register -------- */
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)
389 /* -------- US_PTSR : (USART Offset: 0x124) Transfer Status Register -------- */
390 #define US_PTSR_RXTEN (0x1u << 0)
391 #define US_PTSR_TXTEN (0x1u << 8)
394 
395 
396 #endif /* _SAM3XA_USART_COMPONENT_ */
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