1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 evctrl: Evctrl,
5 _reserved1: [u8; 0x03],
6 intenclr: Intenclr,
7 intenset: Intenset,
8 intflag: Intflag,
9 status: Status,
10 xoscctrl: [Xoscctrl; 2],
11 dfllctrla: Dfllctrla,
12 _reserved7: [u8; 0x03],
13 dfllctrlb: Dfllctrlb,
14 _reserved8: [u8; 0x03],
15 dfllval: Dfllval,
16 dfllmul: Dfllmul,
17 dfllsync: Dfllsync,
18 _reserved11: [u8; 0x03],
19 dpll: [Dpll; 2],
20}
21impl RegisterBlock {
22#[doc = "0x00 - Event Control"]
23 #[inline(always)]
24pub const fn evctrl(&self) -> &Evctrl {
25&self.evctrl
26 }
27#[doc = "0x04 - Interrupt Enable Clear"]
28 #[inline(always)]
29pub const fn intenclr(&self) -> &Intenclr {
30&self.intenclr
31 }
32#[doc = "0x08 - Interrupt Enable Set"]
33 #[inline(always)]
34pub const fn intenset(&self) -> &Intenset {
35&self.intenset
36 }
37#[doc = "0x0c - Interrupt Flag Status and Clear"]
38 #[inline(always)]
39pub const fn intflag(&self) -> &Intflag {
40&self.intflag
41 }
42#[doc = "0x10 - Status"]
43 #[inline(always)]
44pub const fn status(&self) -> &Status {
45&self.status
46 }
47#[doc = "0x14..0x1c - External Multipurpose Crystal Oscillator Control"]
48 #[inline(always)]
49pub const fn xoscctrl(&self, n: usize) -> &Xoscctrl {
50&self.xoscctrl[n]
51 }
52#[doc = "Iterator for array of:"]
53 #[doc = "0x14..0x1c - External Multipurpose Crystal Oscillator Control"]
54 #[inline(always)]
55pub fn xoscctrl_iter(&self) -> impl Iterator<Item = &Xoscctrl> {
56self.xoscctrl.iter()
57 }
58#[doc = "0x1c - DFLL48M Control A"]
59 #[inline(always)]
60pub const fn dfllctrla(&self) -> &Dfllctrla {
61&self.dfllctrla
62 }
63#[doc = "0x20 - DFLL48M Control B"]
64 #[inline(always)]
65pub const fn dfllctrlb(&self) -> &Dfllctrlb {
66&self.dfllctrlb
67 }
68#[doc = "0x24 - DFLL48M Value"]
69 #[inline(always)]
70pub const fn dfllval(&self) -> &Dfllval {
71&self.dfllval
72 }
73#[doc = "0x28 - DFLL48M Multiplier"]
74 #[inline(always)]
75pub const fn dfllmul(&self) -> &Dfllmul {
76&self.dfllmul
77 }
78#[doc = "0x2c - DFLL48M Synchronization"]
79 #[inline(always)]
80pub const fn dfllsync(&self) -> &Dfllsync {
81&self.dfllsync
82 }
83#[doc = "0x30..0x58 - DPLL\\[%s\\]"]
84 #[inline(always)]
85pub const fn dpll(&self, n: usize) -> &Dpll {
86&self.dpll[n]
87 }
88#[doc = "Iterator for array of:"]
89 #[doc = "0x30..0x58 - DPLL\\[%s\\]"]
90 #[inline(always)]
91pub fn dpll_iter(&self) -> impl Iterator<Item = &Dpll> {
92self.dpll.iter()
93 }
94}
95#[doc = "EVCTRL (rw) register accessor: Event Control\n\nYou can [`read`](crate::Reg::read) this register and get [`evctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evctrl::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@evctrl`]
96module"]
97#[doc(alias = "EVCTRL")]
98pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
99#[doc = "Event Control"]
100pub mod evctrl;
101#[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`]
102module"]
103#[doc(alias = "INTENCLR")]
104pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
105#[doc = "Interrupt Enable Clear"]
106pub mod intenclr;
107#[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`]
108module"]
109#[doc(alias = "INTENSET")]
110pub type Intenset = crate::Reg<intenset::IntensetSpec>;
111#[doc = "Interrupt Enable Set"]
112pub mod intenset;
113#[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`]
114module"]
115#[doc(alias = "INTFLAG")]
116pub type Intflag = crate::Reg<intflag::IntflagSpec>;
117#[doc = "Interrupt Flag Status and Clear"]
118pub mod intflag;
119#[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
120module"]
121#[doc(alias = "STATUS")]
122pub type Status = crate::Reg<status::StatusSpec>;
123#[doc = "Status"]
124pub mod status;
125#[doc = "XOSCCTRL (rw) register accessor: External Multipurpose Crystal Oscillator Control\n\nYou can [`read`](crate::Reg::read) this register and get [`xoscctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xoscctrl::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@xoscctrl`]
126module"]
127#[doc(alias = "XOSCCTRL")]
128pub type Xoscctrl = crate::Reg<xoscctrl::XoscctrlSpec>;
129#[doc = "External Multipurpose Crystal Oscillator Control"]
130pub mod xoscctrl;
131#[doc = "DFLLCTRLA (rw) register accessor: DFLL48M Control A\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllctrla::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@dfllctrla`]
132module"]
133#[doc(alias = "DFLLCTRLA")]
134pub type Dfllctrla = crate::Reg<dfllctrla::DfllctrlaSpec>;
135#[doc = "DFLL48M Control A"]
136pub mod dfllctrla;
137#[doc = "DFLLCTRLB (rw) register accessor: DFLL48M Control B\n\nYou can [`read`](crate::Reg::read) this register and get [`dfllctrlb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dfllctrlb::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@dfllctrlb`]
138module"]
139#[doc(alias = "DFLLCTRLB")]
140pub type Dfllctrlb = crate::Reg<dfllctrlb::DfllctrlbSpec>;
141#[doc = "DFLL48M Control B"]
142pub mod dfllctrlb;
143#[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`]
144module"]
145#[doc(alias = "DFLLVAL")]
146pub type Dfllval = crate::Reg<dfllval::DfllvalSpec>;
147#[doc = "DFLL48M Value"]
148pub mod dfllval;
149#[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`]
150module"]
151#[doc(alias = "DFLLMUL")]
152pub type Dfllmul = crate::Reg<dfllmul::DfllmulSpec>;
153#[doc = "DFLL48M Multiplier"]
154pub mod dfllmul;
155#[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`]
156module"]
157#[doc(alias = "DFLLSYNC")]
158pub type Dfllsync = crate::Reg<dfllsync::DfllsyncSpec>;
159#[doc = "DFLL48M Synchronization"]
160pub mod dfllsync;
161#[doc = "DPLL\\[%s\\]"]
162pub use self::dpll::Dpll;
163#[doc = r"Cluster"]
164#[doc = "DPLL\\[%s\\]"]
165pub mod dpll;