efm32tg11b320_pac/
usart0.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - USART Frame Format Register"]
7    pub frame: crate::Reg<frame::FRAME_SPEC>,
8    #[doc = "0x08 - USART Trigger Control Register"]
9    pub trigctrl: crate::Reg<trigctrl::TRIGCTRL_SPEC>,
10    #[doc = "0x0c - Command Register"]
11    pub cmd: crate::Reg<cmd::CMD_SPEC>,
12    #[doc = "0x10 - USART Status Register"]
13    pub status: crate::Reg<status::STATUS_SPEC>,
14    #[doc = "0x14 - Clock Control Register"]
15    pub clkdiv: crate::Reg<clkdiv::CLKDIV_SPEC>,
16    #[doc = "0x18 - RX Buffer Data Extended Register"]
17    pub rxdatax: crate::Reg<rxdatax::RXDATAX_SPEC>,
18    #[doc = "0x1c - RX Buffer Data Register"]
19    pub rxdata: crate::Reg<rxdata::RXDATA_SPEC>,
20    #[doc = "0x20 - RX Buffer Double Data Extended Register"]
21    pub rxdoublex: crate::Reg<rxdoublex::RXDOUBLEX_SPEC>,
22    #[doc = "0x24 - RX FIFO Double Data Register"]
23    pub rxdouble: crate::Reg<rxdouble::RXDOUBLE_SPEC>,
24    #[doc = "0x28 - RX Buffer Data Extended Peek Register"]
25    pub rxdataxp: crate::Reg<rxdataxp::RXDATAXP_SPEC>,
26    #[doc = "0x2c - RX Buffer Double Data Extended Peek Register"]
27    pub rxdoublexp: crate::Reg<rxdoublexp::RXDOUBLEXP_SPEC>,
28    #[doc = "0x30 - TX Buffer Data Extended Register"]
29    pub txdatax: crate::Reg<txdatax::TXDATAX_SPEC>,
30    #[doc = "0x34 - TX Buffer Data Register"]
31    pub txdata: crate::Reg<txdata::TXDATA_SPEC>,
32    #[doc = "0x38 - TX Buffer Double Data Extended Register"]
33    pub txdoublex: crate::Reg<txdoublex::TXDOUBLEX_SPEC>,
34    #[doc = "0x3c - TX Buffer Double Data Register"]
35    pub txdouble: crate::Reg<txdouble::TXDOUBLE_SPEC>,
36    #[doc = "0x40 - Interrupt Flag Register"]
37    pub if_: crate::Reg<if_::IF_SPEC>,
38    #[doc = "0x44 - Interrupt Flag Set Register"]
39    pub ifs: crate::Reg<ifs::IFS_SPEC>,
40    #[doc = "0x48 - Interrupt Flag Clear Register"]
41    pub ifc: crate::Reg<ifc::IFC_SPEC>,
42    #[doc = "0x4c - Interrupt Enable Register"]
43    pub ien: crate::Reg<ien::IEN_SPEC>,
44    #[doc = "0x50 - IrDA Control Register"]
45    pub irctrl: crate::Reg<irctrl::IRCTRL_SPEC>,
46    _reserved21: [u8; 0x04],
47    #[doc = "0x58 - USART Input Register"]
48    pub input: crate::Reg<input::INPUT_SPEC>,
49    #[doc = "0x5c - I2S Control Register"]
50    pub i2sctrl: crate::Reg<i2sctrl::I2SCTRL_SPEC>,
51    #[doc = "0x60 - Timing Register"]
52    pub timing: crate::Reg<timing::TIMING_SPEC>,
53    #[doc = "0x64 - Control Register Extended"]
54    pub ctrlx: crate::Reg<ctrlx::CTRLX_SPEC>,
55    #[doc = "0x68 - Used to Generate Interrupts and Various Delays"]
56    pub timecmp0: crate::Reg<timecmp0::TIMECMP0_SPEC>,
57    #[doc = "0x6c - Used to Generate Interrupts and Various Delays"]
58    pub timecmp1: crate::Reg<timecmp1::TIMECMP1_SPEC>,
59    #[doc = "0x70 - Used to Generate Interrupts and Various Delays"]
60    pub timecmp2: crate::Reg<timecmp2::TIMECMP2_SPEC>,
61    #[doc = "0x74 - I/O Routing Pin Enable Register"]
62    pub routepen: crate::Reg<routepen::ROUTEPEN_SPEC>,
63    #[doc = "0x78 - I/O Routing Location Register"]
64    pub routeloc0: crate::Reg<routeloc0::ROUTELOC0_SPEC>,
65    #[doc = "0x7c - I/O Routing Location Register"]
66    pub routeloc1: crate::Reg<routeloc1::ROUTELOC1_SPEC>,
67}
68#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
69pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
70#[doc = "Control Register"]
71pub mod ctrl;
72#[doc = "FRAME register accessor: an alias for `Reg<FRAME_SPEC>`"]
73pub type FRAME = crate::Reg<frame::FRAME_SPEC>;
74#[doc = "USART Frame Format Register"]
75pub mod frame;
76#[doc = "TRIGCTRL register accessor: an alias for `Reg<TRIGCTRL_SPEC>`"]
77pub type TRIGCTRL = crate::Reg<trigctrl::TRIGCTRL_SPEC>;
78#[doc = "USART Trigger Control Register"]
79pub mod trigctrl;
80#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
81pub type CMD = crate::Reg<cmd::CMD_SPEC>;
82#[doc = "Command Register"]
83pub mod cmd;
84#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
85pub type STATUS = crate::Reg<status::STATUS_SPEC>;
86#[doc = "USART Status Register"]
87pub mod status;
88#[doc = "CLKDIV register accessor: an alias for `Reg<CLKDIV_SPEC>`"]
89pub type CLKDIV = crate::Reg<clkdiv::CLKDIV_SPEC>;
90#[doc = "Clock Control Register"]
91pub mod clkdiv;
92#[doc = "RXDATAX register accessor: an alias for `Reg<RXDATAX_SPEC>`"]
93pub type RXDATAX = crate::Reg<rxdatax::RXDATAX_SPEC>;
94#[doc = "RX Buffer Data Extended Register"]
95pub mod rxdatax;
96#[doc = "RXDATA register accessor: an alias for `Reg<RXDATA_SPEC>`"]
97pub type RXDATA = crate::Reg<rxdata::RXDATA_SPEC>;
98#[doc = "RX Buffer Data Register"]
99pub mod rxdata;
100#[doc = "RXDOUBLEX register accessor: an alias for `Reg<RXDOUBLEX_SPEC>`"]
101pub type RXDOUBLEX = crate::Reg<rxdoublex::RXDOUBLEX_SPEC>;
102#[doc = "RX Buffer Double Data Extended Register"]
103pub mod rxdoublex;
104#[doc = "RXDOUBLE register accessor: an alias for `Reg<RXDOUBLE_SPEC>`"]
105pub type RXDOUBLE = crate::Reg<rxdouble::RXDOUBLE_SPEC>;
106#[doc = "RX FIFO Double Data Register"]
107pub mod rxdouble;
108#[doc = "RXDATAXP register accessor: an alias for `Reg<RXDATAXP_SPEC>`"]
109pub type RXDATAXP = crate::Reg<rxdataxp::RXDATAXP_SPEC>;
110#[doc = "RX Buffer Data Extended Peek Register"]
111pub mod rxdataxp;
112#[doc = "RXDOUBLEXP register accessor: an alias for `Reg<RXDOUBLEXP_SPEC>`"]
113pub type RXDOUBLEXP = crate::Reg<rxdoublexp::RXDOUBLEXP_SPEC>;
114#[doc = "RX Buffer Double Data Extended Peek Register"]
115pub mod rxdoublexp;
116#[doc = "TXDATAX register accessor: an alias for `Reg<TXDATAX_SPEC>`"]
117pub type TXDATAX = crate::Reg<txdatax::TXDATAX_SPEC>;
118#[doc = "TX Buffer Data Extended Register"]
119pub mod txdatax;
120#[doc = "TXDATA register accessor: an alias for `Reg<TXDATA_SPEC>`"]
121pub type TXDATA = crate::Reg<txdata::TXDATA_SPEC>;
122#[doc = "TX Buffer Data Register"]
123pub mod txdata;
124#[doc = "TXDOUBLEX register accessor: an alias for `Reg<TXDOUBLEX_SPEC>`"]
125pub type TXDOUBLEX = crate::Reg<txdoublex::TXDOUBLEX_SPEC>;
126#[doc = "TX Buffer Double Data Extended Register"]
127pub mod txdoublex;
128#[doc = "TXDOUBLE register accessor: an alias for `Reg<TXDOUBLE_SPEC>`"]
129pub type TXDOUBLE = crate::Reg<txdouble::TXDOUBLE_SPEC>;
130#[doc = "TX Buffer Double Data Register"]
131pub mod txdouble;
132#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
133pub type IF = crate::Reg<if_::IF_SPEC>;
134#[doc = "Interrupt Flag Register"]
135pub mod if_;
136#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
137pub type IFS = crate::Reg<ifs::IFS_SPEC>;
138#[doc = "Interrupt Flag Set Register"]
139pub mod ifs;
140#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
141pub type IFC = crate::Reg<ifc::IFC_SPEC>;
142#[doc = "Interrupt Flag Clear Register"]
143pub mod ifc;
144#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
145pub type IEN = crate::Reg<ien::IEN_SPEC>;
146#[doc = "Interrupt Enable Register"]
147pub mod ien;
148#[doc = "IRCTRL register accessor: an alias for `Reg<IRCTRL_SPEC>`"]
149pub type IRCTRL = crate::Reg<irctrl::IRCTRL_SPEC>;
150#[doc = "IrDA Control Register"]
151pub mod irctrl;
152#[doc = "INPUT register accessor: an alias for `Reg<INPUT_SPEC>`"]
153pub type INPUT = crate::Reg<input::INPUT_SPEC>;
154#[doc = "USART Input Register"]
155pub mod input;
156#[doc = "I2SCTRL register accessor: an alias for `Reg<I2SCTRL_SPEC>`"]
157pub type I2SCTRL = crate::Reg<i2sctrl::I2SCTRL_SPEC>;
158#[doc = "I2S Control Register"]
159pub mod i2sctrl;
160#[doc = "TIMING register accessor: an alias for `Reg<TIMING_SPEC>`"]
161pub type TIMING = crate::Reg<timing::TIMING_SPEC>;
162#[doc = "Timing Register"]
163pub mod timing;
164#[doc = "CTRLX register accessor: an alias for `Reg<CTRLX_SPEC>`"]
165pub type CTRLX = crate::Reg<ctrlx::CTRLX_SPEC>;
166#[doc = "Control Register Extended"]
167pub mod ctrlx;
168#[doc = "TIMECMP0 register accessor: an alias for `Reg<TIMECMP0_SPEC>`"]
169pub type TIMECMP0 = crate::Reg<timecmp0::TIMECMP0_SPEC>;
170#[doc = "Used to Generate Interrupts and Various Delays"]
171pub mod timecmp0;
172#[doc = "TIMECMP1 register accessor: an alias for `Reg<TIMECMP1_SPEC>`"]
173pub type TIMECMP1 = crate::Reg<timecmp1::TIMECMP1_SPEC>;
174#[doc = "Used to Generate Interrupts and Various Delays"]
175pub mod timecmp1;
176#[doc = "TIMECMP2 register accessor: an alias for `Reg<TIMECMP2_SPEC>`"]
177pub type TIMECMP2 = crate::Reg<timecmp2::TIMECMP2_SPEC>;
178#[doc = "Used to Generate Interrupts and Various Delays"]
179pub mod timecmp2;
180#[doc = "ROUTEPEN register accessor: an alias for `Reg<ROUTEPEN_SPEC>`"]
181pub type ROUTEPEN = crate::Reg<routepen::ROUTEPEN_SPEC>;
182#[doc = "I/O Routing Pin Enable Register"]
183pub mod routepen;
184#[doc = "ROUTELOC0 register accessor: an alias for `Reg<ROUTELOC0_SPEC>`"]
185pub type ROUTELOC0 = crate::Reg<routeloc0::ROUTELOC0_SPEC>;
186#[doc = "I/O Routing Location Register"]
187pub mod routeloc0;
188#[doc = "ROUTELOC1 register accessor: an alias for `Reg<ROUTELOC1_SPEC>`"]
189pub type ROUTELOC1 = crate::Reg<routeloc1::ROUTELOC1_SPEC>;
190#[doc = "I/O Routing Location Register"]
191pub mod routeloc1;