w7500x_pac/
uart0.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Data"]
5    pub dr: crate::Reg<dr::DR_SPEC>,
6    _reserved_1_ecr: [u8; 0x04],
7    _reserved2: [u8; 0x10],
8    #[doc = "0x18 - Flags"]
9    pub fr: crate::Reg<fr::FR_SPEC>,
10    _reserved3: [u8; 0x04],
11    #[doc = "0x20 - IrDA Low-power Counter"]
12    pub ilpr: crate::Reg<ilpr::ILPR_SPEC>,
13    #[doc = "0x24 - Integer Baud Rate"]
14    pub ibrd: crate::Reg<ibrd::IBRD_SPEC>,
15    #[doc = "0x28 - Fractional Baud Rate"]
16    pub fbrd: crate::Reg<fbrd::FBRD_SPEC>,
17    #[doc = "0x2c - Line Control"]
18    pub lcr_h: crate::Reg<lcr_h::LCR_H_SPEC>,
19    #[doc = "0x30 - Control"]
20    pub cr: crate::Reg<cr::CR_SPEC>,
21    #[doc = "0x34 - Interrupt FIFO Level Select"]
22    pub ifls: crate::Reg<ifls::IFLS_SPEC>,
23    #[doc = "0x38 - Interrupt Mask Set / Clear"]
24    pub imsc: crate::Reg<imsc::IMSC_SPEC>,
25    #[doc = "0x3c - Raw Interrupt Status"]
26    pub ris: crate::Reg<ris::RIS_SPEC>,
27    #[doc = "0x40 - Masked Interrupt Status"]
28    pub mis: crate::Reg<mis::MIS_SPEC>,
29    #[doc = "0x44 - Interrupt Clear"]
30    pub icr: crate::Reg<icr::ICR_SPEC>,
31    #[doc = "0x48 - DMA Control"]
32    pub dmacr: crate::Reg<dmacr::DMACR_SPEC>,
33}
34impl RegisterBlock {
35    #[doc = "0x04 - Error Clear"]
36    #[inline(always)]
37    pub fn ecr(&self) -> &crate::Reg<ecr::ECR_SPEC> {
38        unsafe {
39            &*(((self as *const Self) as *const u8).add(4usize) as *const crate::Reg<ecr::ECR_SPEC>)
40        }
41    }
42    #[doc = "0x04 - Receive Status"]
43    #[inline(always)]
44    pub fn rsr(&self) -> &crate::Reg<rsr::RSR_SPEC> {
45        unsafe {
46            &*(((self as *const Self) as *const u8).add(4usize) as *const crate::Reg<rsr::RSR_SPEC>)
47        }
48    }
49}
50#[doc = "DR register accessor: an alias for `Reg<DR_SPEC>`"]
51pub type DR = crate::Reg<dr::DR_SPEC>;
52#[doc = "Data"]
53pub mod dr;
54#[doc = "RSR register accessor: an alias for `Reg<RSR_SPEC>`"]
55pub type RSR = crate::Reg<rsr::RSR_SPEC>;
56#[doc = "Receive Status"]
57pub mod rsr;
58#[doc = "ECR register accessor: an alias for `Reg<ECR_SPEC>`"]
59pub type ECR = crate::Reg<ecr::ECR_SPEC>;
60#[doc = "Error Clear"]
61pub mod ecr;
62#[doc = "FR register accessor: an alias for `Reg<FR_SPEC>`"]
63pub type FR = crate::Reg<fr::FR_SPEC>;
64#[doc = "Flags"]
65pub mod fr;
66#[doc = "ILPR register accessor: an alias for `Reg<ILPR_SPEC>`"]
67pub type ILPR = crate::Reg<ilpr::ILPR_SPEC>;
68#[doc = "IrDA Low-power Counter"]
69pub mod ilpr;
70#[doc = "IBRD register accessor: an alias for `Reg<IBRD_SPEC>`"]
71pub type IBRD = crate::Reg<ibrd::IBRD_SPEC>;
72#[doc = "Integer Baud Rate"]
73pub mod ibrd;
74#[doc = "FBRD register accessor: an alias for `Reg<FBRD_SPEC>`"]
75pub type FBRD = crate::Reg<fbrd::FBRD_SPEC>;
76#[doc = "Fractional Baud Rate"]
77pub mod fbrd;
78#[doc = "LCR_H register accessor: an alias for `Reg<LCR_H_SPEC>`"]
79pub type LCR_H = crate::Reg<lcr_h::LCR_H_SPEC>;
80#[doc = "Line Control"]
81pub mod lcr_h;
82#[doc = "CR register accessor: an alias for `Reg<CR_SPEC>`"]
83pub type CR = crate::Reg<cr::CR_SPEC>;
84#[doc = "Control"]
85pub mod cr;
86#[doc = "IFLS register accessor: an alias for `Reg<IFLS_SPEC>`"]
87pub type IFLS = crate::Reg<ifls::IFLS_SPEC>;
88#[doc = "Interrupt FIFO Level Select"]
89pub mod ifls;
90#[doc = "IMSC register accessor: an alias for `Reg<IMSC_SPEC>`"]
91pub type IMSC = crate::Reg<imsc::IMSC_SPEC>;
92#[doc = "Interrupt Mask Set / Clear"]
93pub mod imsc;
94#[doc = "RIS register accessor: an alias for `Reg<RIS_SPEC>`"]
95pub type RIS = crate::Reg<ris::RIS_SPEC>;
96#[doc = "Raw Interrupt Status"]
97pub mod ris;
98#[doc = "MIS register accessor: an alias for `Reg<MIS_SPEC>`"]
99pub type MIS = crate::Reg<mis::MIS_SPEC>;
100#[doc = "Masked Interrupt Status"]
101pub mod mis;
102#[doc = "ICR register accessor: an alias for `Reg<ICR_SPEC>`"]
103pub type ICR = crate::Reg<icr::ICR_SPEC>;
104#[doc = "Interrupt Clear"]
105pub mod icr;
106#[doc = "DMACR register accessor: an alias for `Reg<DMACR_SPEC>`"]
107pub type DMACR = crate::Reg<dmacr::DMACR_SPEC>;
108#[doc = "DMA Control"]
109pub mod dmacr;