efm32gg12b410_pac/
timer3.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 - Command Register"]
7    pub cmd: crate::Reg<cmd::CMD_SPEC>,
8    #[doc = "0x08 - Status Register"]
9    pub status: crate::Reg<status::STATUS_SPEC>,
10    #[doc = "0x0c - Interrupt Flag Register"]
11    pub if_: crate::Reg<if_::IF_SPEC>,
12    #[doc = "0x10 - Interrupt Flag Set Register"]
13    pub ifs: crate::Reg<ifs::IFS_SPEC>,
14    #[doc = "0x14 - Interrupt Flag Clear Register"]
15    pub ifc: crate::Reg<ifc::IFC_SPEC>,
16    #[doc = "0x18 - Interrupt Enable Register"]
17    pub ien: crate::Reg<ien::IEN_SPEC>,
18    #[doc = "0x1c - Counter Top Value Register"]
19    pub top: crate::Reg<top::TOP_SPEC>,
20    #[doc = "0x20 - Counter Top Value Buffer Register"]
21    pub topb: crate::Reg<topb::TOPB_SPEC>,
22    #[doc = "0x24 - Counter Value Register"]
23    pub cnt: crate::Reg<cnt::CNT_SPEC>,
24    _reserved10: [u8; 0x04],
25    #[doc = "0x2c - TIMER Configuration Lock Register"]
26    pub lock: crate::Reg<lock::LOCK_SPEC>,
27    #[doc = "0x30 - I/O Routing Pin Enable Register"]
28    pub routepen: crate::Reg<routepen::ROUTEPEN_SPEC>,
29    #[doc = "0x34 - I/O Routing Location Register"]
30    pub routeloc0: crate::Reg<routeloc0::ROUTELOC0_SPEC>,
31    _reserved13: [u8; 0x04],
32    #[doc = "0x3c - I/O Routing Location Register"]
33    pub routeloc2: crate::Reg<routeloc2::ROUTELOC2_SPEC>,
34    _reserved14: [u8; 0x20],
35    #[doc = "0x60 - CC Channel Control Register"]
36    pub cc0_ctrl: crate::Reg<cc0_ctrl::CC0_CTRL_SPEC>,
37    #[doc = "0x64 - CC Channel Value Register"]
38    pub cc0_ccv: crate::Reg<cc0_ccv::CC0_CCV_SPEC>,
39    #[doc = "0x68 - CC Channel Value Peek Register"]
40    pub cc0_ccvp: crate::Reg<cc0_ccvp::CC0_CCVP_SPEC>,
41    #[doc = "0x6c - CC Channel Buffer Register"]
42    pub cc0_ccvb: crate::Reg<cc0_ccvb::CC0_CCVB_SPEC>,
43    #[doc = "0x70 - CC Channel Control Register"]
44    pub cc1_ctrl: crate::Reg<cc1_ctrl::CC1_CTRL_SPEC>,
45    #[doc = "0x74 - CC Channel Value Register"]
46    pub cc1_ccv: crate::Reg<cc1_ccv::CC1_CCV_SPEC>,
47    #[doc = "0x78 - CC Channel Value Peek Register"]
48    pub cc1_ccvp: crate::Reg<cc1_ccvp::CC1_CCVP_SPEC>,
49    #[doc = "0x7c - CC Channel Buffer Register"]
50    pub cc1_ccvb: crate::Reg<cc1_ccvb::CC1_CCVB_SPEC>,
51    #[doc = "0x80 - CC Channel Control Register"]
52    pub cc2_ctrl: crate::Reg<cc2_ctrl::CC2_CTRL_SPEC>,
53    #[doc = "0x84 - CC Channel Value Register"]
54    pub cc2_ccv: crate::Reg<cc2_ccv::CC2_CCV_SPEC>,
55    #[doc = "0x88 - CC Channel Value Peek Register"]
56    pub cc2_ccvp: crate::Reg<cc2_ccvp::CC2_CCVP_SPEC>,
57    #[doc = "0x8c - CC Channel Buffer Register"]
58    pub cc2_ccvb: crate::Reg<cc2_ccvb::CC2_CCVB_SPEC>,
59    #[doc = "0x90 - CC Channel Control Register"]
60    pub cc3_ctrl: crate::Reg<cc3_ctrl::CC3_CTRL_SPEC>,
61    #[doc = "0x94 - CC Channel Value Register"]
62    pub cc3_ccv: crate::Reg<cc3_ccv::CC3_CCV_SPEC>,
63    #[doc = "0x98 - CC Channel Value Peek Register"]
64    pub cc3_ccvp: crate::Reg<cc3_ccvp::CC3_CCVP_SPEC>,
65    #[doc = "0x9c - CC Channel Buffer Register"]
66    pub cc3_ccvb: crate::Reg<cc3_ccvb::CC3_CCVB_SPEC>,
67    #[doc = "0xa0 - DTI Control Register"]
68    pub dtctrl: crate::Reg<dtctrl::DTCTRL_SPEC>,
69    #[doc = "0xa4 - DTI Time Control Register"]
70    pub dttime: crate::Reg<dttime::DTTIME_SPEC>,
71    #[doc = "0xa8 - DTI Fault Configuration Register"]
72    pub dtfc: crate::Reg<dtfc::DTFC_SPEC>,
73    #[doc = "0xac - DTI Output Generation Enable Register"]
74    pub dtogen: crate::Reg<dtogen::DTOGEN_SPEC>,
75    #[doc = "0xb0 - DTI Fault Register"]
76    pub dtfault: crate::Reg<dtfault::DTFAULT_SPEC>,
77    #[doc = "0xb4 - DTI Fault Clear Register"]
78    pub dtfaultc: crate::Reg<dtfaultc::DTFAULTC_SPEC>,
79    #[doc = "0xb8 - DTI Configuration Lock Register"]
80    pub dtlock: crate::Reg<dtlock::DTLOCK_SPEC>,
81}
82#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
83pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
84#[doc = "Control Register"]
85pub mod ctrl;
86#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
87pub type CMD = crate::Reg<cmd::CMD_SPEC>;
88#[doc = "Command Register"]
89pub mod cmd;
90#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
91pub type STATUS = crate::Reg<status::STATUS_SPEC>;
92#[doc = "Status Register"]
93pub mod status;
94#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
95pub type IF = crate::Reg<if_::IF_SPEC>;
96#[doc = "Interrupt Flag Register"]
97pub mod if_;
98#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
99pub type IFS = crate::Reg<ifs::IFS_SPEC>;
100#[doc = "Interrupt Flag Set Register"]
101pub mod ifs;
102#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
103pub type IFC = crate::Reg<ifc::IFC_SPEC>;
104#[doc = "Interrupt Flag Clear Register"]
105pub mod ifc;
106#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
107pub type IEN = crate::Reg<ien::IEN_SPEC>;
108#[doc = "Interrupt Enable Register"]
109pub mod ien;
110#[doc = "TOP register accessor: an alias for `Reg<TOP_SPEC>`"]
111pub type TOP = crate::Reg<top::TOP_SPEC>;
112#[doc = "Counter Top Value Register"]
113pub mod top;
114#[doc = "TOPB register accessor: an alias for `Reg<TOPB_SPEC>`"]
115pub type TOPB = crate::Reg<topb::TOPB_SPEC>;
116#[doc = "Counter Top Value Buffer Register"]
117pub mod topb;
118#[doc = "CNT register accessor: an alias for `Reg<CNT_SPEC>`"]
119pub type CNT = crate::Reg<cnt::CNT_SPEC>;
120#[doc = "Counter Value Register"]
121pub mod cnt;
122#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
123pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
124#[doc = "TIMER Configuration Lock Register"]
125pub mod lock;
126#[doc = "ROUTEPEN register accessor: an alias for `Reg<ROUTEPEN_SPEC>`"]
127pub type ROUTEPEN = crate::Reg<routepen::ROUTEPEN_SPEC>;
128#[doc = "I/O Routing Pin Enable Register"]
129pub mod routepen;
130#[doc = "ROUTELOC0 register accessor: an alias for `Reg<ROUTELOC0_SPEC>`"]
131pub type ROUTELOC0 = crate::Reg<routeloc0::ROUTELOC0_SPEC>;
132#[doc = "I/O Routing Location Register"]
133pub mod routeloc0;
134#[doc = "ROUTELOC2 register accessor: an alias for `Reg<ROUTELOC2_SPEC>`"]
135pub type ROUTELOC2 = crate::Reg<routeloc2::ROUTELOC2_SPEC>;
136#[doc = "I/O Routing Location Register"]
137pub mod routeloc2;
138#[doc = "CC0_CTRL register accessor: an alias for `Reg<CC0_CTRL_SPEC>`"]
139pub type CC0_CTRL = crate::Reg<cc0_ctrl::CC0_CTRL_SPEC>;
140#[doc = "CC Channel Control Register"]
141pub mod cc0_ctrl;
142#[doc = "CC0_CCV register accessor: an alias for `Reg<CC0_CCV_SPEC>`"]
143pub type CC0_CCV = crate::Reg<cc0_ccv::CC0_CCV_SPEC>;
144#[doc = "CC Channel Value Register"]
145pub mod cc0_ccv;
146#[doc = "CC0_CCVP register accessor: an alias for `Reg<CC0_CCVP_SPEC>`"]
147pub type CC0_CCVP = crate::Reg<cc0_ccvp::CC0_CCVP_SPEC>;
148#[doc = "CC Channel Value Peek Register"]
149pub mod cc0_ccvp;
150#[doc = "CC0_CCVB register accessor: an alias for `Reg<CC0_CCVB_SPEC>`"]
151pub type CC0_CCVB = crate::Reg<cc0_ccvb::CC0_CCVB_SPEC>;
152#[doc = "CC Channel Buffer Register"]
153pub mod cc0_ccvb;
154#[doc = "CC1_CTRL register accessor: an alias for `Reg<CC1_CTRL_SPEC>`"]
155pub type CC1_CTRL = crate::Reg<cc1_ctrl::CC1_CTRL_SPEC>;
156#[doc = "CC Channel Control Register"]
157pub mod cc1_ctrl;
158#[doc = "CC1_CCV register accessor: an alias for `Reg<CC1_CCV_SPEC>`"]
159pub type CC1_CCV = crate::Reg<cc1_ccv::CC1_CCV_SPEC>;
160#[doc = "CC Channel Value Register"]
161pub mod cc1_ccv;
162#[doc = "CC1_CCVP register accessor: an alias for `Reg<CC1_CCVP_SPEC>`"]
163pub type CC1_CCVP = crate::Reg<cc1_ccvp::CC1_CCVP_SPEC>;
164#[doc = "CC Channel Value Peek Register"]
165pub mod cc1_ccvp;
166#[doc = "CC1_CCVB register accessor: an alias for `Reg<CC1_CCVB_SPEC>`"]
167pub type CC1_CCVB = crate::Reg<cc1_ccvb::CC1_CCVB_SPEC>;
168#[doc = "CC Channel Buffer Register"]
169pub mod cc1_ccvb;
170#[doc = "CC2_CTRL register accessor: an alias for `Reg<CC2_CTRL_SPEC>`"]
171pub type CC2_CTRL = crate::Reg<cc2_ctrl::CC2_CTRL_SPEC>;
172#[doc = "CC Channel Control Register"]
173pub mod cc2_ctrl;
174#[doc = "CC2_CCV register accessor: an alias for `Reg<CC2_CCV_SPEC>`"]
175pub type CC2_CCV = crate::Reg<cc2_ccv::CC2_CCV_SPEC>;
176#[doc = "CC Channel Value Register"]
177pub mod cc2_ccv;
178#[doc = "CC2_CCVP register accessor: an alias for `Reg<CC2_CCVP_SPEC>`"]
179pub type CC2_CCVP = crate::Reg<cc2_ccvp::CC2_CCVP_SPEC>;
180#[doc = "CC Channel Value Peek Register"]
181pub mod cc2_ccvp;
182#[doc = "CC2_CCVB register accessor: an alias for `Reg<CC2_CCVB_SPEC>`"]
183pub type CC2_CCVB = crate::Reg<cc2_ccvb::CC2_CCVB_SPEC>;
184#[doc = "CC Channel Buffer Register"]
185pub mod cc2_ccvb;
186#[doc = "CC3_CTRL register accessor: an alias for `Reg<CC3_CTRL_SPEC>`"]
187pub type CC3_CTRL = crate::Reg<cc3_ctrl::CC3_CTRL_SPEC>;
188#[doc = "CC Channel Control Register"]
189pub mod cc3_ctrl;
190#[doc = "CC3_CCV register accessor: an alias for `Reg<CC3_CCV_SPEC>`"]
191pub type CC3_CCV = crate::Reg<cc3_ccv::CC3_CCV_SPEC>;
192#[doc = "CC Channel Value Register"]
193pub mod cc3_ccv;
194#[doc = "CC3_CCVP register accessor: an alias for `Reg<CC3_CCVP_SPEC>`"]
195pub type CC3_CCVP = crate::Reg<cc3_ccvp::CC3_CCVP_SPEC>;
196#[doc = "CC Channel Value Peek Register"]
197pub mod cc3_ccvp;
198#[doc = "CC3_CCVB register accessor: an alias for `Reg<CC3_CCVB_SPEC>`"]
199pub type CC3_CCVB = crate::Reg<cc3_ccvb::CC3_CCVB_SPEC>;
200#[doc = "CC Channel Buffer Register"]
201pub mod cc3_ccvb;
202#[doc = "DTCTRL register accessor: an alias for `Reg<DTCTRL_SPEC>`"]
203pub type DTCTRL = crate::Reg<dtctrl::DTCTRL_SPEC>;
204#[doc = "DTI Control Register"]
205pub mod dtctrl;
206#[doc = "DTTIME register accessor: an alias for `Reg<DTTIME_SPEC>`"]
207pub type DTTIME = crate::Reg<dttime::DTTIME_SPEC>;
208#[doc = "DTI Time Control Register"]
209pub mod dttime;
210#[doc = "DTFC register accessor: an alias for `Reg<DTFC_SPEC>`"]
211pub type DTFC = crate::Reg<dtfc::DTFC_SPEC>;
212#[doc = "DTI Fault Configuration Register"]
213pub mod dtfc;
214#[doc = "DTOGEN register accessor: an alias for `Reg<DTOGEN_SPEC>`"]
215pub type DTOGEN = crate::Reg<dtogen::DTOGEN_SPEC>;
216#[doc = "DTI Output Generation Enable Register"]
217pub mod dtogen;
218#[doc = "DTFAULT register accessor: an alias for `Reg<DTFAULT_SPEC>`"]
219pub type DTFAULT = crate::Reg<dtfault::DTFAULT_SPEC>;
220#[doc = "DTI Fault Register"]
221pub mod dtfault;
222#[doc = "DTFAULTC register accessor: an alias for `Reg<DTFAULTC_SPEC>`"]
223pub type DTFAULTC = crate::Reg<dtfaultc::DTFAULTC_SPEC>;
224#[doc = "DTI Fault Clear Register"]
225pub mod dtfaultc;
226#[doc = "DTLOCK register accessor: an alias for `Reg<DTLOCK_SPEC>`"]
227pub type DTLOCK = crate::Reg<dtlock::DTLOCK_SPEC>;
228#[doc = "DTI Configuration Lock Register"]
229pub mod dtlock;