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