1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 intenclr: Intenclr,
5 intenset: Intenset,
6 intflag: Intflag,
7 pclksr: Pclksr,
8 xosc: Xosc,
9 _reserved5: [u8; 0x02],
10 xosc32k: Xosc32k,
11 _reserved6: [u8; 0x02],
12 osc32k: Osc32k,
13 osculp32k: Osculp32k,
14 _reserved8: [u8; 0x03],
15 osc8m: Osc8m,
16 dfllctrl: Dfllctrl,
17 _reserved10: [u8; 0x02],
18 dfllval: Dfllval,
19 dfllmul: Dfllmul,
20 dfllsync: Dfllsync,
21 _reserved13: [u8; 0x03],
22 bod33: Bod33,
23 _reserved14: [u8; 0x08],
24 vref: Vref,
25 dpllctrla: Dpllctrla,
26 _reserved16: [u8; 0x03],
27 dpllratio: Dpllratio,
28 dpllctrlb: Dpllctrlb,
29 dpllstatus: Dpllstatus,
30}
31impl RegisterBlock {
32#[doc = "0x00 - Interrupt Enable Clear"]
33 #[inline(always)]
34pub const fn intenclr(&self) -> &Intenclr {
35&self.intenclr
36 }
37#[doc = "0x04 - Interrupt Enable Set"]
38 #[inline(always)]
39pub const fn intenset(&self) -> &Intenset {
40&self.intenset
41 }
42#[doc = "0x08 - Interrupt Flag Status and Clear"]
43 #[inline(always)]
44pub const fn intflag(&self) -> &Intflag {
45&self.intflag
46 }
47#[doc = "0x0c - Power and Clocks Status"]
48 #[inline(always)]
49pub const fn pclksr(&self) -> &Pclksr {
50&self.pclksr
51 }
52#[doc = "0x10 - External Multipurpose Crystal Oscillator (XOSC) Control"]
53 #[inline(always)]
54pub const fn xosc(&self) -> &Xosc {
55&self.xosc
56 }
57#[doc = "0x14 - 32kHz External Crystal Oscillator (XOSC32K) Control"]
58 #[inline(always)]
59pub const fn xosc32k(&self) -> &Xosc32k {
60&self.xosc32k
61 }
62#[doc = "0x18 - 32kHz Internal Oscillator (OSC32K) Control"]
63 #[inline(always)]
64pub const fn osc32k(&self) -> &Osc32k {
65&self.osc32k
66 }
67#[doc = "0x1c - 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control"]
68 #[inline(always)]
69pub const fn osculp32k(&self) -> &Osculp32k {
70&self.osculp32k
71 }
72#[doc = "0x20 - 8MHz Internal Oscillator (OSC8M) Control"]
73 #[inline(always)]
74pub const fn osc8m(&self) -> &Osc8m {
75&self.osc8m
76 }
77#[doc = "0x24 - DFLL48M Control"]
78 #[inline(always)]
79pub const fn dfllctrl(&self) -> &Dfllctrl {
80&self.dfllctrl
81 }
82#[doc = "0x28 - DFLL48M Value"]
83 #[inline(always)]
84pub const fn dfllval(&self) -> &Dfllval {
85&self.dfllval
86 }
87#[doc = "0x2c - DFLL48M Multiplier"]
88 #[inline(always)]
89pub const fn dfllmul(&self) -> &Dfllmul {
90&self.dfllmul
91 }
92#[doc = "0x30 - DFLL48M Synchronization"]
93 #[inline(always)]
94pub const fn dfllsync(&self) -> &Dfllsync {
95&self.dfllsync
96 }
97#[doc = "0x34 - 3.3V Brown-Out Detector (BOD33) Control"]
98 #[inline(always)]
99pub const fn bod33(&self) -> &Bod33 {
100&self.bod33
101 }
102#[doc = "0x40 - Voltage References System (VREF) Control"]
103 #[inline(always)]
104pub const fn vref(&self) -> &Vref {
105&self.vref
106 }
107#[doc = "0x44 - DPLL Control A"]
108 #[inline(always)]
109pub const fn dpllctrla(&self) -> &Dpllctrla {
110&self.dpllctrla
111 }
112#[doc = "0x48 - DPLL Ratio Control"]
113 #[inline(always)]
114pub const fn dpllratio(&self) -> &Dpllratio {
115&self.dpllratio
116 }
117#[doc = "0x4c - DPLL Control B"]
118 #[inline(always)]
119pub const fn dpllctrlb(&self) -> &Dpllctrlb {
120&self.dpllctrlb
121 }
122#[doc = "0x50 - DPLL Status"]
123 #[inline(always)]
124pub const fn dpllstatus(&self) -> &Dpllstatus {
125&self.dpllstatus
126 }
127}
128#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenclr`]
129module"]
130#[doc(alias = "INTENCLR")]
131pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
132#[doc = "Interrupt Enable Clear"]
133pub mod intenclr;
134#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenset`]
135module"]
136#[doc(alias = "INTENSET")]
137pub type Intenset = crate::Reg<intenset::IntensetSpec>;
138#[doc = "Interrupt Enable Set"]
139pub mod intenset;
140#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intflag`]
141module"]
142#[doc(alias = "INTFLAG")]
143pub type Intflag = crate::Reg<intflag::IntflagSpec>;
144#[doc = "Interrupt Flag Status and Clear"]
145pub mod intflag;
146#[doc = "PCLKSR (r) register accessor: Power and Clocks Status\n\nYou can [`read`](crate::Reg::read) this register and get [`pclksr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pclksr`]
147module"]
148#[doc(alias = "PCLKSR")]
149pub type Pclksr = crate::Reg<pclksr::PclksrSpec>;
150#[doc = "Power and Clocks Status"]
151pub mod pclksr;
152#[doc = "XOSC (rw) register accessor: External Multipurpose Crystal Oscillator (XOSC) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`xosc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xosc::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@xosc`]
153module"]
154#[doc(alias = "XOSC")]
155pub type Xosc = crate::Reg<xosc::XoscSpec>;
156#[doc = "External Multipurpose Crystal Oscillator (XOSC) Control"]
157pub mod xosc;
158#[doc = "XOSC32K (rw) register accessor: 32kHz External Crystal Oscillator (XOSC32K) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`xosc32k::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xosc32k::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@xosc32k`]
159module"]
160#[doc(alias = "XOSC32K")]
161pub type Xosc32k = crate::Reg<xosc32k::Xosc32kSpec>;
162#[doc = "32kHz External Crystal Oscillator (XOSC32K) Control"]
163pub mod xosc32k;
164#[doc = "OSC32K (rw) register accessor: 32kHz Internal Oscillator (OSC32K) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`osc32k::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`osc32k::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@osc32k`]
165module"]
166#[doc(alias = "OSC32K")]
167pub type Osc32k = crate::Reg<osc32k::Osc32kSpec>;
168#[doc = "32kHz Internal Oscillator (OSC32K) Control"]
169pub mod osc32k;
170#[doc = "OSCULP32K (rw) register accessor: 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`osculp32k::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`osculp32k::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@osculp32k`]
171module"]
172#[doc(alias = "OSCULP32K")]
173pub type Osculp32k = crate::Reg<osculp32k::Osculp32kSpec>;
174#[doc = "32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control"]
175pub mod osculp32k;
176#[doc = "OSC8M (rw) register accessor: 8MHz Internal Oscillator (OSC8M) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`osc8m::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`osc8m::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@osc8m`]
177module"]
178#[doc(alias = "OSC8M")]
179pub type Osc8m = crate::Reg<osc8m::Osc8mSpec>;
180#[doc = "8MHz Internal Oscillator (OSC8M) Control"]
181pub mod osc8m;
182#[doc = "DFLLCTRL (rw) register accessor: DFLL48M Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dfllctrl`]
183module"]
184#[doc(alias = "DFLLCTRL")]
185pub type Dfllctrl = crate::Reg<dfllctrl::DfllctrlSpec>;
186#[doc = "DFLL48M Control"]
187pub mod dfllctrl;
188#[doc = "DFLLVAL (rw) register accessor: DFLL48M Value\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllval::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllval::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dfllval`]
189module"]
190#[doc(alias = "DFLLVAL")]
191pub type Dfllval = crate::Reg<dfllval::DfllvalSpec>;
192#[doc = "DFLL48M Value"]
193pub mod dfllval;
194#[doc = "DFLLMUL (rw) register accessor: DFLL48M Multiplier\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllmul::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllmul::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dfllmul`]
195module"]
196#[doc(alias = "DFLLMUL")]
197pub type Dfllmul = crate::Reg<dfllmul::DfllmulSpec>;
198#[doc = "DFLL48M Multiplier"]
199pub mod dfllmul;
200#[doc = "DFLLSYNC (rw) register accessor: DFLL48M Synchronization\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllsync::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllsync::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dfllsync`]
201module"]
202#[doc(alias = "DFLLSYNC")]
203pub type Dfllsync = crate::Reg<dfllsync::DfllsyncSpec>;
204#[doc = "DFLL48M Synchronization"]
205pub mod dfllsync;
206#[doc = "BOD33 (rw) register accessor: 3.3V Brown-Out Detector (BOD33) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`bod33::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bod33::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bod33`]
207module"]
208#[doc(alias = "BOD33")]
209pub type Bod33 = crate::Reg<bod33::Bod33Spec>;
210#[doc = "3.3V Brown-Out Detector (BOD33) Control"]
211pub mod bod33;
212#[doc = "VREF (rw) register accessor: Voltage References System (VREF) Control\n\nYou can [`read`](crate::Reg::read) this register and get [`vref::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`vref::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@vref`]
213module"]
214#[doc(alias = "VREF")]
215pub type Vref = crate::Reg<vref::VrefSpec>;
216#[doc = "Voltage References System (VREF) Control"]
217pub mod vref;
218#[doc = "DPLLCTRLA (rw) register accessor: DPLL Control A\n\nYou can [`read`](crate::Reg::read) this register and get [`dpllctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dpllctrla::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dpllctrla`]
219module"]
220#[doc(alias = "DPLLCTRLA")]
221pub type Dpllctrla = crate::Reg<dpllctrla::DpllctrlaSpec>;
222#[doc = "DPLL Control A"]
223pub mod dpllctrla;
224#[doc = "DPLLRATIO (rw) register accessor: DPLL Ratio Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dpllratio::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dpllratio::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dpllratio`]
225module"]
226#[doc(alias = "DPLLRATIO")]
227pub type Dpllratio = crate::Reg<dpllratio::DpllratioSpec>;
228#[doc = "DPLL Ratio Control"]
229pub mod dpllratio;
230#[doc = "DPLLCTRLB (rw) register accessor: DPLL Control B\n\nYou can [`read`](crate::Reg::read) this register and get [`dpllctrlb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dpllctrlb::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dpllctrlb`]
231module"]
232#[doc(alias = "DPLLCTRLB")]
233pub type Dpllctrlb = crate::Reg<dpllctrlb::DpllctrlbSpec>;
234#[doc = "DPLL Control B"]
235pub mod dpllctrlb;
236#[doc = "DPLLSTATUS (r) register accessor: DPLL Status\n\nYou can [`read`](crate::Reg::read) this register and get [`dpllstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dpllstatus`]
237module"]
238#[doc(alias = "DPLLSTATUS")]
239pub type Dpllstatus = crate::Reg<dpllstatus::DpllstatusSpec>;
240#[doc = "DPLL Status"]
241pub mod dpllstatus;