efm32pg1b_pac/cmu.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 ctrl: Ctrl,
6 _reserved1: [u8; 0x0c],
7 hfrcoctrl: Hfrcoctrl,
8 _reserved2: [u8; 0x04],
9 auxhfrcoctrl: Auxhfrcoctrl,
10 _reserved3: [u8; 0x04],
11 lfrcoctrl: Lfrcoctrl,
12 hfxoctrl: Hfxoctrl,
13 hfxoctrl1: Hfxoctrl1,
14 hfxostartupctrl: Hfxostartupctrl,
15 hfxosteadystatectrl: Hfxosteadystatectrl,
16 hfxotimeoutctrl: Hfxotimeoutctrl,
17 lfxoctrl: Lfxoctrl,
18 ulfrcoctrl: Ulfrcoctrl,
19 _reserved11: [u8; 0x10],
20 calctrl: Calctrl,
21 calcnt: Calcnt,
22 _reserved13: [u8; 0x08],
23 oscencmd: Oscencmd,
24 cmd: Cmd,
25 _reserved15: [u8; 0x08],
26 dbgclksel: Dbgclksel,
27 hfclksel: Hfclksel,
28 _reserved17: [u8; 0x08],
29 lfaclksel: Lfaclksel,
30 lfbclksel: Lfbclksel,
31 lfeclksel: Lfeclksel,
32 _reserved20: [u8; 0x04],
33 status: Status,
34 hfclkstatus: Hfclkstatus,
35 _reserved22: [u8; 0x04],
36 hfxotrimstatus: Hfxotrimstatus,
37 if_: If,
38 ifs: Ifs,
39 ifc: Ifc,
40 ien: Ien,
41 hfbusclken0: Hfbusclken0,
42 _reserved28: [u8; 0x0c],
43 hfperclken0: Hfperclken0,
44 _reserved29: [u8; 0x1c],
45 lfaclken0: Lfaclken0,
46 _reserved30: [u8; 0x04],
47 lfbclken0: Lfbclken0,
48 _reserved31: [u8; 0x04],
49 lfeclken0: Lfeclken0,
50 _reserved32: [u8; 0x0c],
51 hfpresc: Hfpresc,
52 _reserved33: [u8; 0x04],
53 hfcorepresc: Hfcorepresc,
54 hfperpresc: Hfperpresc,
55 _reserved35: [u8; 0x04],
56 hfexppresc: Hfexppresc,
57 _reserved36: [u8; 0x08],
58 lfapresc0: Lfapresc0,
59 _reserved37: [u8; 0x04],
60 lfbpresc0: Lfbpresc0,
61 _reserved38: [u8; 0x04],
62 lfepresc0: Lfepresc0,
63 _reserved39: [u8; 0x0c],
64 syncbusy: Syncbusy,
65 freeze: Freeze,
66 _reserved41: [u8; 0x08],
67 pcntctrl: Pcntctrl,
68 _reserved42: [u8; 0x08],
69 adcctrl: Adcctrl,
70 _reserved43: [u8; 0x10],
71 routepen: Routepen,
72 routeloc0: Routeloc0,
73 _reserved45: [u8; 0x08],
74 lock: Lock,
75}
76impl RegisterBlock {
77 ///0x00 - CMU Control Register
78 #[inline(always)]
79 pub const fn ctrl(&self) -> &Ctrl {
80 &self.ctrl
81 }
82 ///0x10 - HFRCO Control Register
83 #[inline(always)]
84 pub const fn hfrcoctrl(&self) -> &Hfrcoctrl {
85 &self.hfrcoctrl
86 }
87 ///0x18 - AUXHFRCO Control Register
88 #[inline(always)]
89 pub const fn auxhfrcoctrl(&self) -> &Auxhfrcoctrl {
90 &self.auxhfrcoctrl
91 }
92 ///0x20 - LFRCO Control Register
93 #[inline(always)]
94 pub const fn lfrcoctrl(&self) -> &Lfrcoctrl {
95 &self.lfrcoctrl
96 }
97 ///0x24 - HFXO Control Register
98 #[inline(always)]
99 pub const fn hfxoctrl(&self) -> &Hfxoctrl {
100 &self.hfxoctrl
101 }
102 ///0x28 - HFXO Control 1
103 #[inline(always)]
104 pub const fn hfxoctrl1(&self) -> &Hfxoctrl1 {
105 &self.hfxoctrl1
106 }
107 ///0x2c - HFXO Startup Control
108 #[inline(always)]
109 pub const fn hfxostartupctrl(&self) -> &Hfxostartupctrl {
110 &self.hfxostartupctrl
111 }
112 ///0x30 - HFXO Steady State Control
113 #[inline(always)]
114 pub const fn hfxosteadystatectrl(&self) -> &Hfxosteadystatectrl {
115 &self.hfxosteadystatectrl
116 }
117 ///0x34 - HFXO Timeout Control
118 #[inline(always)]
119 pub const fn hfxotimeoutctrl(&self) -> &Hfxotimeoutctrl {
120 &self.hfxotimeoutctrl
121 }
122 ///0x38 - LFXO Control Register
123 #[inline(always)]
124 pub const fn lfxoctrl(&self) -> &Lfxoctrl {
125 &self.lfxoctrl
126 }
127 ///0x3c - ULFRCO Control Register
128 #[inline(always)]
129 pub const fn ulfrcoctrl(&self) -> &Ulfrcoctrl {
130 &self.ulfrcoctrl
131 }
132 ///0x50 - Calibration Control Register
133 #[inline(always)]
134 pub const fn calctrl(&self) -> &Calctrl {
135 &self.calctrl
136 }
137 ///0x54 - Calibration Counter Register
138 #[inline(always)]
139 pub const fn calcnt(&self) -> &Calcnt {
140 &self.calcnt
141 }
142 ///0x60 - Oscillator Enable/Disable Command Register
143 #[inline(always)]
144 pub const fn oscencmd(&self) -> &Oscencmd {
145 &self.oscencmd
146 }
147 ///0x64 - Command Register
148 #[inline(always)]
149 pub const fn cmd(&self) -> &Cmd {
150 &self.cmd
151 }
152 ///0x70 - Debug Trace Clock Select
153 #[inline(always)]
154 pub const fn dbgclksel(&self) -> &Dbgclksel {
155 &self.dbgclksel
156 }
157 ///0x74 - High Frequency Clock Select Command Register
158 #[inline(always)]
159 pub const fn hfclksel(&self) -> &Hfclksel {
160 &self.hfclksel
161 }
162 ///0x80 - Low Frequency A Clock Select Register
163 #[inline(always)]
164 pub const fn lfaclksel(&self) -> &Lfaclksel {
165 &self.lfaclksel
166 }
167 ///0x84 - Low Frequency B Clock Select Register
168 #[inline(always)]
169 pub const fn lfbclksel(&self) -> &Lfbclksel {
170 &self.lfbclksel
171 }
172 ///0x88 - Low Frequency E Clock Select Register
173 #[inline(always)]
174 pub const fn lfeclksel(&self) -> &Lfeclksel {
175 &self.lfeclksel
176 }
177 ///0x90 - Status Register
178 #[inline(always)]
179 pub const fn status(&self) -> &Status {
180 &self.status
181 }
182 ///0x94 - HFCLK Status Register
183 #[inline(always)]
184 pub const fn hfclkstatus(&self) -> &Hfclkstatus {
185 &self.hfclkstatus
186 }
187 ///0x9c - HFXO Trim Status
188 #[inline(always)]
189 pub const fn hfxotrimstatus(&self) -> &Hfxotrimstatus {
190 &self.hfxotrimstatus
191 }
192 ///0xa0 - Interrupt Flag Register
193 #[inline(always)]
194 pub const fn if_(&self) -> &If {
195 &self.if_
196 }
197 ///0xa4 - Interrupt Flag Set Register
198 #[inline(always)]
199 pub const fn ifs(&self) -> &Ifs {
200 &self.ifs
201 }
202 ///0xa8 - Interrupt Flag Clear Register
203 #[inline(always)]
204 pub const fn ifc(&self) -> &Ifc {
205 &self.ifc
206 }
207 ///0xac - Interrupt Enable Register
208 #[inline(always)]
209 pub const fn ien(&self) -> &Ien {
210 &self.ien
211 }
212 ///0xb0 - High Frequency Bus Clock Enable Register 0
213 #[inline(always)]
214 pub const fn hfbusclken0(&self) -> &Hfbusclken0 {
215 &self.hfbusclken0
216 }
217 ///0xc0 - High Frequency Peripheral Clock Enable Register 0
218 #[inline(always)]
219 pub const fn hfperclken0(&self) -> &Hfperclken0 {
220 &self.hfperclken0
221 }
222 ///0xe0 - Low Frequency a Clock Enable Register 0 (Async Reg)
223 #[inline(always)]
224 pub const fn lfaclken0(&self) -> &Lfaclken0 {
225 &self.lfaclken0
226 }
227 ///0xe8 - Low Frequency B Clock Enable Register 0 (Async Reg)
228 #[inline(always)]
229 pub const fn lfbclken0(&self) -> &Lfbclken0 {
230 &self.lfbclken0
231 }
232 ///0xf0 - Low Frequency E Clock Enable Register 0 (Async Reg)
233 #[inline(always)]
234 pub const fn lfeclken0(&self) -> &Lfeclken0 {
235 &self.lfeclken0
236 }
237 ///0x100 - High Frequency Clock Prescaler Register
238 #[inline(always)]
239 pub const fn hfpresc(&self) -> &Hfpresc {
240 &self.hfpresc
241 }
242 ///0x108 - High Frequency Core Clock Prescaler Register
243 #[inline(always)]
244 pub const fn hfcorepresc(&self) -> &Hfcorepresc {
245 &self.hfcorepresc
246 }
247 ///0x10c - High Frequency Peripheral Clock Prescaler Register
248 #[inline(always)]
249 pub const fn hfperpresc(&self) -> &Hfperpresc {
250 &self.hfperpresc
251 }
252 ///0x114 - High Frequency Export Clock Prescaler Register
253 #[inline(always)]
254 pub const fn hfexppresc(&self) -> &Hfexppresc {
255 &self.hfexppresc
256 }
257 ///0x120 - Low Frequency a Prescaler Register 0 (Async Reg)
258 #[inline(always)]
259 pub const fn lfapresc0(&self) -> &Lfapresc0 {
260 &self.lfapresc0
261 }
262 ///0x128 - Low Frequency B Prescaler Register 0 (Async Reg)
263 #[inline(always)]
264 pub const fn lfbpresc0(&self) -> &Lfbpresc0 {
265 &self.lfbpresc0
266 }
267 ///0x130 - Low Frequency E Prescaler Register 0 (Async Reg)
268 #[inline(always)]
269 pub const fn lfepresc0(&self) -> &Lfepresc0 {
270 &self.lfepresc0
271 }
272 ///0x140 - Synchronization Busy Register
273 #[inline(always)]
274 pub const fn syncbusy(&self) -> &Syncbusy {
275 &self.syncbusy
276 }
277 ///0x144 - Freeze Register
278 #[inline(always)]
279 pub const fn freeze(&self) -> &Freeze {
280 &self.freeze
281 }
282 ///0x150 - PCNT Control Register
283 #[inline(always)]
284 pub const fn pcntctrl(&self) -> &Pcntctrl {
285 &self.pcntctrl
286 }
287 ///0x15c - ADC Control Register
288 #[inline(always)]
289 pub const fn adcctrl(&self) -> &Adcctrl {
290 &self.adcctrl
291 }
292 ///0x170 - I/O Routing Pin Enable Register
293 #[inline(always)]
294 pub const fn routepen(&self) -> &Routepen {
295 &self.routepen
296 }
297 ///0x174 - I/O Routing Location Register
298 #[inline(always)]
299 pub const fn routeloc0(&self) -> &Routeloc0 {
300 &self.routeloc0
301 }
302 ///0x180 - Configuration Lock Register
303 #[inline(always)]
304 pub const fn lock(&self) -> &Lock {
305 &self.lock
306 }
307}
308///CTRL (rw) register accessor: CMU Control Register
309///
310///You can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
311///
312///For information about available fields see [`mod@ctrl`]
313///module
314#[doc(alias = "CTRL")]
315pub type Ctrl = crate::Reg<ctrl::CTRLrs>;
316///CMU Control Register
317pub mod ctrl;
318///HFRCOCTRL (rw) register accessor: HFRCO Control Register
319///
320///You can [`read`](crate::Reg::read) this register and get [`hfrcoctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfrcoctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
321///
322///For information about available fields see [`mod@hfrcoctrl`]
323///module
324#[doc(alias = "HFRCOCTRL")]
325pub type Hfrcoctrl = crate::Reg<hfrcoctrl::HFRCOCTRLrs>;
326///HFRCO Control Register
327pub mod hfrcoctrl;
328pub use hfrcoctrl as auxhfrcoctrl;
329pub use Hfrcoctrl as Auxhfrcoctrl;
330///LFRCOCTRL (rw) register accessor: LFRCO Control Register
331///
332///You can [`read`](crate::Reg::read) this register and get [`lfrcoctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfrcoctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
333///
334///For information about available fields see [`mod@lfrcoctrl`]
335///module
336#[doc(alias = "LFRCOCTRL")]
337pub type Lfrcoctrl = crate::Reg<lfrcoctrl::LFRCOCTRLrs>;
338///LFRCO Control Register
339pub mod lfrcoctrl;
340///HFXOCTRL (rw) register accessor: HFXO Control Register
341///
342///You can [`read`](crate::Reg::read) this register and get [`hfxoctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfxoctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
343///
344///For information about available fields see [`mod@hfxoctrl`]
345///module
346#[doc(alias = "HFXOCTRL")]
347pub type Hfxoctrl = crate::Reg<hfxoctrl::HFXOCTRLrs>;
348///HFXO Control Register
349pub mod hfxoctrl;
350///HFXOCTRL1 (rw) register accessor: HFXO Control 1
351///
352///You can [`read`](crate::Reg::read) this register and get [`hfxoctrl1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfxoctrl1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
353///
354///For information about available fields see [`mod@hfxoctrl1`]
355///module
356#[doc(alias = "HFXOCTRL1")]
357pub type Hfxoctrl1 = crate::Reg<hfxoctrl1::HFXOCTRL1rs>;
358///HFXO Control 1
359pub mod hfxoctrl1;
360///HFXOSTARTUPCTRL (rw) register accessor: HFXO Startup Control
361///
362///You can [`read`](crate::Reg::read) this register and get [`hfxostartupctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfxostartupctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
363///
364///For information about available fields see [`mod@hfxostartupctrl`]
365///module
366#[doc(alias = "HFXOSTARTUPCTRL")]
367pub type Hfxostartupctrl = crate::Reg<hfxostartupctrl::HFXOSTARTUPCTRLrs>;
368///HFXO Startup Control
369pub mod hfxostartupctrl;
370///HFXOSTEADYSTATECTRL (rw) register accessor: HFXO Steady State Control
371///
372///You can [`read`](crate::Reg::read) this register and get [`hfxosteadystatectrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfxosteadystatectrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
373///
374///For information about available fields see [`mod@hfxosteadystatectrl`]
375///module
376#[doc(alias = "HFXOSTEADYSTATECTRL")]
377pub type Hfxosteadystatectrl = crate::Reg<hfxosteadystatectrl::HFXOSTEADYSTATECTRLrs>;
378///HFXO Steady State Control
379pub mod hfxosteadystatectrl;
380///HFXOTIMEOUTCTRL (rw) register accessor: HFXO Timeout Control
381///
382///You can [`read`](crate::Reg::read) this register and get [`hfxotimeoutctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfxotimeoutctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
383///
384///For information about available fields see [`mod@hfxotimeoutctrl`]
385///module
386#[doc(alias = "HFXOTIMEOUTCTRL")]
387pub type Hfxotimeoutctrl = crate::Reg<hfxotimeoutctrl::HFXOTIMEOUTCTRLrs>;
388///HFXO Timeout Control
389pub mod hfxotimeoutctrl;
390///LFXOCTRL (rw) register accessor: LFXO Control Register
391///
392///You can [`read`](crate::Reg::read) this register and get [`lfxoctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfxoctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
393///
394///For information about available fields see [`mod@lfxoctrl`]
395///module
396#[doc(alias = "LFXOCTRL")]
397pub type Lfxoctrl = crate::Reg<lfxoctrl::LFXOCTRLrs>;
398///LFXO Control Register
399pub mod lfxoctrl;
400///ULFRCOCTRL (rw) register accessor: ULFRCO Control Register
401///
402///You can [`read`](crate::Reg::read) this register and get [`ulfrcoctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ulfrcoctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
403///
404///For information about available fields see [`mod@ulfrcoctrl`]
405///module
406#[doc(alias = "ULFRCOCTRL")]
407pub type Ulfrcoctrl = crate::Reg<ulfrcoctrl::ULFRCOCTRLrs>;
408///ULFRCO Control Register
409pub mod ulfrcoctrl;
410///CALCTRL (rw) register accessor: Calibration Control Register
411///
412///You can [`read`](crate::Reg::read) this register and get [`calctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`calctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
413///
414///For information about available fields see [`mod@calctrl`]
415///module
416#[doc(alias = "CALCTRL")]
417pub type Calctrl = crate::Reg<calctrl::CALCTRLrs>;
418///Calibration Control Register
419pub mod calctrl;
420///CALCNT (rw) register accessor: Calibration Counter Register
421///
422///You can [`read`](crate::Reg::read) this register and get [`calcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`calcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
423///
424///For information about available fields see [`mod@calcnt`]
425///module
426#[doc(alias = "CALCNT")]
427pub type Calcnt = crate::Reg<calcnt::CALCNTrs>;
428///Calibration Counter Register
429pub mod calcnt;
430///OSCENCMD (w) register accessor: Oscillator Enable/Disable Command Register
431///
432///You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`oscencmd::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
433///
434///For information about available fields see [`mod@oscencmd`]
435///module
436#[doc(alias = "OSCENCMD")]
437pub type Oscencmd = crate::Reg<oscencmd::OSCENCMDrs>;
438///Oscillator Enable/Disable Command Register
439pub mod oscencmd;
440///CMD (w) register accessor: Command Register
441///
442///You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cmd::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
443///
444///For information about available fields see [`mod@cmd`]
445///module
446#[doc(alias = "CMD")]
447pub type Cmd = crate::Reg<cmd::CMDrs>;
448///Command Register
449pub mod cmd;
450///DBGCLKSEL (rw) register accessor: Debug Trace Clock Select
451///
452///You can [`read`](crate::Reg::read) this register and get [`dbgclksel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgclksel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
453///
454///For information about available fields see [`mod@dbgclksel`]
455///module
456#[doc(alias = "DBGCLKSEL")]
457pub type Dbgclksel = crate::Reg<dbgclksel::DBGCLKSELrs>;
458///Debug Trace Clock Select
459pub mod dbgclksel;
460///HFCLKSEL (w) register accessor: High Frequency Clock Select Command Register
461///
462///You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfclksel::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
463///
464///For information about available fields see [`mod@hfclksel`]
465///module
466#[doc(alias = "HFCLKSEL")]
467pub type Hfclksel = crate::Reg<hfclksel::HFCLKSELrs>;
468///High Frequency Clock Select Command Register
469pub mod hfclksel;
470///LFACLKSEL (rw) register accessor: Low Frequency A Clock Select Register
471///
472///You can [`read`](crate::Reg::read) this register and get [`lfaclksel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfaclksel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
473///
474///For information about available fields see [`mod@lfaclksel`]
475///module
476#[doc(alias = "LFACLKSEL")]
477pub type Lfaclksel = crate::Reg<lfaclksel::LFACLKSELrs>;
478///Low Frequency A Clock Select Register
479pub mod lfaclksel;
480///LFBCLKSEL (rw) register accessor: Low Frequency B Clock Select Register
481///
482///You can [`read`](crate::Reg::read) this register and get [`lfbclksel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfbclksel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
483///
484///For information about available fields see [`mod@lfbclksel`]
485///module
486#[doc(alias = "LFBCLKSEL")]
487pub type Lfbclksel = crate::Reg<lfbclksel::LFBCLKSELrs>;
488///Low Frequency B Clock Select Register
489pub mod lfbclksel;
490///LFECLKSEL (rw) register accessor: Low Frequency E Clock Select Register
491///
492///You can [`read`](crate::Reg::read) this register and get [`lfeclksel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfeclksel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
493///
494///For information about available fields see [`mod@lfeclksel`]
495///module
496#[doc(alias = "LFECLKSEL")]
497pub type Lfeclksel = crate::Reg<lfeclksel::LFECLKSELrs>;
498///Low Frequency E Clock Select Register
499pub mod lfeclksel;
500///STATUS (r) register accessor: Status Register
501///
502///You can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
503///
504///For information about available fields see [`mod@status`]
505///module
506#[doc(alias = "STATUS")]
507pub type Status = crate::Reg<status::STATUSrs>;
508///Status Register
509pub mod status;
510///HFCLKSTATUS (r) register accessor: HFCLK Status Register
511///
512///You can [`read`](crate::Reg::read) this register and get [`hfclkstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
513///
514///For information about available fields see [`mod@hfclkstatus`]
515///module
516#[doc(alias = "HFCLKSTATUS")]
517pub type Hfclkstatus = crate::Reg<hfclkstatus::HFCLKSTATUSrs>;
518///HFCLK Status Register
519pub mod hfclkstatus;
520///HFXOTRIMSTATUS (r) register accessor: HFXO Trim Status
521///
522///You can [`read`](crate::Reg::read) this register and get [`hfxotrimstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
523///
524///For information about available fields see [`mod@hfxotrimstatus`]
525///module
526#[doc(alias = "HFXOTRIMSTATUS")]
527pub type Hfxotrimstatus = crate::Reg<hfxotrimstatus::HFXOTRIMSTATUSrs>;
528///HFXO Trim Status
529pub mod hfxotrimstatus;
530///IF (r) register accessor: Interrupt Flag Register
531///
532///You can [`read`](crate::Reg::read) this register and get [`if_::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
533///
534///For information about available fields see [`mod@if_`]
535///module
536#[doc(alias = "IF")]
537pub type If = crate::Reg<if_::IFrs>;
538///Interrupt Flag Register
539pub mod if_;
540///IFS (w) register accessor: Interrupt Flag Set Register
541///
542///You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ifs::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
543///
544///For information about available fields see [`mod@ifs`]
545///module
546#[doc(alias = "IFS")]
547pub type Ifs = crate::Reg<ifs::IFSrs>;
548///Interrupt Flag Set Register
549pub mod ifs;
550///IFC (w) register accessor: Interrupt Flag Clear Register
551///
552///You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ifc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
553///
554///For information about available fields see [`mod@ifc`]
555///module
556#[doc(alias = "IFC")]
557pub type Ifc = crate::Reg<ifc::IFCrs>;
558///Interrupt Flag Clear Register
559pub mod ifc;
560///IEN (rw) register accessor: Interrupt Enable Register
561///
562///You can [`read`](crate::Reg::read) this register and get [`ien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ien::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
563///
564///For information about available fields see [`mod@ien`]
565///module
566#[doc(alias = "IEN")]
567pub type Ien = crate::Reg<ien::IENrs>;
568///Interrupt Enable Register
569pub mod ien;
570///HFBUSCLKEN0 (rw) register accessor: High Frequency Bus Clock Enable Register 0
571///
572///You can [`read`](crate::Reg::read) this register and get [`hfbusclken0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfbusclken0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
573///
574///For information about available fields see [`mod@hfbusclken0`]
575///module
576#[doc(alias = "HFBUSCLKEN0")]
577pub type Hfbusclken0 = crate::Reg<hfbusclken0::HFBUSCLKEN0rs>;
578///High Frequency Bus Clock Enable Register 0
579pub mod hfbusclken0;
580///HFPERCLKEN0 (rw) register accessor: High Frequency Peripheral Clock Enable Register 0
581///
582///You can [`read`](crate::Reg::read) this register and get [`hfperclken0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfperclken0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
583///
584///For information about available fields see [`mod@hfperclken0`]
585///module
586#[doc(alias = "HFPERCLKEN0")]
587pub type Hfperclken0 = crate::Reg<hfperclken0::HFPERCLKEN0rs>;
588///High Frequency Peripheral Clock Enable Register 0
589pub mod hfperclken0;
590///LFACLKEN0 (rw) register accessor: Low Frequency a Clock Enable Register 0 (Async Reg)
591///
592///You can [`read`](crate::Reg::read) this register and get [`lfaclken0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfaclken0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
593///
594///For information about available fields see [`mod@lfaclken0`]
595///module
596#[doc(alias = "LFACLKEN0")]
597pub type Lfaclken0 = crate::Reg<lfaclken0::LFACLKEN0rs>;
598///Low Frequency a Clock Enable Register 0 (Async Reg)
599pub mod lfaclken0;
600///LFBCLKEN0 (rw) register accessor: Low Frequency B Clock Enable Register 0 (Async Reg)
601///
602///You can [`read`](crate::Reg::read) this register and get [`lfbclken0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfbclken0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
603///
604///For information about available fields see [`mod@lfbclken0`]
605///module
606#[doc(alias = "LFBCLKEN0")]
607pub type Lfbclken0 = crate::Reg<lfbclken0::LFBCLKEN0rs>;
608///Low Frequency B Clock Enable Register 0 (Async Reg)
609pub mod lfbclken0;
610///LFECLKEN0 (rw) register accessor: Low Frequency E Clock Enable Register 0 (Async Reg)
611///
612///You can [`read`](crate::Reg::read) this register and get [`lfeclken0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfeclken0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
613///
614///For information about available fields see [`mod@lfeclken0`]
615///module
616#[doc(alias = "LFECLKEN0")]
617pub type Lfeclken0 = crate::Reg<lfeclken0::LFECLKEN0rs>;
618///Low Frequency E Clock Enable Register 0 (Async Reg)
619pub mod lfeclken0;
620///HFPRESC (rw) register accessor: High Frequency Clock Prescaler Register
621///
622///You can [`read`](crate::Reg::read) this register and get [`hfpresc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfpresc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
623///
624///For information about available fields see [`mod@hfpresc`]
625///module
626#[doc(alias = "HFPRESC")]
627pub type Hfpresc = crate::Reg<hfpresc::HFPRESCrs>;
628///High Frequency Clock Prescaler Register
629pub mod hfpresc;
630///HFCOREPRESC (rw) register accessor: High Frequency Core Clock Prescaler Register
631///
632///You can [`read`](crate::Reg::read) this register and get [`hfcorepresc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfcorepresc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
633///
634///For information about available fields see [`mod@hfcorepresc`]
635///module
636#[doc(alias = "HFCOREPRESC")]
637pub type Hfcorepresc = crate::Reg<hfcorepresc::HFCOREPRESCrs>;
638///High Frequency Core Clock Prescaler Register
639pub mod hfcorepresc;
640///HFPERPRESC (rw) register accessor: High Frequency Peripheral Clock Prescaler Register
641///
642///You can [`read`](crate::Reg::read) this register and get [`hfperpresc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfperpresc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
643///
644///For information about available fields see [`mod@hfperpresc`]
645///module
646#[doc(alias = "HFPERPRESC")]
647pub type Hfperpresc = crate::Reg<hfperpresc::HFPERPRESCrs>;
648///High Frequency Peripheral Clock Prescaler Register
649pub mod hfperpresc;
650///HFEXPPRESC (rw) register accessor: High Frequency Export Clock Prescaler Register
651///
652///You can [`read`](crate::Reg::read) this register and get [`hfexppresc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hfexppresc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
653///
654///For information about available fields see [`mod@hfexppresc`]
655///module
656#[doc(alias = "HFEXPPRESC")]
657pub type Hfexppresc = crate::Reg<hfexppresc::HFEXPPRESCrs>;
658///High Frequency Export Clock Prescaler Register
659pub mod hfexppresc;
660///LFAPRESC0 (rw) register accessor: Low Frequency a Prescaler Register 0 (Async Reg)
661///
662///You can [`read`](crate::Reg::read) this register and get [`lfapresc0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfapresc0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
663///
664///For information about available fields see [`mod@lfapresc0`]
665///module
666#[doc(alias = "LFAPRESC0")]
667pub type Lfapresc0 = crate::Reg<lfapresc0::LFAPRESC0rs>;
668///Low Frequency a Prescaler Register 0 (Async Reg)
669pub mod lfapresc0;
670///LFBPRESC0 (rw) register accessor: Low Frequency B Prescaler Register 0 (Async Reg)
671///
672///You can [`read`](crate::Reg::read) this register and get [`lfbpresc0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfbpresc0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
673///
674///For information about available fields see [`mod@lfbpresc0`]
675///module
676#[doc(alias = "LFBPRESC0")]
677pub type Lfbpresc0 = crate::Reg<lfbpresc0::LFBPRESC0rs>;
678///Low Frequency B Prescaler Register 0 (Async Reg)
679pub mod lfbpresc0;
680///LFEPRESC0 (rw) register accessor: Low Frequency E Prescaler Register 0 (Async Reg)
681///
682///You can [`read`](crate::Reg::read) this register and get [`lfepresc0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lfepresc0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
683///
684///For information about available fields see [`mod@lfepresc0`]
685///module
686#[doc(alias = "LFEPRESC0")]
687pub type Lfepresc0 = crate::Reg<lfepresc0::LFEPRESC0rs>;
688///Low Frequency E Prescaler Register 0 (Async Reg)
689pub mod lfepresc0;
690///SYNCBUSY (r) register accessor: Synchronization Busy Register
691///
692///You can [`read`](crate::Reg::read) this register and get [`syncbusy::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
693///
694///For information about available fields see [`mod@syncbusy`]
695///module
696#[doc(alias = "SYNCBUSY")]
697pub type Syncbusy = crate::Reg<syncbusy::SYNCBUSYrs>;
698///Synchronization Busy Register
699pub mod syncbusy;
700///FREEZE (rw) register accessor: Freeze Register
701///
702///You can [`read`](crate::Reg::read) this register and get [`freeze::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`freeze::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
703///
704///For information about available fields see [`mod@freeze`]
705///module
706#[doc(alias = "FREEZE")]
707pub type Freeze = crate::Reg<freeze::FREEZErs>;
708///Freeze Register
709pub mod freeze;
710///PCNTCTRL (rw) register accessor: PCNT Control Register
711///
712///You can [`read`](crate::Reg::read) this register and get [`pcntctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pcntctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
713///
714///For information about available fields see [`mod@pcntctrl`]
715///module
716#[doc(alias = "PCNTCTRL")]
717pub type Pcntctrl = crate::Reg<pcntctrl::PCNTCTRLrs>;
718///PCNT Control Register
719pub mod pcntctrl;
720///ADCCTRL (rw) register accessor: ADC Control Register
721///
722///You can [`read`](crate::Reg::read) this register and get [`adcctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`adcctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
723///
724///For information about available fields see [`mod@adcctrl`]
725///module
726#[doc(alias = "ADCCTRL")]
727pub type Adcctrl = crate::Reg<adcctrl::ADCCTRLrs>;
728///ADC Control Register
729pub mod adcctrl;
730///ROUTEPEN (rw) register accessor: I/O Routing Pin Enable Register
731///
732///You can [`read`](crate::Reg::read) this register and get [`routepen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`routepen::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
733///
734///For information about available fields see [`mod@routepen`]
735///module
736#[doc(alias = "ROUTEPEN")]
737pub type Routepen = crate::Reg<routepen::ROUTEPENrs>;
738///I/O Routing Pin Enable Register
739pub mod routepen;
740///ROUTELOC0 (rw) register accessor: I/O Routing Location Register
741///
742///You can [`read`](crate::Reg::read) this register and get [`routeloc0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`routeloc0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
743///
744///For information about available fields see [`mod@routeloc0`]
745///module
746#[doc(alias = "ROUTELOC0")]
747pub type Routeloc0 = crate::Reg<routeloc0::ROUTELOC0rs>;
748///I/O Routing Location Register
749pub mod routeloc0;
750///LOCK (rw) register accessor: Configuration Lock Register
751///
752///You can [`read`](crate::Reg::read) this register and get [`lock::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lock::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
753///
754///For information about available fields see [`mod@lock`]
755///module
756#[doc(alias = "LOCK")]
757pub type Lock = crate::Reg<lock::LOCKrs>;
758///Configuration Lock Register
759pub mod lock;