da14531_pac/
uart.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.2, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:44:12 +0000
19
20#![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}