1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 ins: INS,
5 cmc: CMC,
6 tcst: TCST,
7 tcset: TCSET,
8 tcclr: TCCLR,
9 tc: TC,
10 psl: PSL,
11 dit: DIT,
12 dits: DITS,
13 psc: PSC,
14 fpc: FPC,
15 fpcs: FPCS,
16 pr: PR,
17 prs: PRS,
18 cr: CR,
19 crs: CRS,
20 _reserved16: [u8; 0x30],
21 timer: TIMER,
22 c0v: C0V,
23 c1v: C1V,
24 c2v: C2V,
25 c3v: C3V,
26 _reserved21: [u8; 0x1c],
27 ints: INTS,
28 inte: INTE,
29 srs: SRS,
30 sws: SWS,
31 swr: SWR,
32}
33impl RegisterBlock {
34 #[doc = "0x00 - Input Selector Configuration"]
35 #[inline(always)]
36 pub const fn ins(&self) -> &INS {
37 &self.ins
38 }
39 #[doc = "0x04 - Connection Matrix Control"]
40 #[inline(always)]
41 pub const fn cmc(&self) -> &CMC {
42 &self.cmc
43 }
44 #[doc = "0x08 - Slice Timer Status"]
45 #[inline(always)]
46 pub const fn tcst(&self) -> &TCST {
47 &self.tcst
48 }
49 #[doc = "0x0c - Slice Timer Run Set"]
50 #[inline(always)]
51 pub const fn tcset(&self) -> &TCSET {
52 &self.tcset
53 }
54 #[doc = "0x10 - Slice Timer Clear"]
55 #[inline(always)]
56 pub const fn tcclr(&self) -> &TCCLR {
57 &self.tcclr
58 }
59 #[doc = "0x14 - Slice Timer Control"]
60 #[inline(always)]
61 pub const fn tc(&self) -> &TC {
62 &self.tc
63 }
64 #[doc = "0x18 - Passive Level Config"]
65 #[inline(always)]
66 pub const fn psl(&self) -> &PSL {
67 &self.psl
68 }
69 #[doc = "0x1c - Dither Config"]
70 #[inline(always)]
71 pub const fn dit(&self) -> &DIT {
72 &self.dit
73 }
74 #[doc = "0x20 - Dither Shadow Register"]
75 #[inline(always)]
76 pub const fn dits(&self) -> &DITS {
77 &self.dits
78 }
79 #[doc = "0x24 - Prescaler Control"]
80 #[inline(always)]
81 pub const fn psc(&self) -> &PSC {
82 &self.psc
83 }
84 #[doc = "0x28 - Floating Prescaler Control"]
85 #[inline(always)]
86 pub const fn fpc(&self) -> &FPC {
87 &self.fpc
88 }
89 #[doc = "0x2c - Floating Prescaler Shadow"]
90 #[inline(always)]
91 pub const fn fpcs(&self) -> &FPCS {
92 &self.fpcs
93 }
94 #[doc = "0x30 - Timer Period Value"]
95 #[inline(always)]
96 pub const fn pr(&self) -> &PR {
97 &self.pr
98 }
99 #[doc = "0x34 - Timer Shadow Period Value"]
100 #[inline(always)]
101 pub const fn prs(&self) -> &PRS {
102 &self.prs
103 }
104 #[doc = "0x38 - Timer Compare Value"]
105 #[inline(always)]
106 pub const fn cr(&self) -> &CR {
107 &self.cr
108 }
109 #[doc = "0x3c - Timer Shadow Compare Value"]
110 #[inline(always)]
111 pub const fn crs(&self) -> &CRS {
112 &self.crs
113 }
114 #[doc = "0x70 - Timer Value"]
115 #[inline(always)]
116 pub const fn timer(&self) -> &TIMER {
117 &self.timer
118 }
119 #[doc = "0x74 - Capture Register 0"]
120 #[inline(always)]
121 pub const fn c0v(&self) -> &C0V {
122 &self.c0v
123 }
124 #[doc = "0x78 - Capture Register 1"]
125 #[inline(always)]
126 pub const fn c1v(&self) -> &C1V {
127 &self.c1v
128 }
129 #[doc = "0x7c - Capture Register 2"]
130 #[inline(always)]
131 pub const fn c2v(&self) -> &C2V {
132 &self.c2v
133 }
134 #[doc = "0x80 - Capture Register 3"]
135 #[inline(always)]
136 pub const fn c3v(&self) -> &C3V {
137 &self.c3v
138 }
139 #[doc = "0xa0 - Interrupt Status"]
140 #[inline(always)]
141 pub const fn ints(&self) -> &INTS {
142 &self.ints
143 }
144 #[doc = "0xa4 - Interrupt Enable Control"]
145 #[inline(always)]
146 pub const fn inte(&self) -> &INTE {
147 &self.inte
148 }
149 #[doc = "0xa8 - Service Request Selector"]
150 #[inline(always)]
151 pub const fn srs(&self) -> &SRS {
152 &self.srs
153 }
154 #[doc = "0xac - Interrupt Status Set"]
155 #[inline(always)]
156 pub const fn sws(&self) -> &SWS {
157 &self.sws
158 }
159 #[doc = "0xb0 - Interrupt Status Clear"]
160 #[inline(always)]
161 pub const fn swr(&self) -> &SWR {
162 &self.swr
163 }
164}
165#[doc = "INS (rw) register accessor: Input Selector Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`ins::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ins::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@ins`]
166module"]
167pub type INS = crate::Reg<ins::INS_SPEC>;
168#[doc = "Input Selector Configuration"]
169pub mod ins;
170#[doc = "CMC (rw) register accessor: Connection Matrix Control\n\nYou can [`read`](crate::Reg::read) this register and get [`cmc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cmc::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@cmc`]
171module"]
172pub type CMC = crate::Reg<cmc::CMC_SPEC>;
173#[doc = "Connection Matrix Control"]
174pub mod cmc;
175#[doc = "TCST (r) register accessor: Slice Timer Status\n\nYou can [`read`](crate::Reg::read) this register and get [`tcst::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tcst`]
176module"]
177pub type TCST = crate::Reg<tcst::TCST_SPEC>;
178#[doc = "Slice Timer Status"]
179pub mod tcst;
180#[doc = "TCSET (w) register accessor: Slice Timer Run Set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tcset::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tcset`]
181module"]
182pub type TCSET = crate::Reg<tcset::TCSET_SPEC>;
183#[doc = "Slice Timer Run Set"]
184pub mod tcset;
185#[doc = "TCCLR (w) register accessor: Slice Timer Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tcclr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tcclr`]
186module"]
187pub type TCCLR = crate::Reg<tcclr::TCCLR_SPEC>;
188#[doc = "Slice Timer Clear"]
189pub mod tcclr;
190#[doc = "TC (rw) register accessor: Slice Timer Control\n\nYou can [`read`](crate::Reg::read) this register and get [`tc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tc::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@tc`]
191module"]
192pub type TC = crate::Reg<tc::TC_SPEC>;
193#[doc = "Slice Timer Control"]
194pub mod tc;
195#[doc = "PSL (rw) register accessor: Passive Level Config\n\nYou can [`read`](crate::Reg::read) this register and get [`psl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`psl::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@psl`]
196module"]
197pub type PSL = crate::Reg<psl::PSL_SPEC>;
198#[doc = "Passive Level Config"]
199pub mod psl;
200#[doc = "DIT (r) register accessor: Dither Config\n\nYou can [`read`](crate::Reg::read) this register and get [`dit::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dit`]
201module"]
202pub type DIT = crate::Reg<dit::DIT_SPEC>;
203#[doc = "Dither Config"]
204pub mod dit;
205#[doc = "DITS (rw) register accessor: Dither Shadow Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dits::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dits::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@dits`]
206module"]
207pub type DITS = crate::Reg<dits::DITS_SPEC>;
208#[doc = "Dither Shadow Register"]
209pub mod dits;
210#[doc = "PSC (rw) register accessor: Prescaler Control\n\nYou can [`read`](crate::Reg::read) this register and get [`psc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`psc::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@psc`]
211module"]
212pub type PSC = crate::Reg<psc::PSC_SPEC>;
213#[doc = "Prescaler Control"]
214pub mod psc;
215#[doc = "FPC (rw) register accessor: Floating Prescaler Control\n\nYou can [`read`](crate::Reg::read) this register and get [`fpc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fpc::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@fpc`]
216module"]
217pub type FPC = crate::Reg<fpc::FPC_SPEC>;
218#[doc = "Floating Prescaler Control"]
219pub mod fpc;
220#[doc = "FPCS (rw) register accessor: Floating Prescaler Shadow\n\nYou can [`read`](crate::Reg::read) this register and get [`fpcs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fpcs::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@fpcs`]
221module"]
222pub type FPCS = crate::Reg<fpcs::FPCS_SPEC>;
223#[doc = "Floating Prescaler Shadow"]
224pub mod fpcs;
225#[doc = "PR (r) register accessor: Timer Period Value\n\nYou can [`read`](crate::Reg::read) this register and get [`pr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pr`]
226module"]
227pub type PR = crate::Reg<pr::PR_SPEC>;
228#[doc = "Timer Period Value"]
229pub mod pr;
230#[doc = "PRS (rw) register accessor: Timer Shadow Period Value\n\nYou can [`read`](crate::Reg::read) this register and get [`prs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`prs::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@prs`]
231module"]
232pub type PRS = crate::Reg<prs::PRS_SPEC>;
233#[doc = "Timer Shadow Period Value"]
234pub mod prs;
235#[doc = "CR (r) register accessor: Timer Compare Value\n\nYou can [`read`](crate::Reg::read) this register and get [`cr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cr`]
236module"]
237pub type CR = crate::Reg<cr::CR_SPEC>;
238#[doc = "Timer Compare Value"]
239pub mod cr;
240#[doc = "CRS (rw) register accessor: Timer Shadow Compare Value\n\nYou can [`read`](crate::Reg::read) this register and get [`crs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`crs::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@crs`]
241module"]
242pub type CRS = crate::Reg<crs::CRS_SPEC>;
243#[doc = "Timer Shadow Compare Value"]
244pub mod crs;
245#[doc = "TIMER (rw) register accessor: Timer Value\n\nYou can [`read`](crate::Reg::read) this register and get [`timer::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timer::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@timer`]
246module"]
247pub type TIMER = crate::Reg<timer::TIMER_SPEC>;
248#[doc = "Timer Value"]
249pub mod timer;
250#[doc = "C0V (r) register accessor: Capture Register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`c0v::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\n<div class=\"warning\">One or more dependent resources other than the current register are immediately affected by a read operation.</div>\n\nFor information about available fields see [`mod@c0v`]
251module"]
252pub type C0V = crate::Reg<c0v::C0V_SPEC>;
253#[doc = "Capture Register 0"]
254pub mod c0v;
255#[doc = "C1V (r) register accessor: Capture Register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`c1v::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\n<div class=\"warning\">One or more dependent resources other than the current register are immediately affected by a read operation.</div>\n\nFor information about available fields see [`mod@c1v`]
256module"]
257pub type C1V = crate::Reg<c1v::C1V_SPEC>;
258#[doc = "Capture Register 1"]
259pub mod c1v;
260#[doc = "C2V (r) register accessor: Capture Register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`c2v::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\n<div class=\"warning\">One or more dependent resources other than the current register are immediately affected by a read operation.</div>\n\nFor information about available fields see [`mod@c2v`]
261module"]
262pub type C2V = crate::Reg<c2v::C2V_SPEC>;
263#[doc = "Capture Register 2"]
264pub mod c2v;
265#[doc = "C3V (r) register accessor: Capture Register 3\n\nYou can [`read`](crate::Reg::read) this register and get [`c3v::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\n<div class=\"warning\">One or more dependent resources other than the current register are immediately affected by a read operation.</div>\n\nFor information about available fields see [`mod@c3v`]
266module"]
267pub type C3V = crate::Reg<c3v::C3V_SPEC>;
268#[doc = "Capture Register 3"]
269pub mod c3v;
270#[doc = "INTS (r) register accessor: Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`ints::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ints`]
271module"]
272pub type INTS = crate::Reg<ints::INTS_SPEC>;
273#[doc = "Interrupt Status"]
274pub mod ints;
275#[doc = "INTE (rw) register accessor: Interrupt Enable Control\n\nYou can [`read`](crate::Reg::read) this register and get [`inte::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inte::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@inte`]
276module"]
277pub type INTE = crate::Reg<inte::INTE_SPEC>;
278#[doc = "Interrupt Enable Control"]
279pub mod inte;
280#[doc = "SRS (rw) register accessor: Service Request Selector\n\nYou can [`read`](crate::Reg::read) this register and get [`srs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`srs::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@srs`]
281module"]
282pub type SRS = crate::Reg<srs::SRS_SPEC>;
283#[doc = "Service Request Selector"]
284pub mod srs;
285#[doc = "SWS (w) register accessor: Interrupt Status Set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sws::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sws`]
286module"]
287pub type SWS = crate::Reg<sws::SWS_SPEC>;
288#[doc = "Interrupt Status Set"]
289pub mod sws;
290#[doc = "SWR (w) register accessor: Interrupt Status Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`swr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@swr`]
291module"]
292pub type SWR = crate::Reg<swr::SWR_SPEC>;
293#[doc = "Interrupt Status Clear"]
294pub mod swr;