1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 verid: Verid,
6 param: Param,
7 ctrl: Ctrl,
8 pin: Pin,
9 shiftstat: Shiftstat,
10 shifterr: Shifterr,
11 timstat: Timstat,
12 _reserved7: [u8; 0x04],
13 shiftsien: Shiftsien,
14 shifteien: Shifteien,
15 timien: Timien,
16 _reserved10: [u8; 0x04],
17 shiftsden: Shiftsden,
18 _reserved11: [u8; 0x04],
19 timersden: Timersden,
20 _reserved12: [u8; 0x04],
21 shiftstate: Shiftstate,
22 _reserved13: [u8; 0x04],
23 trgstat: Trgstat,
24 trigien: Trigien,
25 pinstat: Pinstat,
26 pinien: Pinien,
27 pinren: Pinren,
28 pinfen: Pinfen,
29 pinoutd: Pinoutd,
30 pinoute: Pinoute,
31 pinoutdis: Pinoutdis,
32 pinoutclr: Pinoutclr,
33 pinoutset: Pinoutset,
34 pinouttog: Pinouttog,
35 _reserved25: [u8; 0x08],
36 shiftctl: [Shiftctl; 4],
37 _reserved26: [u8; 0x70],
38 shiftcfg: [Shiftcfg; 4],
39 _reserved27: [u8; 0xf0],
40 shiftbuf: [Shiftbuf; 4],
41 _reserved28: [u8; 0x70],
42 shiftbufbis: [Shiftbufbis; 4],
43 _reserved29: [u8; 0x70],
44 shiftbufbys: [Shiftbufbys; 4],
45 _reserved30: [u8; 0x70],
46 shiftbufbbs: [Shiftbufbbs; 4],
47 _reserved31: [u8; 0x70],
48 timctl: [Timctl; 4],
49 _reserved32: [u8; 0x70],
50 timcfg: [Timcfg; 4],
51 _reserved33: [u8; 0x70],
52 timcmp: [Timcmp; 4],
53 _reserved34: [u8; 0x0170],
54 shiftbufnbs: [Shiftbufnbs; 4],
55 _reserved35: [u8; 0x70],
56 shiftbufhws: [Shiftbufhws; 4],
57 _reserved36: [u8; 0x70],
58 shiftbufnis: [Shiftbufnis; 4],
59 _reserved37: [u8; 0x70],
60 shiftbufoes: [Shiftbufoes; 4],
61 _reserved38: [u8; 0x70],
62 shiftbufeos: [Shiftbufeos; 4],
63 _reserved39: [u8; 0x70],
64 shiftbufhbs: [Shiftbufhbs; 4],
65}
66impl RegisterBlock {
67 #[doc = "0x00 - Version ID"]
68 #[inline(always)]
69 pub const fn verid(&self) -> &Verid {
70 &self.verid
71 }
72 #[doc = "0x04 - Parameter"]
73 #[inline(always)]
74 pub const fn param(&self) -> &Param {
75 &self.param
76 }
77 #[doc = "0x08 - FLEXIO Control"]
78 #[inline(always)]
79 pub const fn ctrl(&self) -> &Ctrl {
80 &self.ctrl
81 }
82 #[doc = "0x0c - Pin State"]
83 #[inline(always)]
84 pub const fn pin(&self) -> &Pin {
85 &self.pin
86 }
87 #[doc = "0x10 - Shifter Status"]
88 #[inline(always)]
89 pub const fn shiftstat(&self) -> &Shiftstat {
90 &self.shiftstat
91 }
92 #[doc = "0x14 - Shifter Error"]
93 #[inline(always)]
94 pub const fn shifterr(&self) -> &Shifterr {
95 &self.shifterr
96 }
97 #[doc = "0x18 - Timer Status Flag"]
98 #[inline(always)]
99 pub const fn timstat(&self) -> &Timstat {
100 &self.timstat
101 }
102 #[doc = "0x20 - Shifter Status Interrupt Enable"]
103 #[inline(always)]
104 pub const fn shiftsien(&self) -> &Shiftsien {
105 &self.shiftsien
106 }
107 #[doc = "0x24 - Shifter Error Interrupt Enable"]
108 #[inline(always)]
109 pub const fn shifteien(&self) -> &Shifteien {
110 &self.shifteien
111 }
112 #[doc = "0x28 - Timer Interrupt Enable"]
113 #[inline(always)]
114 pub const fn timien(&self) -> &Timien {
115 &self.timien
116 }
117 #[doc = "0x30 - Shifter Status DMA Enable"]
118 #[inline(always)]
119 pub const fn shiftsden(&self) -> &Shiftsden {
120 &self.shiftsden
121 }
122 #[doc = "0x38 - Timer Status DMA Enable"]
123 #[inline(always)]
124 pub const fn timersden(&self) -> &Timersden {
125 &self.timersden
126 }
127 #[doc = "0x40 - Shifter State"]
128 #[inline(always)]
129 pub const fn shiftstate(&self) -> &Shiftstate {
130 &self.shiftstate
131 }
132 #[doc = "0x48 - Trigger Status"]
133 #[inline(always)]
134 pub const fn trgstat(&self) -> &Trgstat {
135 &self.trgstat
136 }
137 #[doc = "0x4c - External Trigger Interrupt Enable"]
138 #[inline(always)]
139 pub const fn trigien(&self) -> &Trigien {
140 &self.trigien
141 }
142 #[doc = "0x50 - Pin Status"]
143 #[inline(always)]
144 pub const fn pinstat(&self) -> &Pinstat {
145 &self.pinstat
146 }
147 #[doc = "0x54 - Pin Interrupt Enable"]
148 #[inline(always)]
149 pub const fn pinien(&self) -> &Pinien {
150 &self.pinien
151 }
152 #[doc = "0x58 - Pin Rising Edge Enable"]
153 #[inline(always)]
154 pub const fn pinren(&self) -> &Pinren {
155 &self.pinren
156 }
157 #[doc = "0x5c - Pin Falling Edge Enable"]
158 #[inline(always)]
159 pub const fn pinfen(&self) -> &Pinfen {
160 &self.pinfen
161 }
162 #[doc = "0x60 - Pin Output Data"]
163 #[inline(always)]
164 pub const fn pinoutd(&self) -> &Pinoutd {
165 &self.pinoutd
166 }
167 #[doc = "0x64 - Pin Output Enable"]
168 #[inline(always)]
169 pub const fn pinoute(&self) -> &Pinoute {
170 &self.pinoute
171 }
172 #[doc = "0x68 - Pin Output Disable"]
173 #[inline(always)]
174 pub const fn pinoutdis(&self) -> &Pinoutdis {
175 &self.pinoutdis
176 }
177 #[doc = "0x6c - Pin Output Clear"]
178 #[inline(always)]
179 pub const fn pinoutclr(&self) -> &Pinoutclr {
180 &self.pinoutclr
181 }
182 #[doc = "0x70 - Pin Output Set"]
183 #[inline(always)]
184 pub const fn pinoutset(&self) -> &Pinoutset {
185 &self.pinoutset
186 }
187 #[doc = "0x74 - Pin Output Toggle"]
188 #[inline(always)]
189 pub const fn pinouttog(&self) -> &Pinouttog {
190 &self.pinouttog
191 }
192 #[doc = "0x80..0x90 - Shifter Control"]
193 #[inline(always)]
194 pub const fn shiftctl(&self, n: usize) -> &Shiftctl {
195 &self.shiftctl[n]
196 }
197 #[doc = "Iterator for array of:"]
198 #[doc = "0x80..0x90 - Shifter Control"]
199 #[inline(always)]
200 pub fn shiftctl_iter(&self) -> impl Iterator<Item = &Shiftctl> {
201 self.shiftctl.iter()
202 }
203 #[doc = "0x100..0x110 - Shifter Configuration"]
204 #[inline(always)]
205 pub const fn shiftcfg(&self, n: usize) -> &Shiftcfg {
206 &self.shiftcfg[n]
207 }
208 #[doc = "Iterator for array of:"]
209 #[doc = "0x100..0x110 - Shifter Configuration"]
210 #[inline(always)]
211 pub fn shiftcfg_iter(&self) -> impl Iterator<Item = &Shiftcfg> {
212 self.shiftcfg.iter()
213 }
214 #[doc = "0x200..0x210 - Shifter Buffer"]
215 #[inline(always)]
216 pub const fn shiftbuf(&self, n: usize) -> &Shiftbuf {
217 &self.shiftbuf[n]
218 }
219 #[doc = "Iterator for array of:"]
220 #[doc = "0x200..0x210 - Shifter Buffer"]
221 #[inline(always)]
222 pub fn shiftbuf_iter(&self) -> impl Iterator<Item = &Shiftbuf> {
223 self.shiftbuf.iter()
224 }
225 #[doc = "0x280..0x290 - Shifter Buffer Bit Swapped"]
226 #[inline(always)]
227 pub const fn shiftbufbis(&self, n: usize) -> &Shiftbufbis {
228 &self.shiftbufbis[n]
229 }
230 #[doc = "Iterator for array of:"]
231 #[doc = "0x280..0x290 - Shifter Buffer Bit Swapped"]
232 #[inline(always)]
233 pub fn shiftbufbis_iter(&self) -> impl Iterator<Item = &Shiftbufbis> {
234 self.shiftbufbis.iter()
235 }
236 #[doc = "0x300..0x310 - Shifter Buffer Byte Swapped"]
237 #[inline(always)]
238 pub const fn shiftbufbys(&self, n: usize) -> &Shiftbufbys {
239 &self.shiftbufbys[n]
240 }
241 #[doc = "Iterator for array of:"]
242 #[doc = "0x300..0x310 - Shifter Buffer Byte Swapped"]
243 #[inline(always)]
244 pub fn shiftbufbys_iter(&self) -> impl Iterator<Item = &Shiftbufbys> {
245 self.shiftbufbys.iter()
246 }
247 #[doc = "0x380..0x390 - Shifter Buffer Bit Byte Swapped"]
248 #[inline(always)]
249 pub const fn shiftbufbbs(&self, n: usize) -> &Shiftbufbbs {
250 &self.shiftbufbbs[n]
251 }
252 #[doc = "Iterator for array of:"]
253 #[doc = "0x380..0x390 - Shifter Buffer Bit Byte Swapped"]
254 #[inline(always)]
255 pub fn shiftbufbbs_iter(&self) -> impl Iterator<Item = &Shiftbufbbs> {
256 self.shiftbufbbs.iter()
257 }
258 #[doc = "0x400..0x410 - Timer Control"]
259 #[inline(always)]
260 pub const fn timctl(&self, n: usize) -> &Timctl {
261 &self.timctl[n]
262 }
263 #[doc = "Iterator for array of:"]
264 #[doc = "0x400..0x410 - Timer Control"]
265 #[inline(always)]
266 pub fn timctl_iter(&self) -> impl Iterator<Item = &Timctl> {
267 self.timctl.iter()
268 }
269 #[doc = "0x480..0x490 - Timer Configuration"]
270 #[inline(always)]
271 pub const fn timcfg(&self, n: usize) -> &Timcfg {
272 &self.timcfg[n]
273 }
274 #[doc = "Iterator for array of:"]
275 #[doc = "0x480..0x490 - Timer Configuration"]
276 #[inline(always)]
277 pub fn timcfg_iter(&self) -> impl Iterator<Item = &Timcfg> {
278 self.timcfg.iter()
279 }
280 #[doc = "0x500..0x510 - Timer Compare"]
281 #[inline(always)]
282 pub const fn timcmp(&self, n: usize) -> &Timcmp {
283 &self.timcmp[n]
284 }
285 #[doc = "Iterator for array of:"]
286 #[doc = "0x500..0x510 - Timer Compare"]
287 #[inline(always)]
288 pub fn timcmp_iter(&self) -> impl Iterator<Item = &Timcmp> {
289 self.timcmp.iter()
290 }
291 #[doc = "0x680..0x690 - Shifter Buffer Nibble Byte Swapped"]
292 #[inline(always)]
293 pub const fn shiftbufnbs(&self, n: usize) -> &Shiftbufnbs {
294 &self.shiftbufnbs[n]
295 }
296 #[doc = "Iterator for array of:"]
297 #[doc = "0x680..0x690 - Shifter Buffer Nibble Byte Swapped"]
298 #[inline(always)]
299 pub fn shiftbufnbs_iter(&self) -> impl Iterator<Item = &Shiftbufnbs> {
300 self.shiftbufnbs.iter()
301 }
302 #[doc = "0x700..0x710 - Shifter Buffer Halfword Swapped"]
303 #[inline(always)]
304 pub const fn shiftbufhws(&self, n: usize) -> &Shiftbufhws {
305 &self.shiftbufhws[n]
306 }
307 #[doc = "Iterator for array of:"]
308 #[doc = "0x700..0x710 - Shifter Buffer Halfword Swapped"]
309 #[inline(always)]
310 pub fn shiftbufhws_iter(&self) -> impl Iterator<Item = &Shiftbufhws> {
311 self.shiftbufhws.iter()
312 }
313 #[doc = "0x780..0x790 - Shifter Buffer Nibble Swapped"]
314 #[inline(always)]
315 pub const fn shiftbufnis(&self, n: usize) -> &Shiftbufnis {
316 &self.shiftbufnis[n]
317 }
318 #[doc = "Iterator for array of:"]
319 #[doc = "0x780..0x790 - Shifter Buffer Nibble Swapped"]
320 #[inline(always)]
321 pub fn shiftbufnis_iter(&self) -> impl Iterator<Item = &Shiftbufnis> {
322 self.shiftbufnis.iter()
323 }
324 #[doc = "0x800..0x810 - Shifter Buffer Odd Even Swapped"]
325 #[inline(always)]
326 pub const fn shiftbufoes(&self, n: usize) -> &Shiftbufoes {
327 &self.shiftbufoes[n]
328 }
329 #[doc = "Iterator for array of:"]
330 #[doc = "0x800..0x810 - Shifter Buffer Odd Even Swapped"]
331 #[inline(always)]
332 pub fn shiftbufoes_iter(&self) -> impl Iterator<Item = &Shiftbufoes> {
333 self.shiftbufoes.iter()
334 }
335 #[doc = "0x880..0x890 - Shifter Buffer Even Odd Swapped"]
336 #[inline(always)]
337 pub const fn shiftbufeos(&self, n: usize) -> &Shiftbufeos {
338 &self.shiftbufeos[n]
339 }
340 #[doc = "Iterator for array of:"]
341 #[doc = "0x880..0x890 - Shifter Buffer Even Odd Swapped"]
342 #[inline(always)]
343 pub fn shiftbufeos_iter(&self) -> impl Iterator<Item = &Shiftbufeos> {
344 self.shiftbufeos.iter()
345 }
346 #[doc = "0x900..0x910 - Shifter Buffer Halfword Byte Swapped"]
347 #[inline(always)]
348 pub const fn shiftbufhbs(&self, n: usize) -> &Shiftbufhbs {
349 &self.shiftbufhbs[n]
350 }
351 #[doc = "Iterator for array of:"]
352 #[doc = "0x900..0x910 - Shifter Buffer Halfword Byte Swapped"]
353 #[inline(always)]
354 pub fn shiftbufhbs_iter(&self) -> impl Iterator<Item = &Shiftbufhbs> {
355 self.shiftbufhbs.iter()
356 }
357}
358#[doc = "VERID (r) register accessor: Version ID\n\nYou can [`read`](crate::Reg::read) this register and get [`verid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@verid`] module"]
359#[doc(alias = "VERID")]
360pub type Verid = crate::Reg<verid::VeridSpec>;
361#[doc = "Version ID"]
362pub mod verid;
363#[doc = "PARAM (r) register accessor: Parameter\n\nYou can [`read`](crate::Reg::read) this register and get [`param::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@param`] module"]
364#[doc(alias = "PARAM")]
365pub type Param = crate::Reg<param::ParamSpec>;
366#[doc = "Parameter"]
367pub mod param;
368#[doc = "CTRL (rw) register accessor: FLEXIO Control\n\nYou 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).\n\nFor information about available fields see [`mod@ctrl`] module"]
369#[doc(alias = "CTRL")]
370pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
371#[doc = "FLEXIO Control"]
372pub mod ctrl;
373#[doc = "PIN (r) register accessor: Pin State\n\nYou can [`read`](crate::Reg::read) this register and get [`pin::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pin`] module"]
374#[doc(alias = "PIN")]
375pub type Pin = crate::Reg<pin::PinSpec>;
376#[doc = "Pin State"]
377pub mod pin;
378#[doc = "SHIFTSTAT (rw) register accessor: Shifter Status\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftstat::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@shiftstat`] module"]
379#[doc(alias = "SHIFTSTAT")]
380pub type Shiftstat = crate::Reg<shiftstat::ShiftstatSpec>;
381#[doc = "Shifter Status"]
382pub mod shiftstat;
383#[doc = "SHIFTERR (rw) register accessor: Shifter Error\n\nYou can [`read`](crate::Reg::read) this register and get [`shifterr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shifterr::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@shifterr`] module"]
384#[doc(alias = "SHIFTERR")]
385pub type Shifterr = crate::Reg<shifterr::ShifterrSpec>;
386#[doc = "Shifter Error"]
387pub mod shifterr;
388#[doc = "TIMSTAT (rw) register accessor: Timer Status Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`timstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timstat::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@timstat`] module"]
389#[doc(alias = "TIMSTAT")]
390pub type Timstat = crate::Reg<timstat::TimstatSpec>;
391#[doc = "Timer Status Flag"]
392pub mod timstat;
393#[doc = "SHIFTSIEN (rw) register accessor: Shifter Status Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftsien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftsien::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@shiftsien`] module"]
394#[doc(alias = "SHIFTSIEN")]
395pub type Shiftsien = crate::Reg<shiftsien::ShiftsienSpec>;
396#[doc = "Shifter Status Interrupt Enable"]
397pub mod shiftsien;
398#[doc = "SHIFTEIEN (rw) register accessor: Shifter Error Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`shifteien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shifteien::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@shifteien`] module"]
399#[doc(alias = "SHIFTEIEN")]
400pub type Shifteien = crate::Reg<shifteien::ShifteienSpec>;
401#[doc = "Shifter Error Interrupt Enable"]
402pub mod shifteien;
403#[doc = "TIMIEN (rw) register accessor: Timer Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`timien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timien::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@timien`] module"]
404#[doc(alias = "TIMIEN")]
405pub type Timien = crate::Reg<timien::TimienSpec>;
406#[doc = "Timer Interrupt Enable"]
407pub mod timien;
408#[doc = "SHIFTSDEN (rw) register accessor: Shifter Status DMA Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftsden::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftsden::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@shiftsden`] module"]
409#[doc(alias = "SHIFTSDEN")]
410pub type Shiftsden = crate::Reg<shiftsden::ShiftsdenSpec>;
411#[doc = "Shifter Status DMA Enable"]
412pub mod shiftsden;
413#[doc = "TIMERSDEN (rw) register accessor: Timer Status DMA Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`timersden::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timersden::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@timersden`] module"]
414#[doc(alias = "TIMERSDEN")]
415pub type Timersden = crate::Reg<timersden::TimersdenSpec>;
416#[doc = "Timer Status DMA Enable"]
417pub mod timersden;
418#[doc = "SHIFTSTATE (rw) register accessor: Shifter State\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftstate::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftstate::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@shiftstate`] module"]
419#[doc(alias = "SHIFTSTATE")]
420pub type Shiftstate = crate::Reg<shiftstate::ShiftstateSpec>;
421#[doc = "Shifter State"]
422pub mod shiftstate;
423#[doc = "TRGSTAT (rw) register accessor: Trigger Status\n\nYou can [`read`](crate::Reg::read) this register and get [`trgstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`trgstat::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@trgstat`] module"]
424#[doc(alias = "TRGSTAT")]
425pub type Trgstat = crate::Reg<trgstat::TrgstatSpec>;
426#[doc = "Trigger Status"]
427pub mod trgstat;
428#[doc = "TRIGIEN (rw) register accessor: External Trigger Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`trigien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`trigien::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@trigien`] module"]
429#[doc(alias = "TRIGIEN")]
430pub type Trigien = crate::Reg<trigien::TrigienSpec>;
431#[doc = "External Trigger Interrupt Enable"]
432pub mod trigien;
433#[doc = "PINSTAT (rw) register accessor: Pin Status\n\nYou can [`read`](crate::Reg::read) this register and get [`pinstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinstat::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@pinstat`] module"]
434#[doc(alias = "PINSTAT")]
435pub type Pinstat = crate::Reg<pinstat::PinstatSpec>;
436#[doc = "Pin Status"]
437pub mod pinstat;
438#[doc = "PINIEN (rw) register accessor: Pin Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`pinien::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinien::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@pinien`] module"]
439#[doc(alias = "PINIEN")]
440pub type Pinien = crate::Reg<pinien::PinienSpec>;
441#[doc = "Pin Interrupt Enable"]
442pub mod pinien;
443#[doc = "PINREN (rw) register accessor: Pin Rising Edge Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`pinren::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinren::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@pinren`] module"]
444#[doc(alias = "PINREN")]
445pub type Pinren = crate::Reg<pinren::PinrenSpec>;
446#[doc = "Pin Rising Edge Enable"]
447pub mod pinren;
448#[doc = "PINFEN (rw) register accessor: Pin Falling Edge Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`pinfen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinfen::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@pinfen`] module"]
449#[doc(alias = "PINFEN")]
450pub type Pinfen = crate::Reg<pinfen::PinfenSpec>;
451#[doc = "Pin Falling Edge Enable"]
452pub mod pinfen;
453#[doc = "PINOUTD (rw) register accessor: Pin Output Data\n\nYou can [`read`](crate::Reg::read) this register and get [`pinoutd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinoutd::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@pinoutd`] module"]
454#[doc(alias = "PINOUTD")]
455pub type Pinoutd = crate::Reg<pinoutd::PinoutdSpec>;
456#[doc = "Pin Output Data"]
457pub mod pinoutd;
458#[doc = "PINOUTE (rw) register accessor: Pin Output Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`pinoute::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinoute::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@pinoute`] module"]
459#[doc(alias = "PINOUTE")]
460pub type Pinoute = crate::Reg<pinoute::PinouteSpec>;
461#[doc = "Pin Output Enable"]
462pub mod pinoute;
463#[doc = "PINOUTDIS (rw) register accessor: Pin Output Disable\n\nYou can [`read`](crate::Reg::read) this register and get [`pinoutdis::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinoutdis::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@pinoutdis`] module"]
464#[doc(alias = "PINOUTDIS")]
465pub type Pinoutdis = crate::Reg<pinoutdis::PinoutdisSpec>;
466#[doc = "Pin Output Disable"]
467pub mod pinoutdis;
468#[doc = "PINOUTCLR (rw) register accessor: Pin Output Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`pinoutclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinoutclr::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@pinoutclr`] module"]
469#[doc(alias = "PINOUTCLR")]
470pub type Pinoutclr = crate::Reg<pinoutclr::PinoutclrSpec>;
471#[doc = "Pin Output Clear"]
472pub mod pinoutclr;
473#[doc = "PINOUTSET (rw) register accessor: Pin Output Set\n\nYou can [`read`](crate::Reg::read) this register and get [`pinoutset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinoutset::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@pinoutset`] module"]
474#[doc(alias = "PINOUTSET")]
475pub type Pinoutset = crate::Reg<pinoutset::PinoutsetSpec>;
476#[doc = "Pin Output Set"]
477pub mod pinoutset;
478#[doc = "PINOUTTOG (rw) register accessor: Pin Output Toggle\n\nYou can [`read`](crate::Reg::read) this register and get [`pinouttog::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pinouttog::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@pinouttog`] module"]
479#[doc(alias = "PINOUTTOG")]
480pub type Pinouttog = crate::Reg<pinouttog::PinouttogSpec>;
481#[doc = "Pin Output Toggle"]
482pub mod pinouttog;
483#[doc = "SHIFTCTL (rw) register accessor: Shifter Control\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftctl::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@shiftctl`] module"]
484#[doc(alias = "SHIFTCTL")]
485pub type Shiftctl = crate::Reg<shiftctl::ShiftctlSpec>;
486#[doc = "Shifter Control"]
487pub mod shiftctl;
488#[doc = "SHIFTCFG (rw) register accessor: Shifter Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftcfg::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@shiftcfg`] module"]
489#[doc(alias = "SHIFTCFG")]
490pub type Shiftcfg = crate::Reg<shiftcfg::ShiftcfgSpec>;
491#[doc = "Shifter Configuration"]
492pub mod shiftcfg;
493#[doc = "SHIFTBUF (rw) register accessor: Shifter Buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbuf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbuf::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@shiftbuf`] module"]
494#[doc(alias = "SHIFTBUF")]
495pub type Shiftbuf = crate::Reg<shiftbuf::ShiftbufSpec>;
496#[doc = "Shifter Buffer"]
497pub mod shiftbuf;
498#[doc = "SHIFTBUFBIS (rw) register accessor: Shifter Buffer Bit Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufbis::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufbis::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@shiftbufbis`] module"]
499#[doc(alias = "SHIFTBUFBIS")]
500pub type Shiftbufbis = crate::Reg<shiftbufbis::ShiftbufbisSpec>;
501#[doc = "Shifter Buffer Bit Swapped"]
502pub mod shiftbufbis;
503#[doc = "SHIFTBUFBYS (rw) register accessor: Shifter Buffer Byte Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufbys::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufbys::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@shiftbufbys`] module"]
504#[doc(alias = "SHIFTBUFBYS")]
505pub type Shiftbufbys = crate::Reg<shiftbufbys::ShiftbufbysSpec>;
506#[doc = "Shifter Buffer Byte Swapped"]
507pub mod shiftbufbys;
508#[doc = "SHIFTBUFBBS (rw) register accessor: Shifter Buffer Bit Byte Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufbbs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufbbs::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@shiftbufbbs`] module"]
509#[doc(alias = "SHIFTBUFBBS")]
510pub type Shiftbufbbs = crate::Reg<shiftbufbbs::ShiftbufbbsSpec>;
511#[doc = "Shifter Buffer Bit Byte Swapped"]
512pub mod shiftbufbbs;
513#[doc = "TIMCTL (rw) register accessor: Timer Control\n\nYou can [`read`](crate::Reg::read) this register and get [`timctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timctl::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@timctl`] module"]
514#[doc(alias = "TIMCTL")]
515pub type Timctl = crate::Reg<timctl::TimctlSpec>;
516#[doc = "Timer Control"]
517pub mod timctl;
518#[doc = "TIMCFG (rw) register accessor: Timer Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`timcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timcfg::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@timcfg`] module"]
519#[doc(alias = "TIMCFG")]
520pub type Timcfg = crate::Reg<timcfg::TimcfgSpec>;
521#[doc = "Timer Configuration"]
522pub mod timcfg;
523#[doc = "TIMCMP (rw) register accessor: Timer Compare\n\nYou can [`read`](crate::Reg::read) this register and get [`timcmp::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timcmp::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@timcmp`] module"]
524#[doc(alias = "TIMCMP")]
525pub type Timcmp = crate::Reg<timcmp::TimcmpSpec>;
526#[doc = "Timer Compare"]
527pub mod timcmp;
528#[doc = "SHIFTBUFNBS (rw) register accessor: Shifter Buffer Nibble Byte Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufnbs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufnbs::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@shiftbufnbs`] module"]
529#[doc(alias = "SHIFTBUFNBS")]
530pub type Shiftbufnbs = crate::Reg<shiftbufnbs::ShiftbufnbsSpec>;
531#[doc = "Shifter Buffer Nibble Byte Swapped"]
532pub mod shiftbufnbs;
533#[doc = "SHIFTBUFHWS (rw) register accessor: Shifter Buffer Halfword Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufhws::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufhws::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@shiftbufhws`] module"]
534#[doc(alias = "SHIFTBUFHWS")]
535pub type Shiftbufhws = crate::Reg<shiftbufhws::ShiftbufhwsSpec>;
536#[doc = "Shifter Buffer Halfword Swapped"]
537pub mod shiftbufhws;
538#[doc = "SHIFTBUFNIS (rw) register accessor: Shifter Buffer Nibble Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufnis::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufnis::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@shiftbufnis`] module"]
539#[doc(alias = "SHIFTBUFNIS")]
540pub type Shiftbufnis = crate::Reg<shiftbufnis::ShiftbufnisSpec>;
541#[doc = "Shifter Buffer Nibble Swapped"]
542pub mod shiftbufnis;
543#[doc = "SHIFTBUFOES (rw) register accessor: Shifter Buffer Odd Even Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufoes::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufoes::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@shiftbufoes`] module"]
544#[doc(alias = "SHIFTBUFOES")]
545pub type Shiftbufoes = crate::Reg<shiftbufoes::ShiftbufoesSpec>;
546#[doc = "Shifter Buffer Odd Even Swapped"]
547pub mod shiftbufoes;
548#[doc = "SHIFTBUFEOS (rw) register accessor: Shifter Buffer Even Odd Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufeos::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufeos::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@shiftbufeos`] module"]
549#[doc(alias = "SHIFTBUFEOS")]
550pub type Shiftbufeos = crate::Reg<shiftbufeos::ShiftbufeosSpec>;
551#[doc = "Shifter Buffer Even Odd Swapped"]
552pub mod shiftbufeos;
553#[doc = "SHIFTBUFHBS (rw) register accessor: Shifter Buffer Halfword Byte Swapped\n\nYou can [`read`](crate::Reg::read) this register and get [`shiftbufhbs::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`shiftbufhbs::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@shiftbufhbs`] module"]
554#[doc(alias = "SHIFTBUFHBS")]
555pub type Shiftbufhbs = crate::Reg<shiftbufhbs::ShiftbufhbsSpec>;
556#[doc = "Shifter Buffer Halfword Byte Swapped"]
557pub mod shiftbufhbs;