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;