1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"UART registers"]
28unsafe impl ::core::marker::Send for super::Uart {}
29unsafe impl ::core::marker::Sync for super::Uart {}
30impl super::Uart {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Component Type Register"]
38 #[inline(always)]
39 pub const fn uart_ctr_high_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::UartCtrHighReg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::UartCtrHighReg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(254usize),
45 )
46 }
47 }
48
49 #[doc = "Component Type Register"]
50 #[inline(always)]
51 pub const fn uart_ctr_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::UartCtrReg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::UartCtrReg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(252usize),
57 )
58 }
59 }
60
61 #[doc = "Divisor Latch Fraction Register"]
62 #[inline(always)]
63 pub const fn uart_dlf_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::UartDlfReg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::UartDlfReg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(192usize),
69 )
70 }
71 }
72
73 #[doc = "DMA Software Acknowledge"]
74 #[inline(always)]
75 pub const fn uart_dmasa_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::UartDmasaReg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::UartDmasaReg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(168usize),
81 )
82 }
83 }
84
85 #[doc = "FIFO Access Register"]
86 #[inline(always)]
87 pub const fn uart_far_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::UartFarReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::UartFarReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(112usize),
93 )
94 }
95 }
96
97 #[doc = "Halt TX"]
98 #[inline(always)]
99 pub const fn uart_htx_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::UartHtxReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::UartHtxReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(164usize),
105 )
106 }
107 }
108
109 #[doc = "Interrupt Enable Register/Divisor Latch High"]
110 #[inline(always)]
111 pub const fn uart_ier_dlh_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::UartIerDlhReg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::UartIerDlhReg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(4usize),
117 )
118 }
119 }
120
121 #[doc = "Interrupt Identification Register/FIFO Control Register"]
122 #[inline(always)]
123 pub const fn uart_iir_fcr_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::UartIirFcrReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::UartIirFcrReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(8usize),
129 )
130 }
131 }
132
133 #[doc = "Line Control Register"]
134 #[inline(always)]
135 pub const fn uart_lcr_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::UartLcrReg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::UartLcrReg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(12usize),
141 )
142 }
143 }
144
145 #[doc = "Line Status Register"]
146 #[inline(always)]
147 pub const fn uart_lsr_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::UartLsrReg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::UartLsrReg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(20usize),
153 )
154 }
155 }
156
157 #[doc = "Modem Control Register"]
158 #[inline(always)]
159 pub const fn uart_mcr_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::UartMcrReg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::UartMcrReg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(16usize),
165 )
166 }
167 }
168
169 #[doc = "Modem Status Register"]
170 #[inline(always)]
171 pub const fn uart_msr_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::UartMsrReg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::UartMsrReg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(24usize),
177 )
178 }
179 }
180
181 #[doc = "Receive Buffer Register/Transmit Holding Register/Divisor Latch Low"]
182 #[inline(always)]
183 pub const fn uart_rbr_thr_dll_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::UartRbrThrDllReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::UartRbrThrDllReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(0usize),
189 )
190 }
191 }
192
193 #[doc = "Receive FIFO Level"]
194 #[inline(always)]
195 pub const fn uart_rfl_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::UartRflReg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::UartRflReg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(132usize),
201 )
202 }
203 }
204
205 #[doc = "Shadow Break Control Register"]
206 #[inline(always)]
207 pub const fn uart_sbcr_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::UartSbcrReg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::UartSbcrReg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(144usize),
213 )
214 }
215 }
216
217 #[doc = "Scratchpad Register"]
218 #[inline(always)]
219 pub const fn uart_scr_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::UartScrReg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::UartScrReg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(28usize),
225 )
226 }
227 }
228
229 #[doc = "Shadow DMA Mode"]
230 #[inline(always)]
231 pub const fn uart_sdmam_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::UartSdmamReg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::UartSdmamReg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(148usize),
237 )
238 }
239 }
240
241 #[doc = "Shadow FIFO Enable"]
242 #[inline(always)]
243 pub const fn uart_sfe_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::UartSfeReg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::UartSfeReg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(152usize),
249 )
250 }
251 }
252
253 #[doc = "Shadow Receive/Transmit Buffer Register"]
254 #[inline(always)]
255 pub const fn uart_srbr_sthr0_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::UartSrbrSthr0Reg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::UartSrbrSthr0Reg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(48usize),
261 )
262 }
263 }
264
265 #[doc = "Shadow Receive/Transmit Buffer Register"]
266 #[inline(always)]
267 pub const fn uart_srbr_sthr10_reg(
268 &self,
269 ) -> &'static crate::common::Reg<self::UartSrbrSthr10Reg_SPEC, crate::common::RW> {
270 unsafe {
271 crate::common::Reg::<self::UartSrbrSthr10Reg_SPEC, crate::common::RW>::from_ptr(
272 self._svd2pac_as_ptr().add(88usize),
273 )
274 }
275 }
276
277 #[doc = "Shadow Receive/Transmit Buffer Register"]
278 #[inline(always)]
279 pub const fn uart_srbr_sthr11_reg(
280 &self,
281 ) -> &'static crate::common::Reg<self::UartSrbrSthr11Reg_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::UartSrbrSthr11Reg_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(92usize),
285 )
286 }
287 }
288
289 #[doc = "Shadow Receive/Transmit Buffer Register"]
290 #[inline(always)]
291 pub const fn uart_srbr_sthr12_reg(
292 &self,
293 ) -> &'static crate::common::Reg<self::UartSrbrSthr12Reg_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::UartSrbrSthr12Reg_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(96usize),
297 )
298 }
299 }
300
301 #[doc = "Shadow Receive/Transmit Buffer Register"]
302 #[inline(always)]
303 pub const fn uart_srbr_sthr13_reg(
304 &self,
305 ) -> &'static crate::common::Reg<self::UartSrbrSthr13Reg_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::UartSrbrSthr13Reg_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(100usize),
309 )
310 }
311 }
312
313 #[doc = "Shadow Receive/Transmit Buffer Register"]
314 #[inline(always)]
315 pub const fn uart_srbr_sthr14_reg(
316 &self,
317 ) -> &'static crate::common::Reg<self::UartSrbrSthr14Reg_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::UartSrbrSthr14Reg_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(104usize),
321 )
322 }
323 }
324
325 #[doc = "Shadow Receive/Transmit Buffer Register"]
326 #[inline(always)]
327 pub const fn uart_srbr_sthr15_reg(
328 &self,
329 ) -> &'static crate::common::Reg<self::UartSrbrSthr15Reg_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::UartSrbrSthr15Reg_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(108usize),
333 )
334 }
335 }
336
337 #[doc = "Shadow Receive/Transmit Buffer Register"]
338 #[inline(always)]
339 pub const fn uart_srbr_sthr1_reg(
340 &self,
341 ) -> &'static crate::common::Reg<self::UartSrbrSthr1Reg_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::UartSrbrSthr1Reg_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(52usize),
345 )
346 }
347 }
348
349 #[doc = "Shadow Receive/Transmit Buffer Register"]
350 #[inline(always)]
351 pub const fn uart_srbr_sthr2_reg(
352 &self,
353 ) -> &'static crate::common::Reg<self::UartSrbrSthr2Reg_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::UartSrbrSthr2Reg_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(56usize),
357 )
358 }
359 }
360
361 #[doc = "Shadow Receive/Transmit Buffer Register"]
362 #[inline(always)]
363 pub const fn uart_srbr_sthr3_reg(
364 &self,
365 ) -> &'static crate::common::Reg<self::UartSrbrSthr3Reg_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::UartSrbrSthr3Reg_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(60usize),
369 )
370 }
371 }
372
373 #[doc = "Shadow Receive/Transmit Buffer Register"]
374 #[inline(always)]
375 pub const fn uart_srbr_sthr4_reg(
376 &self,
377 ) -> &'static crate::common::Reg<self::UartSrbrSthr4Reg_SPEC, crate::common::RW> {
378 unsafe {
379 crate::common::Reg::<self::UartSrbrSthr4Reg_SPEC, crate::common::RW>::from_ptr(
380 self._svd2pac_as_ptr().add(64usize),
381 )
382 }
383 }
384
385 #[doc = "Shadow Receive/Transmit Buffer Register"]
386 #[inline(always)]
387 pub const fn uart_srbr_sthr5_reg(
388 &self,
389 ) -> &'static crate::common::Reg<self::UartSrbrSthr5Reg_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::UartSrbrSthr5Reg_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(68usize),
393 )
394 }
395 }
396
397 #[doc = "Shadow Receive/Transmit Buffer Register"]
398 #[inline(always)]
399 pub const fn uart_srbr_sthr6_reg(
400 &self,
401 ) -> &'static crate::common::Reg<self::UartSrbrSthr6Reg_SPEC, crate::common::RW> {
402 unsafe {
403 crate::common::Reg::<self::UartSrbrSthr6Reg_SPEC, crate::common::RW>::from_ptr(
404 self._svd2pac_as_ptr().add(72usize),
405 )
406 }
407 }
408
409 #[doc = "Shadow Receive/Transmit Buffer Register"]
410 #[inline(always)]
411 pub const fn uart_srbr_sthr7_reg(
412 &self,
413 ) -> &'static crate::common::Reg<self::UartSrbrSthr7Reg_SPEC, crate::common::RW> {
414 unsafe {
415 crate::common::Reg::<self::UartSrbrSthr7Reg_SPEC, crate::common::RW>::from_ptr(
416 self._svd2pac_as_ptr().add(76usize),
417 )
418 }
419 }
420
421 #[doc = "Shadow Receive/Transmit Buffer Register"]
422 #[inline(always)]
423 pub const fn uart_srbr_sthr8_reg(
424 &self,
425 ) -> &'static crate::common::Reg<self::UartSrbrSthr8Reg_SPEC, crate::common::RW> {
426 unsafe {
427 crate::common::Reg::<self::UartSrbrSthr8Reg_SPEC, crate::common::RW>::from_ptr(
428 self._svd2pac_as_ptr().add(80usize),
429 )
430 }
431 }
432
433 #[doc = "Shadow Receive/Transmit Buffer Register"]
434 #[inline(always)]
435 pub const fn uart_srbr_sthr9_reg(
436 &self,
437 ) -> &'static crate::common::Reg<self::UartSrbrSthr9Reg_SPEC, crate::common::RW> {
438 unsafe {
439 crate::common::Reg::<self::UartSrbrSthr9Reg_SPEC, crate::common::RW>::from_ptr(
440 self._svd2pac_as_ptr().add(84usize),
441 )
442 }
443 }
444
445 #[doc = "Software Reset Register."]
446 #[inline(always)]
447 pub const fn uart_srr_reg(
448 &self,
449 ) -> &'static crate::common::Reg<self::UartSrrReg_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::UartSrrReg_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(136usize),
453 )
454 }
455 }
456
457 #[doc = "Shadow Request to Send"]
458 #[inline(always)]
459 pub const fn uart_srts_reg(
460 &self,
461 ) -> &'static crate::common::Reg<self::UartSrtsReg_SPEC, crate::common::RW> {
462 unsafe {
463 crate::common::Reg::<self::UartSrtsReg_SPEC, crate::common::RW>::from_ptr(
464 self._svd2pac_as_ptr().add(140usize),
465 )
466 }
467 }
468
469 #[doc = "Shadow RCVR Trigger"]
470 #[inline(always)]
471 pub const fn uart_srt_reg(
472 &self,
473 ) -> &'static crate::common::Reg<self::UartSrtReg_SPEC, crate::common::RW> {
474 unsafe {
475 crate::common::Reg::<self::UartSrtReg_SPEC, crate::common::RW>::from_ptr(
476 self._svd2pac_as_ptr().add(156usize),
477 )
478 }
479 }
480
481 #[doc = "Shadow TX Empty Trigger"]
482 #[inline(always)]
483 pub const fn uart_stet_reg(
484 &self,
485 ) -> &'static crate::common::Reg<self::UartStetReg_SPEC, crate::common::RW> {
486 unsafe {
487 crate::common::Reg::<self::UartStetReg_SPEC, crate::common::RW>::from_ptr(
488 self._svd2pac_as_ptr().add(160usize),
489 )
490 }
491 }
492
493 #[doc = "Transmit FIFO Level"]
494 #[inline(always)]
495 pub const fn uart_tfl_reg(
496 &self,
497 ) -> &'static crate::common::Reg<self::UartTflReg_SPEC, crate::common::RW> {
498 unsafe {
499 crate::common::Reg::<self::UartTflReg_SPEC, crate::common::RW>::from_ptr(
500 self._svd2pac_as_ptr().add(128usize),
501 )
502 }
503 }
504
505 #[doc = "Component Version"]
506 #[inline(always)]
507 pub const fn uart_ucv_high_reg(
508 &self,
509 ) -> &'static crate::common::Reg<self::UartUcvHighReg_SPEC, crate::common::RW> {
510 unsafe {
511 crate::common::Reg::<self::UartUcvHighReg_SPEC, crate::common::RW>::from_ptr(
512 self._svd2pac_as_ptr().add(250usize),
513 )
514 }
515 }
516
517 #[doc = "Component Version"]
518 #[inline(always)]
519 pub const fn uart_ucv_reg(
520 &self,
521 ) -> &'static crate::common::Reg<self::UartUcvReg_SPEC, crate::common::RW> {
522 unsafe {
523 crate::common::Reg::<self::UartUcvReg_SPEC, crate::common::RW>::from_ptr(
524 self._svd2pac_as_ptr().add(248usize),
525 )
526 }
527 }
528
529 #[doc = "UART Status Register"]
530 #[inline(always)]
531 pub const fn uart_usr_reg(
532 &self,
533 ) -> &'static crate::common::Reg<self::UartUsrReg_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::UartUsrReg_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(124usize),
537 )
538 }
539 }
540}
541#[doc(hidden)]
542#[derive(Copy, Clone, Eq, PartialEq)]
543pub struct UartCtrHighReg_SPEC;
544impl crate::sealed::RegSpec for UartCtrHighReg_SPEC {
545 type DataType = u16;
546}
547
548#[doc = "Component Type Register"]
549pub type UartCtrHighReg = crate::RegValueT<UartCtrHighReg_SPEC>;
550
551impl UartCtrHighReg {
552 #[doc = "Component Type Register"]
553 #[inline(always)]
554 pub fn ctr(
555 self,
556 ) -> crate::common::RegisterField<
557 0,
558 0xffff,
559 1,
560 0,
561 u16,
562 u16,
563 UartCtrHighReg_SPEC,
564 crate::common::R,
565 > {
566 crate::common::RegisterField::<
567 0,
568 0xffff,
569 1,
570 0,
571 u16,
572 u16,
573 UartCtrHighReg_SPEC,
574 crate::common::R,
575 >::from_register(self, 0)
576 }
577}
578impl ::core::default::Default for UartCtrHighReg {
579 #[inline(always)]
580 fn default() -> UartCtrHighReg {
581 <crate::RegValueT<UartCtrHighReg_SPEC> as RegisterValue<_>>::new(17495)
582 }
583}
584
585#[doc(hidden)]
586#[derive(Copy, Clone, Eq, PartialEq)]
587pub struct UartCtrReg_SPEC;
588impl crate::sealed::RegSpec for UartCtrReg_SPEC {
589 type DataType = u16;
590}
591
592#[doc = "Component Type Register"]
593pub type UartCtrReg = crate::RegValueT<UartCtrReg_SPEC>;
594
595impl UartCtrReg {
596 #[doc = "Component Type Register"]
597 #[inline(always)]
598 pub fn ctr(
599 self,
600 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, UartCtrReg_SPEC, crate::common::R>
601 {
602 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,UartCtrReg_SPEC,crate::common::R>::from_register(self,0)
603 }
604}
605impl ::core::default::Default for UartCtrReg {
606 #[inline(always)]
607 fn default() -> UartCtrReg {
608 <crate::RegValueT<UartCtrReg_SPEC> as RegisterValue<_>>::new(272)
609 }
610}
611
612#[doc(hidden)]
613#[derive(Copy, Clone, Eq, PartialEq)]
614pub struct UartDlfReg_SPEC;
615impl crate::sealed::RegSpec for UartDlfReg_SPEC {
616 type DataType = u16;
617}
618
619#[doc = "Divisor Latch Fraction Register"]
620pub type UartDlfReg = crate::RegValueT<UartDlfReg_SPEC>;
621
622impl UartDlfReg {
623 #[doc = "The fractional value is added to integer value set by DLH, DLL. Fractional value is equal UART_DLF/16"]
624 #[inline(always)]
625 pub fn uart_dlf(
626 self,
627 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, UartDlfReg_SPEC, crate::common::RW>
628 {
629 crate::common::RegisterField::<0,0xf,1,0,u8,u8,UartDlfReg_SPEC,crate::common::RW>::from_register(self,0)
630 }
631}
632impl ::core::default::Default for UartDlfReg {
633 #[inline(always)]
634 fn default() -> UartDlfReg {
635 <crate::RegValueT<UartDlfReg_SPEC> as RegisterValue<_>>::new(0)
636 }
637}
638
639#[doc(hidden)]
640#[derive(Copy, Clone, Eq, PartialEq)]
641pub struct UartDmasaReg_SPEC;
642impl crate::sealed::RegSpec for UartDmasaReg_SPEC {
643 type DataType = u16;
644}
645
646#[doc = "DMA Software Acknowledge"]
647pub type UartDmasaReg = crate::RegValueT<UartDmasaReg_SPEC>;
648
649impl UartDmasaReg {
650 #[doc = "This register is use to perform DMA software acknowledge if a transfer needs to be terminated due to an error condition. For example, if the DMA disables the channel, then the DW_apb_uart should clear its request. This will cause the TX request, TX single, RX request and RX single signals to de-assert. Note that this bit is \'self-clearing\' and it is not necessary to clear this bit."]
651 #[inline(always)]
652 pub fn dmasa(
653 self,
654 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartDmasaReg_SPEC, crate::common::W> {
655 crate::common::RegisterFieldBool::<0,1,0,UartDmasaReg_SPEC,crate::common::W>::from_register(self,0)
656 }
657}
658impl ::core::default::Default for UartDmasaReg {
659 #[inline(always)]
660 fn default() -> UartDmasaReg {
661 <crate::RegValueT<UartDmasaReg_SPEC> as RegisterValue<_>>::new(0)
662 }
663}
664
665#[doc(hidden)]
666#[derive(Copy, Clone, Eq, PartialEq)]
667pub struct UartFarReg_SPEC;
668impl crate::sealed::RegSpec for UartFarReg_SPEC {
669 type DataType = u16;
670}
671
672#[doc = "FIFO Access Register"]
673pub type UartFarReg = crate::RegValueT<UartFarReg_SPEC>;
674
675impl UartFarReg {
676 #[doc = "Description: Writes will have no effect when FIFO_ACCESS == No, always readable. This register is use to enable a FIFO access mode for testing, so that the receive FIFO can be written by the master and the transmit FIFO can be read by the master when FIFO\'s are implemented and enabled. When FIFO\'s are not implemented or not enabled it allows the RBR to be written by the master and the THR to be read by the master. 0 = FIFO access mode disabled 1 = FIFO access mode enabled Note, that when the FIFO access mode is enabled/disabled, the control portion of the receive FIFO and transmit FIFO is reset and the FIFO\'s are treated as empty."]
677 #[inline(always)]
678 pub fn uart_far(
679 self,
680 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartFarReg_SPEC, crate::common::R> {
681 crate::common::RegisterFieldBool::<0,1,0,UartFarReg_SPEC,crate::common::R>::from_register(self,0)
682 }
683}
684impl ::core::default::Default for UartFarReg {
685 #[inline(always)]
686 fn default() -> UartFarReg {
687 <crate::RegValueT<UartFarReg_SPEC> as RegisterValue<_>>::new(0)
688 }
689}
690
691#[doc(hidden)]
692#[derive(Copy, Clone, Eq, PartialEq)]
693pub struct UartHtxReg_SPEC;
694impl crate::sealed::RegSpec for UartHtxReg_SPEC {
695 type DataType = u16;
696}
697
698#[doc = "Halt TX"]
699pub type UartHtxReg = crate::RegValueT<UartHtxReg_SPEC>;
700
701impl UartHtxReg {
702 #[doc = "This register is use to halt transmissions for testing, so that the transmit FIFO can be filled by the master when FIFOs are implemented and enabled.\n0 = Halt TX disabled\n1 = Halt TX enabled\nNote, if FIFOs are implemented and not enabled, the setting of the halt TX register has no effect on operation."]
703 #[inline(always)]
704 pub fn uart_halt_tx(
705 self,
706 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartHtxReg_SPEC, crate::common::RW> {
707 crate::common::RegisterFieldBool::<0,1,0,UartHtxReg_SPEC,crate::common::RW>::from_register(self,0)
708 }
709}
710impl ::core::default::Default for UartHtxReg {
711 #[inline(always)]
712 fn default() -> UartHtxReg {
713 <crate::RegValueT<UartHtxReg_SPEC> as RegisterValue<_>>::new(0)
714 }
715}
716
717#[doc(hidden)]
718#[derive(Copy, Clone, Eq, PartialEq)]
719pub struct UartIerDlhReg_SPEC;
720impl crate::sealed::RegSpec for UartIerDlhReg_SPEC {
721 type DataType = u16;
722}
723
724#[doc = "Interrupt Enable Register/Divisor Latch High"]
725pub type UartIerDlhReg = crate::RegValueT<UartIerDlhReg_SPEC>;
726
727impl UartIerDlhReg {
728 #[doc = "Interrupt Enable Register: PTIME, Programmable THRE Interrupt Mode Enable. This is used to enable/disable the generation of THRE Interrupt. 0 = disabled 1 = enabled. \nDivisor Latch (High): DLH7, Bit 7 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set. See register UART_RBR_THR_DLL_REG."]
729 #[inline(always)]
730 pub fn ptime_dlh7(
731 self,
732 ) -> crate::common::RegisterFieldBool<7, 1, 0, UartIerDlhReg_SPEC, crate::common::RW> {
733 crate::common::RegisterFieldBool::<7,1,0,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
734 }
735
736 #[doc = "Divisor Latch (High): DLH6 to DLH4, Bits 6 to 4 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set, otherwise, this field is reserved. See register UART_RBR_THR_DLL_REG."]
737 #[inline(always)]
738 pub fn dlh6_4(
739 self,
740 ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, UartIerDlhReg_SPEC, crate::common::RW>
741 {
742 crate::common::RegisterField::<4,0x7,1,0,u8,u8,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
743 }
744
745 #[doc = "Interrupt Enable Register: EDSSI, Enable Modem Status Interrupt. This is used to enable/disable the generation of Modem Status Interrupt. This is the fourth highest priority interrupt. 0 = disabled 1 = enabled\nDivisor Latch (High): DLH3, Bit 3 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set. See register UART_RBR_THR_DLL_REG."]
746 #[inline(always)]
747 pub fn edssi_dlh3(
748 self,
749 ) -> crate::common::RegisterFieldBool<3, 1, 0, UartIerDlhReg_SPEC, crate::common::RW> {
750 crate::common::RegisterFieldBool::<3,1,0,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
751 }
752
753 #[doc = "Interrupt Enable Register: ELSI, Enable Receiver Line Status Interrupt. This is used to enable/disable the generation of Receiver Line Status Interrupt. This is the highest priority interrupt. 0 = disabled 1 = enabled\nDivisor Latch (High): DLH2, Bit 2 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set. See register UART_RBR_THR_DLL_REG."]
754 #[inline(always)]
755 pub fn elsi_dhl2(
756 self,
757 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartIerDlhReg_SPEC, crate::common::RW> {
758 crate::common::RegisterFieldBool::<2,1,0,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
759 }
760
761 #[doc = "Interrupt Enable Register: ETBEI, Enable Transmit Holding Register Empty Interrupt. This is used to enable/disable the generation of Transmitter Holding Register Empty Interrupt. This is the third highest priority interrupt. 0 = disabled 1 = enabled \nDivisor Latch (High): DLH1, Bit 1 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set. See register UART_RBR_THR_DLL_REG."]
762 #[inline(always)]
763 pub fn etbei_dlh1(
764 self,
765 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartIerDlhReg_SPEC, crate::common::RW> {
766 crate::common::RegisterFieldBool::<1,1,0,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
767 }
768
769 #[doc = "Interrupt Enable Register: ERBFI, Enable Received Data Available Interrupt. This is used to enable/disable the generation of Received Data Available Interrupt and the Character Timeout Interrupt (if in FIFO mode and FIFO\'s enabled). These are the second highest priority interrupts. 0 = disabled 1 = enabled\nDivisor Latch (High): DLH0, Bit 0 of the upper part of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may be accessed only when the DLAB bit (LCR\\[7\\]) is set. See register UART_RBR_THR_DLL_REG."]
770 #[inline(always)]
771 pub fn erbfi_dlh0(
772 self,
773 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartIerDlhReg_SPEC, crate::common::RW> {
774 crate::common::RegisterFieldBool::<0,1,0,UartIerDlhReg_SPEC,crate::common::RW>::from_register(self,0)
775 }
776}
777impl ::core::default::Default for UartIerDlhReg {
778 #[inline(always)]
779 fn default() -> UartIerDlhReg {
780 <crate::RegValueT<UartIerDlhReg_SPEC> as RegisterValue<_>>::new(0)
781 }
782}
783
784#[doc(hidden)]
785#[derive(Copy, Clone, Eq, PartialEq)]
786pub struct UartIirFcrReg_SPEC;
787impl crate::sealed::RegSpec for UartIirFcrReg_SPEC {
788 type DataType = u16;
789}
790
791#[doc = "Interrupt Identification Register/FIFO Control Register"]
792pub type UartIirFcrReg = crate::RegValueT<UartIirFcrReg_SPEC>;
793
794impl UartIirFcrReg {
795 #[doc = "On read\nFIFO\'s Enabled (or FIFOSE): This is used to indicate whether the FIFO\'s are enabled or disabled. 00 = disabled. 11 = enabled.\nOn write\nRCVR Trigger (or RT):. This is used to select the trigger level in the receiver FIFO at which the Received Data Available Interrupt will be generated. In auto flow control mode it is used to determine when the rts_n signal will be de-asserted. It also determines when the dma_rx_req_n signal will be asserted when in certain modes of operation. The following trigger levels are supported: 00 = 1 character in the FIFO 01 = FIFO 1/4 full 10 = FIFO 1/2 full 11 = FIFO 2 less than full"]
796 #[inline(always)]
797 pub fn uart_fifose_rt(
798 self,
799 ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, UartIirFcrReg_SPEC, crate::common::RW>
800 {
801 crate::common::RegisterField::<6,0x3,1,0,u8,u8,UartIirFcrReg_SPEC,crate::common::RW>::from_register(self,0)
802 }
803
804 #[doc = "On read\nreserved\nOn Write\nTX Empty Trigger (or TET): This is used to select the empty threshold level at which the THRE Interrupts will be generated when the mode is active. It also determines when the dma_tx_req_n signal will be asserted when in certain modes of operation. The following trigger levels are supported: 00 = FIFO empty 01 = 2 characters in the FIFO 10 = FIFO 1/4 full 11 = FIFO 1/2 full"]
805 #[inline(always)]
806 pub fn uart_tet(
807 self,
808 ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, UartIirFcrReg_SPEC, crate::common::W>
809 {
810 crate::common::RegisterField::<4,0x3,1,0,u8,u8,UartIirFcrReg_SPEC,crate::common::W>::from_register(self,0)
811 }
812
813 #[doc = "On Read (Bit3)\nInterrupt ID (or IID): This indicates the highest priority pending interrupt which can be one of the following types:\n0001 = no interrupt pending.\n0010 = THR empty.\n0100 = received data available.\n0110 = receiver line status.\n0111 = busy detect.\n1100 = character timeout.\nOn Write\nDMA Mode (or DMAM): This determines the DMA signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1"]
814 #[inline(always)]
815 pub fn uart_iid3_dmam(
816 self,
817 ) -> crate::common::RegisterFieldBool<3, 1, 0, UartIirFcrReg_SPEC, crate::common::RW> {
818 crate::common::RegisterFieldBool::<3,1,0,UartIirFcrReg_SPEC,crate::common::RW>::from_register(self,0)
819 }
820
821 #[doc = "On Read (Bit2)\nInterrupt ID (or IID): This indicates the highest priority pending interrupt which can be one of the following types:\n0001 = no interrupt pending.\n0010 = THR empty.\n0100 = received data available.\n0110 = receiver line status.\n0111 = busy detect.\n1100 = character timeout.\nOn Write\nXMIT FIFO Reset (or XFIFOR): This resets the control portion of the transmit FIFO and treats the FIFO as empty. Note that this bit is \'self-clearing\' and it is not necessary to clear this bit."]
822 #[inline(always)]
823 pub fn uart_iid2_xfifor(
824 self,
825 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartIirFcrReg_SPEC, crate::common::RW> {
826 crate::common::RegisterFieldBool::<2,1,0,UartIirFcrReg_SPEC,crate::common::RW>::from_register(self,0)
827 }
828
829 #[doc = "On Read (Bit1)\nInterrupt ID (or IID): This indicates the highest priority pending interrupt which can be one of the following types:\n0001 = no interrupt pending.\n0010 = THR empty.\n0100 = received data available.\n0110 = receiver line status.\n0111 = busy detect.\n1100 = character timeout.\nOn Write\nRCVR FIFO Reset (or RFIFOR): This resets the control portion of the receive FIFO and treats the FIFO as empty. Note that this bit is \'self-clearing\' and it is not necessary to clear this bit."]
830 #[inline(always)]
831 pub fn uart_iid1_rfifoe(
832 self,
833 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartIirFcrReg_SPEC, crate::common::RW> {
834 crate::common::RegisterFieldBool::<1,1,0,UartIirFcrReg_SPEC,crate::common::RW>::from_register(self,0)
835 }
836
837 #[doc = "On Read (Bit0)\nInterrupt ID (or IID): This indicates the highest priority pending interrupt which can be one of the following types:\n0001 = no interrupt pending.\n0010 = THR empty.\n0100 = received data available.\n0110 = receiver line status.\n0111 = busy detect.\n1100 = character timeout.\nOn Write\nFIFO Enable (or FIFOE): This enables/disables the transmit (XMIT) and receive (RCVR) FIFO\'s. Whenever the value of this bit is changed both the XMIT and RCVR controller portion of FIFO\'s will be reset"]
838 #[inline(always)]
839 pub fn uart_iid0_fifoe(
840 self,
841 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartIirFcrReg_SPEC, crate::common::RW> {
842 crate::common::RegisterFieldBool::<0,1,0,UartIirFcrReg_SPEC,crate::common::RW>::from_register(self,0)
843 }
844}
845impl ::core::default::Default for UartIirFcrReg {
846 #[inline(always)]
847 fn default() -> UartIirFcrReg {
848 <crate::RegValueT<UartIirFcrReg_SPEC> as RegisterValue<_>>::new(1)
849 }
850}
851
852#[doc(hidden)]
853#[derive(Copy, Clone, Eq, PartialEq)]
854pub struct UartLcrReg_SPEC;
855impl crate::sealed::RegSpec for UartLcrReg_SPEC {
856 type DataType = u16;
857}
858
859#[doc = "Line Control Register"]
860pub type UartLcrReg = crate::RegValueT<UartLcrReg_SPEC>;
861
862impl UartLcrReg {
863 #[doc = "Divisor Latch Access Bit. Writeable only when UART is not busy (USR\\[0\\] is zero).\nThis bit is used to enable reading and writing of the Divisor Latch register (DLL and DLH) to set the baud rate of the UART.\nThis bit must be cleared after initial baud rate setup in order to access other registers."]
864 #[inline(always)]
865 pub fn uart_dlab(
866 self,
867 ) -> crate::common::RegisterFieldBool<7, 1, 0, UartLcrReg_SPEC, crate::common::RW> {
868 crate::common::RegisterFieldBool::<7,1,0,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
869 }
870
871 #[doc = "Break Control Bit.\nThis is used to cause a break condition to be transmitted to the receiving device. If set to one the serial output is forced to the spacing (logic 0) state. When not in Loopback Mode, as determined by MCR\\[4\\], the sout line is forced low until the Break bit is cleared. If active (MCR\\[6\\] set to one) the sir_out_n line is continuously pulsed. When in Loopback Mode, the break condition is internally looped back to the receiver and the sir_out_n line is forced low."]
872 #[inline(always)]
873 pub fn uart_bc(
874 self,
875 ) -> crate::common::RegisterFieldBool<6, 1, 0, UartLcrReg_SPEC, crate::common::RW> {
876 crate::common::RegisterFieldBool::<6,1,0,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
877 }
878
879 #[doc = "Even Parity Select. Writeable only when UART is not busy (USR\\[0\\] is zero).\nThis is used to select between even and odd parity, when parity is enabled (PEN set to one). If set to one, an even number of logic 1s is transmitted or checked. If set to zero, an odd number of logic 1s is transmitted or checked."]
880 #[inline(always)]
881 pub fn uart_eps(
882 self,
883 ) -> crate::common::RegisterFieldBool<4, 1, 0, UartLcrReg_SPEC, crate::common::RW> {
884 crate::common::RegisterFieldBool::<4,1,0,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
885 }
886
887 #[doc = "Parity Enable. Writeable only when UART is not busy (USR\\[0\\] is zero)\nThis bit is used to enable and disable parity generation and detection in transmitted and received serial character respectively.\n0 = parity disabled\n1 = parity enabled"]
888 #[inline(always)]
889 pub fn uart_pen(
890 self,
891 ) -> crate::common::RegisterFieldBool<3, 1, 0, UartLcrReg_SPEC, crate::common::RW> {
892 crate::common::RegisterFieldBool::<3,1,0,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
893 }
894
895 #[doc = "Number of stop bits.Writeable only when UART is not busy (USR\\[0\\] is zero).\nThis is used to select the number of stop bits per character that the peripheral transmits and receives. If set to zero, one stop bit is transmitted in the serial data.\nIf set to one and the data bits are set to 5 (LCR\\[1:0\\] set to zero) one and a half stop bits is transmitted. Otherwise, two stop bits are transmitted. Note that regardless of the number of stop bits selected, the receiver checks only the first stop bit.\n0 = 1 stop bit\n1 = 1.5 stop bits when DLS (LCR\\[1:0\\]) is zero, else 2 stop bit"]
896 #[inline(always)]
897 pub fn uart_stop(
898 self,
899 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartLcrReg_SPEC, crate::common::RW> {
900 crate::common::RegisterFieldBool::<2,1,0,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
901 }
902
903 #[doc = "Data Length Select.Writeable only when UART is not busy (USR\\[0\\] is zero).\nThis is used to select the number of data bits per character that the peripheral transmits and receives. The number of bit that may be selected areas follows:\n00 = 5 bits\n01 = 6 bits\n10 = 7 bits\n11 = 8 bits"]
904 #[inline(always)]
905 pub fn uart_dls(
906 self,
907 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, UartLcrReg_SPEC, crate::common::RW>
908 {
909 crate::common::RegisterField::<0,0x3,1,0,u8,u8,UartLcrReg_SPEC,crate::common::RW>::from_register(self,0)
910 }
911}
912impl ::core::default::Default for UartLcrReg {
913 #[inline(always)]
914 fn default() -> UartLcrReg {
915 <crate::RegValueT<UartLcrReg_SPEC> as RegisterValue<_>>::new(0)
916 }
917}
918
919#[doc(hidden)]
920#[derive(Copy, Clone, Eq, PartialEq)]
921pub struct UartLsrReg_SPEC;
922impl crate::sealed::RegSpec for UartLsrReg_SPEC {
923 type DataType = u16;
924}
925
926#[doc = "Line Status Register"]
927pub type UartLsrReg = crate::RegValueT<UartLsrReg_SPEC>;
928
929impl UartLsrReg {
930 #[doc = "Receiver FIFO Error bit.\nThis bit is only relevant when FIFOs are enabled (FCR\\[0\\] set to one). This is used to indicate if there is at least one parity error, framing error, or break indication in the FIFO.\n0 = no error in RX FIFO\n1 = error in RX FIFO\nThis bit is cleared when the LSR is read and the character with the error is at the top of the receiver FIFO and there are no subsequent errors in the FIFO."]
931 #[inline(always)]
932 pub fn uart_rfe(
933 self,
934 ) -> crate::common::RegisterFieldBool<7, 1, 0, UartLsrReg_SPEC, crate::common::R> {
935 crate::common::RegisterFieldBool::<7,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
936 }
937
938 #[doc = "Transmitter Empty bit.\nIf FIFOs enabled (FCR\\[0\\] set to one), this bit is set whenever the Transmitter Shift Register and the FIFO are both empty. If FIFOs are disabled, this bit is set whenever the Transmitter Holding Register(THR) and the Transmitter Shift Register are both empty."]
939 #[inline(always)]
940 pub fn uart_temt(
941 self,
942 ) -> crate::common::RegisterFieldBool<6, 1, 0, UartLsrReg_SPEC, crate::common::R> {
943 crate::common::RegisterFieldBool::<6,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
944 }
945
946 #[doc = "Transmit Holding Register Empty bit.\nIf THRE mode is disabled (IER\\[7\\] set to zero) and regardless of FIFO\'s being implemented/enabled or not, this bit indicates that the THR or TX FIFO is empty.\nThis bit is set whenever data is transferred from the THR or TX FIFO to the transmitter shift register and no new data has been written to the THR or TX FIFO. This also causes a THRE Interrupt to occur, if the THRE Interrupt is enabled. If both modes are active (IER\\[7\\] set to one and FCR\\[0\\] set to one respectively), the functionality is switched to indicate the transmitter FIFO is full, and no longer controls THRE interrupts, which are then controlled by the FCR\\[5:4\\] threshold setting."]
947 #[inline(always)]
948 pub fn uart_thre(
949 self,
950 ) -> crate::common::RegisterFieldBool<5, 1, 0, UartLsrReg_SPEC, crate::common::R> {
951 crate::common::RegisterFieldBool::<5,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
952 }
953
954 #[doc = "Break Interrupt bit.\nThis is used to indicate the detection of a break sequence on the serial input data.\nIf in UART mode (SIR_MODE == Disabled), it is set whenever the serial input, sin, is held in a logic \'0\' state for longer than the sum of start time + data bits + parity + stop bits.\nIf in infrared mode (SIR_MODE == Enabled), it is set whenever the serial input, sir_in, is continuously pulsed to logic \'0\' for longer than the sum of start time + data bits + parity + stop bits. A break condition on serial input causes one and only one character, consisting of all zeros, to be received by the UART.\nIn the FIFO mode, the character associated with the break condition is carried through the FIFO and is revealed when the character is at the top of the FIFO.\nReading the LSR clears the BI bit. In the non-FIFO mode, the BI indication occurs immediately and persists until the LSR is read."]
955 #[inline(always)]
956 pub fn uart_bi(
957 self,
958 ) -> crate::common::RegisterFieldBool<4, 1, 0, UartLsrReg_SPEC, crate::common::R> {
959 crate::common::RegisterFieldBool::<4,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
960 }
961
962 #[doc = "Framing Error bit.\nThis is used to indicate the occurrence of a framing error in the receiver. A framing error occurs when the receiver does not detect a valid STOP bit in the received data.\nIn the FIFO mode, since the framing error is associated with a character received, it is revealed when the character with the framing error is at the top of the FIFO.\nWhen a framing error occurs, the UART tries to resynchronize. It does this by assuming that the error was due to the start bit of the next character and then continues receiving the other bit i.e. data, and/or parity and stop. It should be noted that the Framing Error (FE) bit (LSR\\[3\\]) is set if a break interrupt has occurred, as indicated by Break Interrupt (BI) bit (LSR\\[4\\]).\n0 = no framing error\n1 = framing error\nReading the LSR clears the FE bit."]
963 #[inline(always)]
964 pub fn uart_fe(
965 self,
966 ) -> crate::common::RegisterFieldBool<3, 1, 0, UartLsrReg_SPEC, crate::common::R> {
967 crate::common::RegisterFieldBool::<3,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
968 }
969
970 #[doc = "Parity Error bit.\nThis is used to indicate the occurrence of a parity error in the receiver if the Parity Enable (PEN) bit (LCR\\[3\\]) is set.\nIn the FIFO mode, since the parity error is associated with a character received, it is revealed when the character with the parity error arrives at the top of the FIFO.\nIt should be noted that the Parity Error (PE) bit (LSR\\[2\\]) is set if a break interrupt has occurred, as indicated by Break Interrupt (BI) bit (LSR\\[4\\]).\n0 = no parity error\n1 = parity error\nReading the LSR clears the PE bit."]
971 #[inline(always)]
972 pub fn uart_pe(
973 self,
974 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartLsrReg_SPEC, crate::common::R> {
975 crate::common::RegisterFieldBool::<2,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
976 }
977
978 #[doc = "Overrun error bit.\nThis is used to indicate the occurrence of an overrun error.\nThis occurs if a new data character was received before the previous data was read.\nIn the non-FIFO mode, the OE bit is set when a new character arrives in the receiver before the previous character was read from the RBR. When this happens, the data in the RBR is overwritten. In the FIFO mode, an overrun error occurs when the FIFO is full and a new character arrives at the receiver. The data in the FIFO is retained and the data in the receive shift register is lost.\n0 = no overrun error\n1 = overrun error\nReading the LSR clears the OE bit."]
979 #[inline(always)]
980 pub fn uart_oe(
981 self,
982 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartLsrReg_SPEC, crate::common::R> {
983 crate::common::RegisterFieldBool::<1,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
984 }
985
986 #[doc = "Data Ready bit.\nThis is used to indicate that the receiver contains at least one character in the RBR or the receiver FIFO.\n0 = no data ready\n1 = data ready\nThis bit is cleared when the RBR is read in non-FIFO mode, or when the receiver FIFO is empty, in FIFO mode."]
987 #[inline(always)]
988 pub fn uart_dr(
989 self,
990 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartLsrReg_SPEC, crate::common::R> {
991 crate::common::RegisterFieldBool::<0,1,0,UartLsrReg_SPEC,crate::common::R>::from_register(self,0)
992 }
993}
994impl ::core::default::Default for UartLsrReg {
995 #[inline(always)]
996 fn default() -> UartLsrReg {
997 <crate::RegValueT<UartLsrReg_SPEC> as RegisterValue<_>>::new(96)
998 }
999}
1000
1001#[doc(hidden)]
1002#[derive(Copy, Clone, Eq, PartialEq)]
1003pub struct UartMcrReg_SPEC;
1004impl crate::sealed::RegSpec for UartMcrReg_SPEC {
1005 type DataType = u16;
1006}
1007
1008#[doc = "Modem Control Register"]
1009pub type UartMcrReg = crate::RegValueT<UartMcrReg_SPEC>;
1010
1011impl UartMcrReg {
1012 #[doc = "Auto Flow Control Enable.\nWhen FIFOs are enabled and the Auto Flow Control Enable (AFCE) bit is set, Auto Flow Control features are enabled.\n0 = Auto Flow Control Mode disabled\n1 = Auto Flow Control Mode enabled"]
1013 #[inline(always)]
1014 pub fn uart_afce(
1015 self,
1016 ) -> crate::common::RegisterFieldBool<5, 1, 0, UartMcrReg_SPEC, crate::common::RW> {
1017 crate::common::RegisterFieldBool::<5,1,0,UartMcrReg_SPEC,crate::common::RW>::from_register(self,0)
1018 }
1019
1020 #[doc = "LoopBack Bit.\nThis is used to put the UART into a diagnostic mode for test purposes.\nIf operating in UART mode (SIR_MODE not active, MCR\\[6\\] set to zero), data on the sout line is held high, while serial data output is looped back to the sin line, internally. In this mode all the interrupts are fully functional. Also, in loopback mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n) are disconnected and the modem control outputs (dtr_n, rts_n, out1_n, out2_n) are looped back to the inputs, internally.\nIf operating in infrared mode (SIR_MODE active, MCR\\[6\\] set to one), data on the sir_out_n line is held low, while serial data output is inverted and looped back to the sir_in line."]
1021 #[inline(always)]
1022 pub fn uart_lb(
1023 self,
1024 ) -> crate::common::RegisterFieldBool<4, 1, 0, UartMcrReg_SPEC, crate::common::RW> {
1025 crate::common::RegisterFieldBool::<4,1,0,UartMcrReg_SPEC,crate::common::RW>::from_register(self,0)
1026 }
1027
1028 #[doc = "Request to Send.\nThis is used to directly control the Request to Send (rts_n) output. The Request To Send (rts_n) output is used to inform the modem or data set that the UART is ready to exchange data.\nWhen Auto RTS Flow Control is not enabled (MCR\\[5\\] set to zero), the rts_n signal is set low by programming MCR\\[1\\] (RTS) to a high.In Auto Flow Control, AFCE_MODE == Enabled and active (MCR\\[5\\] set to one) and FIFOs enable (FCR\\[0\\] set to one), the rts_n output is controlled in the same way, but is also gated with the receiver FIFO threshold trigger (rts_n is inactive high when above the threshold). The rts_n signal is de-asserted when MCR\\[1\\] is set low.\nNote that in Loopback mode (MCR\\[4\\] set to one), the rts_n output is held inactive high while the value of this location is internally looped back to an input."]
1029 #[inline(always)]
1030 pub fn uart_rts(
1031 self,
1032 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartMcrReg_SPEC, crate::common::RW> {
1033 crate::common::RegisterFieldBool::<1,1,0,UartMcrReg_SPEC,crate::common::RW>::from_register(self,0)
1034 }
1035}
1036impl ::core::default::Default for UartMcrReg {
1037 #[inline(always)]
1038 fn default() -> UartMcrReg {
1039 <crate::RegValueT<UartMcrReg_SPEC> as RegisterValue<_>>::new(0)
1040 }
1041}
1042
1043#[doc(hidden)]
1044#[derive(Copy, Clone, Eq, PartialEq)]
1045pub struct UartMsrReg_SPEC;
1046impl crate::sealed::RegSpec for UartMsrReg_SPEC {
1047 type DataType = u16;
1048}
1049
1050#[doc = "Modem Status Register"]
1051pub type UartMsrReg = crate::RegValueT<UartMsrReg_SPEC>;
1052
1053impl UartMsrReg {
1054 #[doc = "Clear to Send.\nThis is used to indicate the current state of the modem control line cts_n. This bit is the complement of cts_n. When the Clear to Send input (cts_n) is asserted it is an indication that the modem or data set is ready to exchange data with the UART Ctrl.\n0 = cts_n input is de-asserted (logic 1)\n1 = cts_n input is asserted (logic 0)\nIn Loopback Mode (MCR\\[4\\] = 1), CTS is the same as MCR\\[1\\] (RTS)."]
1055 #[inline(always)]
1056 pub fn uart_cts(
1057 self,
1058 ) -> crate::common::RegisterFieldBool<4, 1, 0, UartMsrReg_SPEC, crate::common::R> {
1059 crate::common::RegisterFieldBool::<4,1,0,UartMsrReg_SPEC,crate::common::R>::from_register(self,0)
1060 }
1061}
1062impl ::core::default::Default for UartMsrReg {
1063 #[inline(always)]
1064 fn default() -> UartMsrReg {
1065 <crate::RegValueT<UartMsrReg_SPEC> as RegisterValue<_>>::new(16)
1066 }
1067}
1068
1069#[doc(hidden)]
1070#[derive(Copy, Clone, Eq, PartialEq)]
1071pub struct UartRbrThrDllReg_SPEC;
1072impl crate::sealed::RegSpec for UartRbrThrDllReg_SPEC {
1073 type DataType = u16;
1074}
1075
1076#[doc = "Receive Buffer Register/Transmit Holding Register/Divisor Latch Low"]
1077pub type UartRbrThrDllReg = crate::RegValueT<UartRbrThrDllReg_SPEC>;
1078
1079impl UartRbrThrDllReg {
1080 #[doc = "Receive Buffer Register: (RBR).\nThis register contains the data byte received on the serial input port (sin) in UART mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur.\nTransmit Holding Register: (THR)\nThis register contains data to be transmitted on the serial output port (sout) in UART mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, 16 number of characters of data may be written to the THR before the FIFO is full. Any attempt to write data when the FIFO is full results in the write data being lost.\nDivisor Latch (Low): (DLL)\nThis register makes up the lower 8-bits of a 16-bit, read/write, Divisor Latch register that contains the baud rate divisor for the UART. This register may only be accessed when the DLAB bit (LCR\\[7\\]) is set. The output baud rate is equal to the serial clock (sclk) frequency divided by sixteen times the value of the baud rate divisor, as follows:\nbaud rate = (serial clock freq) / (16 * divisor)\nNote that with the Divisor Latch Registers (DLL and DLH) set to zero, the baud clock is disabled and no serial communications will occur. Also, once the Divisor Latch is set, at least 8 clock cycles of the slowest UART clock should be allowed to pass before transmitting or receiving data.\nFor the Divisor Latch (High) bits, see register UART_IER_DLH_REG."]
1081 #[inline(always)]
1082 pub fn rbr_thr_dll(
1083 self,
1084 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartRbrThrDllReg_SPEC, crate::common::RW>
1085 {
1086 crate::common::RegisterField::<
1087 0,
1088 0xff,
1089 1,
1090 0,
1091 u8,
1092 u8,
1093 UartRbrThrDllReg_SPEC,
1094 crate::common::RW,
1095 >::from_register(self, 0)
1096 }
1097}
1098impl ::core::default::Default for UartRbrThrDllReg {
1099 #[inline(always)]
1100 fn default() -> UartRbrThrDllReg {
1101 <crate::RegValueT<UartRbrThrDllReg_SPEC> as RegisterValue<_>>::new(0)
1102 }
1103}
1104
1105#[doc(hidden)]
1106#[derive(Copy, Clone, Eq, PartialEq)]
1107pub struct UartRflReg_SPEC;
1108impl crate::sealed::RegSpec for UartRflReg_SPEC {
1109 type DataType = u16;
1110}
1111
1112#[doc = "Receive FIFO Level"]
1113pub type UartRflReg = crate::RegValueT<UartRflReg_SPEC>;
1114
1115impl UartRflReg {
1116 #[doc = "Receive FIFO Level.\nThis is indicates the number of data entries in the receive FIFO."]
1117 #[inline(always)]
1118 pub fn uart_receive_fifo_level(
1119 self,
1120 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, UartRflReg_SPEC, crate::common::R>
1121 {
1122 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,UartRflReg_SPEC,crate::common::R>::from_register(self,0)
1123 }
1124}
1125impl ::core::default::Default for UartRflReg {
1126 #[inline(always)]
1127 fn default() -> UartRflReg {
1128 <crate::RegValueT<UartRflReg_SPEC> as RegisterValue<_>>::new(0)
1129 }
1130}
1131
1132#[doc(hidden)]
1133#[derive(Copy, Clone, Eq, PartialEq)]
1134pub struct UartSbcrReg_SPEC;
1135impl crate::sealed::RegSpec for UartSbcrReg_SPEC {
1136 type DataType = u16;
1137}
1138
1139#[doc = "Shadow Break Control Register"]
1140pub type UartSbcrReg = crate::RegValueT<UartSbcrReg_SPEC>;
1141
1142impl UartSbcrReg {
1143 #[doc = "Shadow Break Control Bit.\nThis is a shadow register for the Break bit (LCR\\[6\\]), this can be used to remove the burden of having to performing a read modify write on the LCR. This is used to cause a break condition to be transmitted to the receiving device.\nIf set to one the serial output is forced to the spacing (logic 0) state. When not in Loopback Mode, as determined by MCR\\[4\\], the sout line is forced low until the Break bit is cleared.\nIf SIR_MODE active (MCR\\[6\\] = 1) the sir_out_n line is continuously pulsed. When in Loopback Mode, the break condition is internally looped back to the receiver."]
1144 #[inline(always)]
1145 pub fn uart_shadow_break_control(
1146 self,
1147 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartSbcrReg_SPEC, crate::common::RW> {
1148 crate::common::RegisterFieldBool::<0,1,0,UartSbcrReg_SPEC,crate::common::RW>::from_register(self,0)
1149 }
1150}
1151impl ::core::default::Default for UartSbcrReg {
1152 #[inline(always)]
1153 fn default() -> UartSbcrReg {
1154 <crate::RegValueT<UartSbcrReg_SPEC> as RegisterValue<_>>::new(0)
1155 }
1156}
1157
1158#[doc(hidden)]
1159#[derive(Copy, Clone, Eq, PartialEq)]
1160pub struct UartScrReg_SPEC;
1161impl crate::sealed::RegSpec for UartScrReg_SPEC {
1162 type DataType = u16;
1163}
1164
1165#[doc = "Scratchpad Register"]
1166pub type UartScrReg = crate::RegValueT<UartScrReg_SPEC>;
1167
1168impl UartScrReg {
1169 #[doc = "This register is for programmers to use as a temporary storage space. It has no defined purpose in the UART Ctrl."]
1170 #[inline(always)]
1171 pub fn uart_scratch_pad(
1172 self,
1173 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartScrReg_SPEC, crate::common::RW>
1174 {
1175 crate::common::RegisterField::<0,0xff,1,0,u8,u8,UartScrReg_SPEC,crate::common::RW>::from_register(self,0)
1176 }
1177}
1178impl ::core::default::Default for UartScrReg {
1179 #[inline(always)]
1180 fn default() -> UartScrReg {
1181 <crate::RegValueT<UartScrReg_SPEC> as RegisterValue<_>>::new(0)
1182 }
1183}
1184
1185#[doc(hidden)]
1186#[derive(Copy, Clone, Eq, PartialEq)]
1187pub struct UartSdmamReg_SPEC;
1188impl crate::sealed::RegSpec for UartSdmamReg_SPEC {
1189 type DataType = u16;
1190}
1191
1192#[doc = "Shadow DMA Mode"]
1193pub type UartSdmamReg = crate::RegValueT<UartSdmamReg_SPEC>;
1194
1195impl UartSdmamReg {
1196 #[doc = "Shadow DMA Mode.\nThis is a shadow register for the DMA mode bit (FCR\\[3\\]). This can be used to remove the burden of having to store the previously written value to the FCR in memory and having to mask this value so that only the DMA Mode bit gets updated. This determines the DMA signalling mode used for the dma_tx_req_n and dma_rx_req_n output signals.\n0 = mode 0\n1 = mode 1"]
1197 #[inline(always)]
1198 pub fn uart_shadow_dma_mode(
1199 self,
1200 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartSdmamReg_SPEC, crate::common::RW> {
1201 crate::common::RegisterFieldBool::<0,1,0,UartSdmamReg_SPEC,crate::common::RW>::from_register(self,0)
1202 }
1203}
1204impl ::core::default::Default for UartSdmamReg {
1205 #[inline(always)]
1206 fn default() -> UartSdmamReg {
1207 <crate::RegValueT<UartSdmamReg_SPEC> as RegisterValue<_>>::new(0)
1208 }
1209}
1210
1211#[doc(hidden)]
1212#[derive(Copy, Clone, Eq, PartialEq)]
1213pub struct UartSfeReg_SPEC;
1214impl crate::sealed::RegSpec for UartSfeReg_SPEC {
1215 type DataType = u16;
1216}
1217
1218#[doc = "Shadow FIFO Enable"]
1219pub type UartSfeReg = crate::RegValueT<UartSfeReg_SPEC>;
1220
1221impl UartSfeReg {
1222 #[doc = "Shadow FIFO Enable.\nThis is a shadow register for the FIFO enable bit (FCR\\[0\\]). This can be used to remove the burden of having to store the previously written value to the FCR in memory and having to mask this value so that only the FIFO enable bit gets updated.This enables/disables the transmit (XMIT) and receive (RCVR) FIFOs. If this bit is set to zero (disabled) after being enabled then both the XMIT and RCVR controller portion of FIFOs are reset."]
1223 #[inline(always)]
1224 pub fn uart_shadow_fifo_enable(
1225 self,
1226 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartSfeReg_SPEC, crate::common::RW> {
1227 crate::common::RegisterFieldBool::<0,1,0,UartSfeReg_SPEC,crate::common::RW>::from_register(self,0)
1228 }
1229}
1230impl ::core::default::Default for UartSfeReg {
1231 #[inline(always)]
1232 fn default() -> UartSfeReg {
1233 <crate::RegValueT<UartSfeReg_SPEC> as RegisterValue<_>>::new(0)
1234 }
1235}
1236
1237#[doc(hidden)]
1238#[derive(Copy, Clone, Eq, PartialEq)]
1239pub struct UartSrbrSthr0Reg_SPEC;
1240impl crate::sealed::RegSpec for UartSrbrSthr0Reg_SPEC {
1241 type DataType = u16;
1242}
1243
1244#[doc = "Shadow Receive/Transmit Buffer Register"]
1245pub type UartSrbrSthr0Reg = crate::RegValueT<UartSrbrSthr0Reg_SPEC>;
1246
1247impl UartSrbrSthr0Reg {
1248 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1249 #[inline(always)]
1250 pub fn srbr_sthrx(
1251 self,
1252 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr0Reg_SPEC, crate::common::RW>
1253 {
1254 crate::common::RegisterField::<
1255 0,
1256 0xff,
1257 1,
1258 0,
1259 u8,
1260 u8,
1261 UartSrbrSthr0Reg_SPEC,
1262 crate::common::RW,
1263 >::from_register(self, 0)
1264 }
1265}
1266impl ::core::default::Default for UartSrbrSthr0Reg {
1267 #[inline(always)]
1268 fn default() -> UartSrbrSthr0Reg {
1269 <crate::RegValueT<UartSrbrSthr0Reg_SPEC> as RegisterValue<_>>::new(0)
1270 }
1271}
1272
1273#[doc(hidden)]
1274#[derive(Copy, Clone, Eq, PartialEq)]
1275pub struct UartSrbrSthr10Reg_SPEC;
1276impl crate::sealed::RegSpec for UartSrbrSthr10Reg_SPEC {
1277 type DataType = u16;
1278}
1279
1280#[doc = "Shadow Receive/Transmit Buffer Register"]
1281pub type UartSrbrSthr10Reg = crate::RegValueT<UartSrbrSthr10Reg_SPEC>;
1282
1283impl UartSrbrSthr10Reg {
1284 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1285 #[inline(always)]
1286 pub fn srbr_sthrx(
1287 self,
1288 ) -> crate::common::RegisterField<
1289 0,
1290 0xff,
1291 1,
1292 0,
1293 u8,
1294 u8,
1295 UartSrbrSthr10Reg_SPEC,
1296 crate::common::RW,
1297 > {
1298 crate::common::RegisterField::<
1299 0,
1300 0xff,
1301 1,
1302 0,
1303 u8,
1304 u8,
1305 UartSrbrSthr10Reg_SPEC,
1306 crate::common::RW,
1307 >::from_register(self, 0)
1308 }
1309}
1310impl ::core::default::Default for UartSrbrSthr10Reg {
1311 #[inline(always)]
1312 fn default() -> UartSrbrSthr10Reg {
1313 <crate::RegValueT<UartSrbrSthr10Reg_SPEC> as RegisterValue<_>>::new(0)
1314 }
1315}
1316
1317#[doc(hidden)]
1318#[derive(Copy, Clone, Eq, PartialEq)]
1319pub struct UartSrbrSthr11Reg_SPEC;
1320impl crate::sealed::RegSpec for UartSrbrSthr11Reg_SPEC {
1321 type DataType = u16;
1322}
1323
1324#[doc = "Shadow Receive/Transmit Buffer Register"]
1325pub type UartSrbrSthr11Reg = crate::RegValueT<UartSrbrSthr11Reg_SPEC>;
1326
1327impl UartSrbrSthr11Reg {
1328 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1329 #[inline(always)]
1330 pub fn srbr_sthrx(
1331 self,
1332 ) -> crate::common::RegisterField<
1333 0,
1334 0xff,
1335 1,
1336 0,
1337 u8,
1338 u8,
1339 UartSrbrSthr11Reg_SPEC,
1340 crate::common::RW,
1341 > {
1342 crate::common::RegisterField::<
1343 0,
1344 0xff,
1345 1,
1346 0,
1347 u8,
1348 u8,
1349 UartSrbrSthr11Reg_SPEC,
1350 crate::common::RW,
1351 >::from_register(self, 0)
1352 }
1353}
1354impl ::core::default::Default for UartSrbrSthr11Reg {
1355 #[inline(always)]
1356 fn default() -> UartSrbrSthr11Reg {
1357 <crate::RegValueT<UartSrbrSthr11Reg_SPEC> as RegisterValue<_>>::new(0)
1358 }
1359}
1360
1361#[doc(hidden)]
1362#[derive(Copy, Clone, Eq, PartialEq)]
1363pub struct UartSrbrSthr12Reg_SPEC;
1364impl crate::sealed::RegSpec for UartSrbrSthr12Reg_SPEC {
1365 type DataType = u16;
1366}
1367
1368#[doc = "Shadow Receive/Transmit Buffer Register"]
1369pub type UartSrbrSthr12Reg = crate::RegValueT<UartSrbrSthr12Reg_SPEC>;
1370
1371impl UartSrbrSthr12Reg {
1372 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1373 #[inline(always)]
1374 pub fn srbr_sthrx(
1375 self,
1376 ) -> crate::common::RegisterField<
1377 0,
1378 0xff,
1379 1,
1380 0,
1381 u8,
1382 u8,
1383 UartSrbrSthr12Reg_SPEC,
1384 crate::common::RW,
1385 > {
1386 crate::common::RegisterField::<
1387 0,
1388 0xff,
1389 1,
1390 0,
1391 u8,
1392 u8,
1393 UartSrbrSthr12Reg_SPEC,
1394 crate::common::RW,
1395 >::from_register(self, 0)
1396 }
1397}
1398impl ::core::default::Default for UartSrbrSthr12Reg {
1399 #[inline(always)]
1400 fn default() -> UartSrbrSthr12Reg {
1401 <crate::RegValueT<UartSrbrSthr12Reg_SPEC> as RegisterValue<_>>::new(0)
1402 }
1403}
1404
1405#[doc(hidden)]
1406#[derive(Copy, Clone, Eq, PartialEq)]
1407pub struct UartSrbrSthr13Reg_SPEC;
1408impl crate::sealed::RegSpec for UartSrbrSthr13Reg_SPEC {
1409 type DataType = u16;
1410}
1411
1412#[doc = "Shadow Receive/Transmit Buffer Register"]
1413pub type UartSrbrSthr13Reg = crate::RegValueT<UartSrbrSthr13Reg_SPEC>;
1414
1415impl UartSrbrSthr13Reg {
1416 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1417 #[inline(always)]
1418 pub fn srbr_sthrx(
1419 self,
1420 ) -> crate::common::RegisterField<
1421 0,
1422 0xff,
1423 1,
1424 0,
1425 u8,
1426 u8,
1427 UartSrbrSthr13Reg_SPEC,
1428 crate::common::RW,
1429 > {
1430 crate::common::RegisterField::<
1431 0,
1432 0xff,
1433 1,
1434 0,
1435 u8,
1436 u8,
1437 UartSrbrSthr13Reg_SPEC,
1438 crate::common::RW,
1439 >::from_register(self, 0)
1440 }
1441}
1442impl ::core::default::Default for UartSrbrSthr13Reg {
1443 #[inline(always)]
1444 fn default() -> UartSrbrSthr13Reg {
1445 <crate::RegValueT<UartSrbrSthr13Reg_SPEC> as RegisterValue<_>>::new(0)
1446 }
1447}
1448
1449#[doc(hidden)]
1450#[derive(Copy, Clone, Eq, PartialEq)]
1451pub struct UartSrbrSthr14Reg_SPEC;
1452impl crate::sealed::RegSpec for UartSrbrSthr14Reg_SPEC {
1453 type DataType = u16;
1454}
1455
1456#[doc = "Shadow Receive/Transmit Buffer Register"]
1457pub type UartSrbrSthr14Reg = crate::RegValueT<UartSrbrSthr14Reg_SPEC>;
1458
1459impl UartSrbrSthr14Reg {
1460 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1461 #[inline(always)]
1462 pub fn srbr_sthrx(
1463 self,
1464 ) -> crate::common::RegisterField<
1465 0,
1466 0xff,
1467 1,
1468 0,
1469 u8,
1470 u8,
1471 UartSrbrSthr14Reg_SPEC,
1472 crate::common::RW,
1473 > {
1474 crate::common::RegisterField::<
1475 0,
1476 0xff,
1477 1,
1478 0,
1479 u8,
1480 u8,
1481 UartSrbrSthr14Reg_SPEC,
1482 crate::common::RW,
1483 >::from_register(self, 0)
1484 }
1485}
1486impl ::core::default::Default for UartSrbrSthr14Reg {
1487 #[inline(always)]
1488 fn default() -> UartSrbrSthr14Reg {
1489 <crate::RegValueT<UartSrbrSthr14Reg_SPEC> as RegisterValue<_>>::new(0)
1490 }
1491}
1492
1493#[doc(hidden)]
1494#[derive(Copy, Clone, Eq, PartialEq)]
1495pub struct UartSrbrSthr15Reg_SPEC;
1496impl crate::sealed::RegSpec for UartSrbrSthr15Reg_SPEC {
1497 type DataType = u16;
1498}
1499
1500#[doc = "Shadow Receive/Transmit Buffer Register"]
1501pub type UartSrbrSthr15Reg = crate::RegValueT<UartSrbrSthr15Reg_SPEC>;
1502
1503impl UartSrbrSthr15Reg {
1504 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1505 #[inline(always)]
1506 pub fn srbr_sthrx(
1507 self,
1508 ) -> crate::common::RegisterField<
1509 0,
1510 0xff,
1511 1,
1512 0,
1513 u8,
1514 u8,
1515 UartSrbrSthr15Reg_SPEC,
1516 crate::common::RW,
1517 > {
1518 crate::common::RegisterField::<
1519 0,
1520 0xff,
1521 1,
1522 0,
1523 u8,
1524 u8,
1525 UartSrbrSthr15Reg_SPEC,
1526 crate::common::RW,
1527 >::from_register(self, 0)
1528 }
1529}
1530impl ::core::default::Default for UartSrbrSthr15Reg {
1531 #[inline(always)]
1532 fn default() -> UartSrbrSthr15Reg {
1533 <crate::RegValueT<UartSrbrSthr15Reg_SPEC> as RegisterValue<_>>::new(0)
1534 }
1535}
1536
1537#[doc(hidden)]
1538#[derive(Copy, Clone, Eq, PartialEq)]
1539pub struct UartSrbrSthr1Reg_SPEC;
1540impl crate::sealed::RegSpec for UartSrbrSthr1Reg_SPEC {
1541 type DataType = u16;
1542}
1543
1544#[doc = "Shadow Receive/Transmit Buffer Register"]
1545pub type UartSrbrSthr1Reg = crate::RegValueT<UartSrbrSthr1Reg_SPEC>;
1546
1547impl UartSrbrSthr1Reg {
1548 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1549 #[inline(always)]
1550 pub fn srbr_sthrx(
1551 self,
1552 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr1Reg_SPEC, crate::common::RW>
1553 {
1554 crate::common::RegisterField::<
1555 0,
1556 0xff,
1557 1,
1558 0,
1559 u8,
1560 u8,
1561 UartSrbrSthr1Reg_SPEC,
1562 crate::common::RW,
1563 >::from_register(self, 0)
1564 }
1565}
1566impl ::core::default::Default for UartSrbrSthr1Reg {
1567 #[inline(always)]
1568 fn default() -> UartSrbrSthr1Reg {
1569 <crate::RegValueT<UartSrbrSthr1Reg_SPEC> as RegisterValue<_>>::new(0)
1570 }
1571}
1572
1573#[doc(hidden)]
1574#[derive(Copy, Clone, Eq, PartialEq)]
1575pub struct UartSrbrSthr2Reg_SPEC;
1576impl crate::sealed::RegSpec for UartSrbrSthr2Reg_SPEC {
1577 type DataType = u16;
1578}
1579
1580#[doc = "Shadow Receive/Transmit Buffer Register"]
1581pub type UartSrbrSthr2Reg = crate::RegValueT<UartSrbrSthr2Reg_SPEC>;
1582
1583impl UartSrbrSthr2Reg {
1584 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1585 #[inline(always)]
1586 pub fn srbr_sthrx(
1587 self,
1588 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr2Reg_SPEC, crate::common::RW>
1589 {
1590 crate::common::RegisterField::<
1591 0,
1592 0xff,
1593 1,
1594 0,
1595 u8,
1596 u8,
1597 UartSrbrSthr2Reg_SPEC,
1598 crate::common::RW,
1599 >::from_register(self, 0)
1600 }
1601}
1602impl ::core::default::Default for UartSrbrSthr2Reg {
1603 #[inline(always)]
1604 fn default() -> UartSrbrSthr2Reg {
1605 <crate::RegValueT<UartSrbrSthr2Reg_SPEC> as RegisterValue<_>>::new(0)
1606 }
1607}
1608
1609#[doc(hidden)]
1610#[derive(Copy, Clone, Eq, PartialEq)]
1611pub struct UartSrbrSthr3Reg_SPEC;
1612impl crate::sealed::RegSpec for UartSrbrSthr3Reg_SPEC {
1613 type DataType = u16;
1614}
1615
1616#[doc = "Shadow Receive/Transmit Buffer Register"]
1617pub type UartSrbrSthr3Reg = crate::RegValueT<UartSrbrSthr3Reg_SPEC>;
1618
1619impl UartSrbrSthr3Reg {
1620 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1621 #[inline(always)]
1622 pub fn srbr_sthrx(
1623 self,
1624 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr3Reg_SPEC, crate::common::RW>
1625 {
1626 crate::common::RegisterField::<
1627 0,
1628 0xff,
1629 1,
1630 0,
1631 u8,
1632 u8,
1633 UartSrbrSthr3Reg_SPEC,
1634 crate::common::RW,
1635 >::from_register(self, 0)
1636 }
1637}
1638impl ::core::default::Default for UartSrbrSthr3Reg {
1639 #[inline(always)]
1640 fn default() -> UartSrbrSthr3Reg {
1641 <crate::RegValueT<UartSrbrSthr3Reg_SPEC> as RegisterValue<_>>::new(0)
1642 }
1643}
1644
1645#[doc(hidden)]
1646#[derive(Copy, Clone, Eq, PartialEq)]
1647pub struct UartSrbrSthr4Reg_SPEC;
1648impl crate::sealed::RegSpec for UartSrbrSthr4Reg_SPEC {
1649 type DataType = u16;
1650}
1651
1652#[doc = "Shadow Receive/Transmit Buffer Register"]
1653pub type UartSrbrSthr4Reg = crate::RegValueT<UartSrbrSthr4Reg_SPEC>;
1654
1655impl UartSrbrSthr4Reg {
1656 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1657 #[inline(always)]
1658 pub fn srbr_sthrx(
1659 self,
1660 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr4Reg_SPEC, crate::common::RW>
1661 {
1662 crate::common::RegisterField::<
1663 0,
1664 0xff,
1665 1,
1666 0,
1667 u8,
1668 u8,
1669 UartSrbrSthr4Reg_SPEC,
1670 crate::common::RW,
1671 >::from_register(self, 0)
1672 }
1673}
1674impl ::core::default::Default for UartSrbrSthr4Reg {
1675 #[inline(always)]
1676 fn default() -> UartSrbrSthr4Reg {
1677 <crate::RegValueT<UartSrbrSthr4Reg_SPEC> as RegisterValue<_>>::new(0)
1678 }
1679}
1680
1681#[doc(hidden)]
1682#[derive(Copy, Clone, Eq, PartialEq)]
1683pub struct UartSrbrSthr5Reg_SPEC;
1684impl crate::sealed::RegSpec for UartSrbrSthr5Reg_SPEC {
1685 type DataType = u16;
1686}
1687
1688#[doc = "Shadow Receive/Transmit Buffer Register"]
1689pub type UartSrbrSthr5Reg = crate::RegValueT<UartSrbrSthr5Reg_SPEC>;
1690
1691impl UartSrbrSthr5Reg {
1692 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1693 #[inline(always)]
1694 pub fn srbr_sthrx(
1695 self,
1696 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr5Reg_SPEC, crate::common::RW>
1697 {
1698 crate::common::RegisterField::<
1699 0,
1700 0xff,
1701 1,
1702 0,
1703 u8,
1704 u8,
1705 UartSrbrSthr5Reg_SPEC,
1706 crate::common::RW,
1707 >::from_register(self, 0)
1708 }
1709}
1710impl ::core::default::Default for UartSrbrSthr5Reg {
1711 #[inline(always)]
1712 fn default() -> UartSrbrSthr5Reg {
1713 <crate::RegValueT<UartSrbrSthr5Reg_SPEC> as RegisterValue<_>>::new(0)
1714 }
1715}
1716
1717#[doc(hidden)]
1718#[derive(Copy, Clone, Eq, PartialEq)]
1719pub struct UartSrbrSthr6Reg_SPEC;
1720impl crate::sealed::RegSpec for UartSrbrSthr6Reg_SPEC {
1721 type DataType = u16;
1722}
1723
1724#[doc = "Shadow Receive/Transmit Buffer Register"]
1725pub type UartSrbrSthr6Reg = crate::RegValueT<UartSrbrSthr6Reg_SPEC>;
1726
1727impl UartSrbrSthr6Reg {
1728 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1729 #[inline(always)]
1730 pub fn srbr_sthrx(
1731 self,
1732 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr6Reg_SPEC, crate::common::RW>
1733 {
1734 crate::common::RegisterField::<
1735 0,
1736 0xff,
1737 1,
1738 0,
1739 u8,
1740 u8,
1741 UartSrbrSthr6Reg_SPEC,
1742 crate::common::RW,
1743 >::from_register(self, 0)
1744 }
1745}
1746impl ::core::default::Default for UartSrbrSthr6Reg {
1747 #[inline(always)]
1748 fn default() -> UartSrbrSthr6Reg {
1749 <crate::RegValueT<UartSrbrSthr6Reg_SPEC> as RegisterValue<_>>::new(0)
1750 }
1751}
1752
1753#[doc(hidden)]
1754#[derive(Copy, Clone, Eq, PartialEq)]
1755pub struct UartSrbrSthr7Reg_SPEC;
1756impl crate::sealed::RegSpec for UartSrbrSthr7Reg_SPEC {
1757 type DataType = u16;
1758}
1759
1760#[doc = "Shadow Receive/Transmit Buffer Register"]
1761pub type UartSrbrSthr7Reg = crate::RegValueT<UartSrbrSthr7Reg_SPEC>;
1762
1763impl UartSrbrSthr7Reg {
1764 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1765 #[inline(always)]
1766 pub fn srbr_sthrx(
1767 self,
1768 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr7Reg_SPEC, crate::common::RW>
1769 {
1770 crate::common::RegisterField::<
1771 0,
1772 0xff,
1773 1,
1774 0,
1775 u8,
1776 u8,
1777 UartSrbrSthr7Reg_SPEC,
1778 crate::common::RW,
1779 >::from_register(self, 0)
1780 }
1781}
1782impl ::core::default::Default for UartSrbrSthr7Reg {
1783 #[inline(always)]
1784 fn default() -> UartSrbrSthr7Reg {
1785 <crate::RegValueT<UartSrbrSthr7Reg_SPEC> as RegisterValue<_>>::new(0)
1786 }
1787}
1788
1789#[doc(hidden)]
1790#[derive(Copy, Clone, Eq, PartialEq)]
1791pub struct UartSrbrSthr8Reg_SPEC;
1792impl crate::sealed::RegSpec for UartSrbrSthr8Reg_SPEC {
1793 type DataType = u16;
1794}
1795
1796#[doc = "Shadow Receive/Transmit Buffer Register"]
1797pub type UartSrbrSthr8Reg = crate::RegValueT<UartSrbrSthr8Reg_SPEC>;
1798
1799impl UartSrbrSthr8Reg {
1800 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1801 #[inline(always)]
1802 pub fn srbr_sthrx(
1803 self,
1804 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr8Reg_SPEC, crate::common::RW>
1805 {
1806 crate::common::RegisterField::<
1807 0,
1808 0xff,
1809 1,
1810 0,
1811 u8,
1812 u8,
1813 UartSrbrSthr8Reg_SPEC,
1814 crate::common::RW,
1815 >::from_register(self, 0)
1816 }
1817}
1818impl ::core::default::Default for UartSrbrSthr8Reg {
1819 #[inline(always)]
1820 fn default() -> UartSrbrSthr8Reg {
1821 <crate::RegValueT<UartSrbrSthr8Reg_SPEC> as RegisterValue<_>>::new(0)
1822 }
1823}
1824
1825#[doc(hidden)]
1826#[derive(Copy, Clone, Eq, PartialEq)]
1827pub struct UartSrbrSthr9Reg_SPEC;
1828impl crate::sealed::RegSpec for UartSrbrSthr9Reg_SPEC {
1829 type DataType = u16;
1830}
1831
1832#[doc = "Shadow Receive/Transmit Buffer Register"]
1833pub type UartSrbrSthr9Reg = crate::RegValueT<UartSrbrSthr9Reg_SPEC>;
1834
1835impl UartSrbrSthr9Reg {
1836 #[doc = "Shadow Receive Buffer Register x: This is a shadow register for the RBR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains the data byte received on the serial input port (sin) in UART mode or the serial infrared input (sir_in) in infrared mode. The data in this register is valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. If FIFOs are disabled (FCR\\[0\\] set to zero), the data in the RBR must be read before the next data arrives, otherwise it will be overwritten, resulting in an overrun error. If FIFOs are enabled (FCR\\[0\\] set to one), this register accesses the head of the receive FIFO. If the receive FIFO is full and this register is not read before the next data character arrives, then the data already in the FIFO will be preserved but any incoming data will be lost. An overrun error will also occur. Shadow Transmit Holding Register 0: This is a shadow register for the THR and has been allocated sixteen 32-bit locations so as to accommodate burst accesses from the master. This register contains data to be transmitted on the serial output port (sout) in UART mode or the serial infrared output (sir_out_n) in infrared mode. Data should only be written to the THR when the THR Empty (THRE) bit (LSR\\[5\\]) is set. If FIFO\'s are disabled (FCR\\[0\\] set to zero) and THRE is set, writing a single character to the THR clears the THRE. Any additional writes to the THR before the THRE is set again causes the THR data to be overwritten. If FIFO\'s are enabled (FCR\\[0\\] set to one) and THRE is set, x number of characters of data may be written to the THR before the FIFO is full. The number x (default=16) is determined by the value of FIFO Depth that you set during configuration. Any attempt to write data when the FIFO is full results in the write data being lost."]
1837 #[inline(always)]
1838 pub fn srbr_sthrx(
1839 self,
1840 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, UartSrbrSthr9Reg_SPEC, crate::common::RW>
1841 {
1842 crate::common::RegisterField::<
1843 0,
1844 0xff,
1845 1,
1846 0,
1847 u8,
1848 u8,
1849 UartSrbrSthr9Reg_SPEC,
1850 crate::common::RW,
1851 >::from_register(self, 0)
1852 }
1853}
1854impl ::core::default::Default for UartSrbrSthr9Reg {
1855 #[inline(always)]
1856 fn default() -> UartSrbrSthr9Reg {
1857 <crate::RegValueT<UartSrbrSthr9Reg_SPEC> as RegisterValue<_>>::new(0)
1858 }
1859}
1860
1861#[doc(hidden)]
1862#[derive(Copy, Clone, Eq, PartialEq)]
1863pub struct UartSrrReg_SPEC;
1864impl crate::sealed::RegSpec for UartSrrReg_SPEC {
1865 type DataType = u16;
1866}
1867
1868#[doc = "Software Reset Register."]
1869pub type UartSrrReg = crate::RegValueT<UartSrrReg_SPEC>;
1870
1871impl UartSrrReg {
1872 #[doc = "XMIT FIFO Reset.\nThis is a shadow register for the XMIT FIFO Reset bit (FCR\\[2\\]). This can be used to remove the burden on software having to store previously written FCR values (which are pretty static) just to reset the transmit FIFO. This resets the control portion of the transmit FIFO and treats the FIFO as empty. Note that this bit is \'self-clearing\'. It is not necessary to clear this bit."]
1873 #[inline(always)]
1874 pub fn uart_xfr(
1875 self,
1876 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartSrrReg_SPEC, crate::common::W> {
1877 crate::common::RegisterFieldBool::<2,1,0,UartSrrReg_SPEC,crate::common::W>::from_register(self,0)
1878 }
1879
1880 #[doc = "RCVR FIFO Reset.\nThis is a shadow register for the RCVR FIFO Reset bit (FCR\\[1\\]). This can be used to remove the burden on software having to store previously written FCR values (which are pretty static) just to reset the receive FIFO This resets the control portion of the receive FIFO and treats the FIFO as empty.\nNote that this bit is \'self-clearing\'. It is not necessary to clear this bit."]
1881 #[inline(always)]
1882 pub fn uart_rfr(
1883 self,
1884 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartSrrReg_SPEC, crate::common::W> {
1885 crate::common::RegisterFieldBool::<1,1,0,UartSrrReg_SPEC,crate::common::W>::from_register(self,0)
1886 }
1887
1888 #[doc = "UART Reset. This asynchronously resets the UART Ctrl and synchronously removes the reset assertion. For a two clock implementation both pclk and sclk domains are reset."]
1889 #[inline(always)]
1890 pub fn uart_ur(
1891 self,
1892 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartSrrReg_SPEC, crate::common::W> {
1893 crate::common::RegisterFieldBool::<0,1,0,UartSrrReg_SPEC,crate::common::W>::from_register(self,0)
1894 }
1895}
1896impl ::core::default::Default for UartSrrReg {
1897 #[inline(always)]
1898 fn default() -> UartSrrReg {
1899 <crate::RegValueT<UartSrrReg_SPEC> as RegisterValue<_>>::new(0)
1900 }
1901}
1902
1903#[doc(hidden)]
1904#[derive(Copy, Clone, Eq, PartialEq)]
1905pub struct UartSrtsReg_SPEC;
1906impl crate::sealed::RegSpec for UartSrtsReg_SPEC {
1907 type DataType = u16;
1908}
1909
1910#[doc = "Shadow Request to Send"]
1911pub type UartSrtsReg = crate::RegValueT<UartSrtsReg_SPEC>;
1912
1913impl UartSrtsReg {
1914 #[doc = "Shadow Request to Send.\nThis is a shadow register for the RTS bit (MCR\\[1\\]), this can be used to remove the burden of having to\nperforming a read-modify-write on the MCR. This is used to directly control the Request to Send (rts_n) output. The Request To Send (rts_n) output is used to inform the modem or data set that the UART Ctrl is ready to exchange data.\nWhen Auto RTS Flow Control is not enabled (MCR\\[5\\] = 0), the rts_n signal is set low by programming MCR\\[1\\] (RTS) to a high.\nIn Auto Flow Control, AFCE_MODE == Enabled and active (MCR\\[5\\] = 1) and FIFOs enable (FCR\\[0\\] = 1), the rts_n output is controlled in the same way, but is also gated with the receiver FIFO threshold trigger (rts_n is inactive high when above the threshold).\nNote that in Loopback mode (MCR\\[4\\] = 1), the rts_n output is held inactive-high while the value of this location is internally looped back to an input."]
1915 #[inline(always)]
1916 pub fn uart_shadow_request_to_send(
1917 self,
1918 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartSrtsReg_SPEC, crate::common::RW> {
1919 crate::common::RegisterFieldBool::<0,1,0,UartSrtsReg_SPEC,crate::common::RW>::from_register(self,0)
1920 }
1921}
1922impl ::core::default::Default for UartSrtsReg {
1923 #[inline(always)]
1924 fn default() -> UartSrtsReg {
1925 <crate::RegValueT<UartSrtsReg_SPEC> as RegisterValue<_>>::new(0)
1926 }
1927}
1928
1929#[doc(hidden)]
1930#[derive(Copy, Clone, Eq, PartialEq)]
1931pub struct UartSrtReg_SPEC;
1932impl crate::sealed::RegSpec for UartSrtReg_SPEC {
1933 type DataType = u16;
1934}
1935
1936#[doc = "Shadow RCVR Trigger"]
1937pub type UartSrtReg = crate::RegValueT<UartSrtReg_SPEC>;
1938
1939impl UartSrtReg {
1940 #[doc = "Shadow RCVR Trigger.\nThis is a shadow register for the RCVR trigger bits (FCR\\[7:6\\]). This can be used to remove the burden of having to store the previously written value to the FCR in memory and having to mask this value so that only the RCVR trigger bit gets updated.\nThis is used to select the trigger level in the receiver FIFO at which the Received Data Available Interrupt is generated. It also determines when the dma_rx_req_n signal is asserted when DMA Mode (FCR\\[3\\]) = 1. The following trigger levels are supported:\n00 = 1 character in the FIFO\n01 = FIFO ¼ full\n10 = FIFO ½ full\n11 = FIFO 2 less than full"]
1941 #[inline(always)]
1942 pub fn uart_shadow_rcvr_trigger(
1943 self,
1944 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, UartSrtReg_SPEC, crate::common::RW>
1945 {
1946 crate::common::RegisterField::<0,0x3,1,0,u8,u8,UartSrtReg_SPEC,crate::common::RW>::from_register(self,0)
1947 }
1948}
1949impl ::core::default::Default for UartSrtReg {
1950 #[inline(always)]
1951 fn default() -> UartSrtReg {
1952 <crate::RegValueT<UartSrtReg_SPEC> as RegisterValue<_>>::new(0)
1953 }
1954}
1955
1956#[doc(hidden)]
1957#[derive(Copy, Clone, Eq, PartialEq)]
1958pub struct UartStetReg_SPEC;
1959impl crate::sealed::RegSpec for UartStetReg_SPEC {
1960 type DataType = u16;
1961}
1962
1963#[doc = "Shadow TX Empty Trigger"]
1964pub type UartStetReg = crate::RegValueT<UartStetReg_SPEC>;
1965
1966impl UartStetReg {
1967 #[doc = "Shadow TX Empty Trigger.\nThis is a shadow register for the TX empty trigger bits (FCR\\[5:4\\]). This can be used to remove the burden of having to store the previously written value to the FCR in memory and having to mask this value so that only the TX empty trigger bit gets updated.\nThis is used to select the empty threshold level at which the THRE Interrupts are generated when the mode is active. The following trigger levels are supported:\n00 = FIFO empty\n01 = 2 characters in the FIFO\n10 = FIFO ¼ full\n11 = FIFO ½ full"]
1968 #[inline(always)]
1969 pub fn uart_shadow_tx_empty_trigger(
1970 self,
1971 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, UartStetReg_SPEC, crate::common::RW>
1972 {
1973 crate::common::RegisterField::<0,0x3,1,0,u8,u8,UartStetReg_SPEC,crate::common::RW>::from_register(self,0)
1974 }
1975}
1976impl ::core::default::Default for UartStetReg {
1977 #[inline(always)]
1978 fn default() -> UartStetReg {
1979 <crate::RegValueT<UartStetReg_SPEC> as RegisterValue<_>>::new(0)
1980 }
1981}
1982
1983#[doc(hidden)]
1984#[derive(Copy, Clone, Eq, PartialEq)]
1985pub struct UartTflReg_SPEC;
1986impl crate::sealed::RegSpec for UartTflReg_SPEC {
1987 type DataType = u16;
1988}
1989
1990#[doc = "Transmit FIFO Level"]
1991pub type UartTflReg = crate::RegValueT<UartTflReg_SPEC>;
1992
1993impl UartTflReg {
1994 #[doc = "Transmit FIFO Level.\nThis is indicates the number of data entries in the transmit FIFO."]
1995 #[inline(always)]
1996 pub fn uart_transmit_fifo_level(
1997 self,
1998 ) -> crate::common::RegisterField<0, 0x1f, 1, 0, u8, u8, UartTflReg_SPEC, crate::common::R>
1999 {
2000 crate::common::RegisterField::<0,0x1f,1,0,u8,u8,UartTflReg_SPEC,crate::common::R>::from_register(self,0)
2001 }
2002}
2003impl ::core::default::Default for UartTflReg {
2004 #[inline(always)]
2005 fn default() -> UartTflReg {
2006 <crate::RegValueT<UartTflReg_SPEC> as RegisterValue<_>>::new(0)
2007 }
2008}
2009
2010#[doc(hidden)]
2011#[derive(Copy, Clone, Eq, PartialEq)]
2012pub struct UartUcvHighReg_SPEC;
2013impl crate::sealed::RegSpec for UartUcvHighReg_SPEC {
2014 type DataType = u16;
2015}
2016
2017#[doc = "Component Version"]
2018pub type UartUcvHighReg = crate::RegValueT<UartUcvHighReg_SPEC>;
2019
2020impl UartUcvHighReg {
2021 #[doc = "Component Version"]
2022 #[inline(always)]
2023 pub fn ucv(
2024 self,
2025 ) -> crate::common::RegisterField<
2026 0,
2027 0xffff,
2028 1,
2029 0,
2030 u16,
2031 u16,
2032 UartUcvHighReg_SPEC,
2033 crate::common::R,
2034 > {
2035 crate::common::RegisterField::<
2036 0,
2037 0xffff,
2038 1,
2039 0,
2040 u16,
2041 u16,
2042 UartUcvHighReg_SPEC,
2043 crate::common::R,
2044 >::from_register(self, 0)
2045 }
2046}
2047impl ::core::default::Default for UartUcvHighReg {
2048 #[inline(always)]
2049 fn default() -> UartUcvHighReg {
2050 <crate::RegValueT<UartUcvHighReg_SPEC> as RegisterValue<_>>::new(13105)
2051 }
2052}
2053
2054#[doc(hidden)]
2055#[derive(Copy, Clone, Eq, PartialEq)]
2056pub struct UartUcvReg_SPEC;
2057impl crate::sealed::RegSpec for UartUcvReg_SPEC {
2058 type DataType = u16;
2059}
2060
2061#[doc = "Component Version"]
2062pub type UartUcvReg = crate::RegValueT<UartUcvReg_SPEC>;
2063
2064impl UartUcvReg {
2065 #[doc = "Component Version"]
2066 #[inline(always)]
2067 pub fn ucv(
2068 self,
2069 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, UartUcvReg_SPEC, crate::common::R>
2070 {
2071 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,UartUcvReg_SPEC,crate::common::R>::from_register(self,0)
2072 }
2073}
2074impl ::core::default::Default for UartUcvReg {
2075 #[inline(always)]
2076 fn default() -> UartUcvReg {
2077 <crate::RegValueT<UartUcvReg_SPEC> as RegisterValue<_>>::new(13610)
2078 }
2079}
2080
2081#[doc(hidden)]
2082#[derive(Copy, Clone, Eq, PartialEq)]
2083pub struct UartUsrReg_SPEC;
2084impl crate::sealed::RegSpec for UartUsrReg_SPEC {
2085 type DataType = u16;
2086}
2087
2088#[doc = "UART Status Register"]
2089pub type UartUsrReg = crate::RegValueT<UartUsrReg_SPEC>;
2090
2091impl UartUsrReg {
2092 #[doc = "Receive FIFO Full.\nThis is used to indicate that the receive FIFO is completely full.\n0 = Receive FIFO not full\n1 = Receive FIFO Full\nThis bit is cleared when the RX FIFO is no longer full."]
2093 #[inline(always)]
2094 pub fn uart_rff(
2095 self,
2096 ) -> crate::common::RegisterFieldBool<4, 1, 0, UartUsrReg_SPEC, crate::common::R> {
2097 crate::common::RegisterFieldBool::<4,1,0,UartUsrReg_SPEC,crate::common::R>::from_register(self,0)
2098 }
2099
2100 #[doc = "Receive FIFO Not Empty.\nThis is used to indicate that the receive FIFO contains one or more entries.\n0 = Receive FIFO is empty\n1 = Receive FIFO is not empty\nThis bit is cleared when the RX FIFO is empty."]
2101 #[inline(always)]
2102 pub fn uart_rfne(
2103 self,
2104 ) -> crate::common::RegisterFieldBool<3, 1, 0, UartUsrReg_SPEC, crate::common::R> {
2105 crate::common::RegisterFieldBool::<3,1,0,UartUsrReg_SPEC,crate::common::R>::from_register(self,0)
2106 }
2107
2108 #[doc = "Transmit FIFO Empty.\nThis is used to indicate that the transmit FIFO is completely empty.\n0 = Transmit FIFO is not empty\n1 = Transmit FIFO is empty\nThis bit is cleared when the TX FIFO is no longer empty."]
2109 #[inline(always)]
2110 pub fn uart_tfe(
2111 self,
2112 ) -> crate::common::RegisterFieldBool<2, 1, 0, UartUsrReg_SPEC, crate::common::R> {
2113 crate::common::RegisterFieldBool::<2,1,0,UartUsrReg_SPEC,crate::common::R>::from_register(self,0)
2114 }
2115
2116 #[doc = "Transmit FIFO Not Full.\nThis is used to indicate that the transmit FIFO in not full.\n0 = Transmit FIFO is full\n1 = Transmit FIFO is not full\nThis bit is cleared when the TX FIFO is full."]
2117 #[inline(always)]
2118 pub fn uart_tfnf(
2119 self,
2120 ) -> crate::common::RegisterFieldBool<1, 1, 0, UartUsrReg_SPEC, crate::common::R> {
2121 crate::common::RegisterFieldBool::<1,1,0,UartUsrReg_SPEC,crate::common::R>::from_register(self,0)
2122 }
2123
2124 #[doc = "UART Busy. This indicates that a serial transfer is in progress, when cleared indicates that the DW_apb_uart is idle or inactive. 0 - DW_apb_uart is idle or inactive 1 - DW_apb_uart is busy (actively transferring data) Note that it is possible for the UART Busy bit to be cleared even though a new character may have been sent from another device. That is, if the DW_apb_uart has no data in the THR and RBR and there is no transmission in progress and a start bit of a new character has just reached the DW_apb_uart. This is due to the fact that a valid start is not seen until the middle of the bit period and this duration is dependent on the baud divisor that has been programmed. If a second system clock has been implemented (CLOCK_MODE == Enabled) the assertion of this bit will also be delayed by several cycles of the slower clock."]
2125 #[inline(always)]
2126 pub fn uart_busy(
2127 self,
2128 ) -> crate::common::RegisterFieldBool<0, 1, 0, UartUsrReg_SPEC, crate::common::R> {
2129 crate::common::RegisterFieldBool::<0,1,0,UartUsrReg_SPEC,crate::common::R>::from_register(self,0)
2130 }
2131}
2132impl ::core::default::Default for UartUsrReg {
2133 #[inline(always)]
2134 fn default() -> UartUsrReg {
2135 <crate::RegValueT<UartUsrReg_SPEC> as RegisterValue<_>>::new(6)
2136 }
2137}