1#![doc = "Peripheral access API for R7FA6T1AD microcontrollers (generated using svd2rust v0.28.0 ( ))\n\nYou can find an overview of the generated API [here].\n\nAPI features to be included in the [next]
2svd2rust release can be generated by cloning the svd2rust [repository], checking out the above commit, and running `cargo doc --open`.\n\n[here]: https://docs.rs/svd2rust/0.28.0/svd2rust/#peripheral-api\n[next]: https://github.com/rust-embedded/svd2rust/blob/master/CHANGELOG.md#unreleased\n[repository]: https://github.com/rust-embedded/svd2rust"]
3#![deny(dead_code)]
4#![deny(improper_ctypes)]
5#![deny(missing_docs)]
6#![deny(no_mangle_generic_items)]
7#![deny(non_shorthand_field_patterns)]
8#![deny(overflowing_literals)]
9#![deny(path_statements)]
10#![deny(patterns_in_fns_without_body)]
11#![deny(private_in_public)]
12#![deny(unconditional_recursion)]
13#![deny(unused_allocation)]
14#![deny(unused_comparisons)]
15#![deny(unused_parens)]
16#![deny(while_true)]
17#![allow(non_camel_case_types)]
18#![allow(non_snake_case)]
19#![no_std]
20use core::marker::PhantomData;
21use core::ops::Deref;
22#[doc = r"Number available in the NVIC for configuring priority"]
23pub const NVIC_PRIO_BITS: u8 = 4;
24#[cfg(feature = "rt")]
25pub use self::Interrupt as interrupt;
26pub use cortex_m::peripheral::Peripherals as CorePeripherals;
27pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
28#[cfg(feature = "rt")]
29pub use cortex_m_rt::interrupt;
30#[allow(unused_imports)]
31use generic::*;
32#[doc = r"Common register and bit access and modify traits"]
33pub mod generic;
34#[cfg(feature = "rt")]
35extern "C" {
36 fn IEL0();
37 fn IEL1();
38 fn IEL2();
39 fn IEL3();
40 fn IEL4();
41 fn IEL5();
42 fn IEL6();
43 fn IEL7();
44 fn IEL8();
45 fn IEL9();
46 fn IEL10();
47 fn IEL11();
48 fn IEL12();
49 fn IEL13();
50 fn IEL14();
51 fn IEL15();
52 fn IEL16();
53 fn IEL17();
54 fn IEL18();
55 fn IEL19();
56 fn IEL20();
57 fn IEL21();
58 fn IEL22();
59 fn IEL23();
60 fn IEL24();
61 fn IEL25();
62 fn IEL26();
63 fn IEL27();
64 fn IEL28();
65 fn IEL29();
66 fn IEL30();
67 fn IEL31();
68 fn IEL32();
69 fn IEL33();
70 fn IEL34();
71 fn IEL35();
72 fn IEL36();
73 fn IEL37();
74 fn IEL38();
75 fn IEL39();
76 fn IEL40();
77 fn IEL41();
78 fn IEL42();
79 fn IEL43();
80 fn IEL44();
81 fn IEL45();
82 fn IEL46();
83 fn IEL47();
84 fn IEL48();
85 fn IEL49();
86 fn IEL50();
87 fn IEL51();
88 fn IEL52();
89 fn IEL53();
90 fn IEL54();
91 fn IEL55();
92 fn IEL56();
93 fn IEL57();
94 fn IEL58();
95 fn IEL59();
96 fn IEL60();
97 fn IEL61();
98 fn IEL62();
99 fn IEL63();
100 fn IEL64();
101 fn IEL65();
102 fn IEL66();
103 fn IEL67();
104 fn IEL68();
105 fn IEL69();
106 fn IEL70();
107 fn IEL71();
108 fn IEL72();
109 fn IEL73();
110 fn IEL74();
111 fn IEL75();
112 fn IEL76();
113 fn IEL77();
114 fn IEL78();
115 fn IEL79();
116 fn IEL80();
117 fn IEL81();
118 fn IEL82();
119 fn IEL83();
120 fn IEL84();
121 fn IEL85();
122 fn IEL86();
123 fn IEL87();
124 fn IEL88();
125 fn IEL89();
126 fn IEL90();
127 fn IEL91();
128 fn IEL92();
129 fn IEL93();
130 fn IEL94();
131 fn IEL95();
132}
133#[doc(hidden)]
134pub union Vector {
135 _handler: unsafe extern "C" fn(),
136 _reserved: u32,
137}
138#[cfg(feature = "rt")]
139#[doc(hidden)]
140#[link_section = ".vector_table.interrupts"]
141#[no_mangle]
142pub static __INTERRUPTS: [Vector; 96] = [
143 Vector { _handler: IEL0 },
144 Vector { _handler: IEL1 },
145 Vector { _handler: IEL2 },
146 Vector { _handler: IEL3 },
147 Vector { _handler: IEL4 },
148 Vector { _handler: IEL5 },
149 Vector { _handler: IEL6 },
150 Vector { _handler: IEL7 },
151 Vector { _handler: IEL8 },
152 Vector { _handler: IEL9 },
153 Vector { _handler: IEL10 },
154 Vector { _handler: IEL11 },
155 Vector { _handler: IEL12 },
156 Vector { _handler: IEL13 },
157 Vector { _handler: IEL14 },
158 Vector { _handler: IEL15 },
159 Vector { _handler: IEL16 },
160 Vector { _handler: IEL17 },
161 Vector { _handler: IEL18 },
162 Vector { _handler: IEL19 },
163 Vector { _handler: IEL20 },
164 Vector { _handler: IEL21 },
165 Vector { _handler: IEL22 },
166 Vector { _handler: IEL23 },
167 Vector { _handler: IEL24 },
168 Vector { _handler: IEL25 },
169 Vector { _handler: IEL26 },
170 Vector { _handler: IEL27 },
171 Vector { _handler: IEL28 },
172 Vector { _handler: IEL29 },
173 Vector { _handler: IEL30 },
174 Vector { _handler: IEL31 },
175 Vector { _handler: IEL32 },
176 Vector { _handler: IEL33 },
177 Vector { _handler: IEL34 },
178 Vector { _handler: IEL35 },
179 Vector { _handler: IEL36 },
180 Vector { _handler: IEL37 },
181 Vector { _handler: IEL38 },
182 Vector { _handler: IEL39 },
183 Vector { _handler: IEL40 },
184 Vector { _handler: IEL41 },
185 Vector { _handler: IEL42 },
186 Vector { _handler: IEL43 },
187 Vector { _handler: IEL44 },
188 Vector { _handler: IEL45 },
189 Vector { _handler: IEL46 },
190 Vector { _handler: IEL47 },
191 Vector { _handler: IEL48 },
192 Vector { _handler: IEL49 },
193 Vector { _handler: IEL50 },
194 Vector { _handler: IEL51 },
195 Vector { _handler: IEL52 },
196 Vector { _handler: IEL53 },
197 Vector { _handler: IEL54 },
198 Vector { _handler: IEL55 },
199 Vector { _handler: IEL56 },
200 Vector { _handler: IEL57 },
201 Vector { _handler: IEL58 },
202 Vector { _handler: IEL59 },
203 Vector { _handler: IEL60 },
204 Vector { _handler: IEL61 },
205 Vector { _handler: IEL62 },
206 Vector { _handler: IEL63 },
207 Vector { _handler: IEL64 },
208 Vector { _handler: IEL65 },
209 Vector { _handler: IEL66 },
210 Vector { _handler: IEL67 },
211 Vector { _handler: IEL68 },
212 Vector { _handler: IEL69 },
213 Vector { _handler: IEL70 },
214 Vector { _handler: IEL71 },
215 Vector { _handler: IEL72 },
216 Vector { _handler: IEL73 },
217 Vector { _handler: IEL74 },
218 Vector { _handler: IEL75 },
219 Vector { _handler: IEL76 },
220 Vector { _handler: IEL77 },
221 Vector { _handler: IEL78 },
222 Vector { _handler: IEL79 },
223 Vector { _handler: IEL80 },
224 Vector { _handler: IEL81 },
225 Vector { _handler: IEL82 },
226 Vector { _handler: IEL83 },
227 Vector { _handler: IEL84 },
228 Vector { _handler: IEL85 },
229 Vector { _handler: IEL86 },
230 Vector { _handler: IEL87 },
231 Vector { _handler: IEL88 },
232 Vector { _handler: IEL89 },
233 Vector { _handler: IEL90 },
234 Vector { _handler: IEL91 },
235 Vector { _handler: IEL92 },
236 Vector { _handler: IEL93 },
237 Vector { _handler: IEL94 },
238 Vector { _handler: IEL95 },
239];
240#[doc = r"Enumeration of all the interrupts."]
241#[derive(Copy, Clone, Debug, PartialEq, Eq)]
242#[repr(u16)]
243pub enum Interrupt {
244 #[doc = "0 - ICU Interrupt 0"]
245 IEL0 = 0,
246 #[doc = "1 - ICU Interrupt 1"]
247 IEL1 = 1,
248 #[doc = "2 - ICU Interrupt 2"]
249 IEL2 = 2,
250 #[doc = "3 - ICU Interrupt 3"]
251 IEL3 = 3,
252 #[doc = "4 - ICU Interrupt 4"]
253 IEL4 = 4,
254 #[doc = "5 - ICU Interrupt 5"]
255 IEL5 = 5,
256 #[doc = "6 - ICU Interrupt 6"]
257 IEL6 = 6,
258 #[doc = "7 - ICU Interrupt 7"]
259 IEL7 = 7,
260 #[doc = "8 - ICU Interrupt 8"]
261 IEL8 = 8,
262 #[doc = "9 - ICU Interrupt 9"]
263 IEL9 = 9,
264 #[doc = "10 - ICU Interrupt 10"]
265 IEL10 = 10,
266 #[doc = "11 - ICU Interrupt 11"]
267 IEL11 = 11,
268 #[doc = "12 - ICU Interrupt 12"]
269 IEL12 = 12,
270 #[doc = "13 - ICU Interrupt 13"]
271 IEL13 = 13,
272 #[doc = "14 - ICU Interrupt 14"]
273 IEL14 = 14,
274 #[doc = "15 - ICU Interrupt 15"]
275 IEL15 = 15,
276 #[doc = "16 - ICU Interrupt 16"]
277 IEL16 = 16,
278 #[doc = "17 - ICU Interrupt 17"]
279 IEL17 = 17,
280 #[doc = "18 - ICU Interrupt 18"]
281 IEL18 = 18,
282 #[doc = "19 - ICU Interrupt 19"]
283 IEL19 = 19,
284 #[doc = "20 - ICU Interrupt 20"]
285 IEL20 = 20,
286 #[doc = "21 - ICU Interrupt 21"]
287 IEL21 = 21,
288 #[doc = "22 - ICU Interrupt 22"]
289 IEL22 = 22,
290 #[doc = "23 - ICU Interrupt 23"]
291 IEL23 = 23,
292 #[doc = "24 - ICU Interrupt 24"]
293 IEL24 = 24,
294 #[doc = "25 - ICU Interrupt 25"]
295 IEL25 = 25,
296 #[doc = "26 - ICU Interrupt 26"]
297 IEL26 = 26,
298 #[doc = "27 - ICU Interrupt 27"]
299 IEL27 = 27,
300 #[doc = "28 - ICU Interrupt 28"]
301 IEL28 = 28,
302 #[doc = "29 - ICU Interrupt 29"]
303 IEL29 = 29,
304 #[doc = "30 - ICU Interrupt 30"]
305 IEL30 = 30,
306 #[doc = "31 - ICU Interrupt 31"]
307 IEL31 = 31,
308 #[doc = "32 - ICU Interrupt 32"]
309 IEL32 = 32,
310 #[doc = "33 - ICU Interrupt 33"]
311 IEL33 = 33,
312 #[doc = "34 - ICU Interrupt 34"]
313 IEL34 = 34,
314 #[doc = "35 - ICU Interrupt 35"]
315 IEL35 = 35,
316 #[doc = "36 - ICU Interrupt 36"]
317 IEL36 = 36,
318 #[doc = "37 - ICU Interrupt 37"]
319 IEL37 = 37,
320 #[doc = "38 - ICU Interrupt 38"]
321 IEL38 = 38,
322 #[doc = "39 - ICU Interrupt 39"]
323 IEL39 = 39,
324 #[doc = "40 - ICU Interrupt 40"]
325 IEL40 = 40,
326 #[doc = "41 - ICU Interrupt 41"]
327 IEL41 = 41,
328 #[doc = "42 - ICU Interrupt 42"]
329 IEL42 = 42,
330 #[doc = "43 - ICU Interrupt 43"]
331 IEL43 = 43,
332 #[doc = "44 - ICU Interrupt 44"]
333 IEL44 = 44,
334 #[doc = "45 - ICU Interrupt 45"]
335 IEL45 = 45,
336 #[doc = "46 - ICU Interrupt 46"]
337 IEL46 = 46,
338 #[doc = "47 - ICU Interrupt 47"]
339 IEL47 = 47,
340 #[doc = "48 - ICU Interrupt 48"]
341 IEL48 = 48,
342 #[doc = "49 - ICU Interrupt 49"]
343 IEL49 = 49,
344 #[doc = "50 - ICU Interrupt 50"]
345 IEL50 = 50,
346 #[doc = "51 - ICU Interrupt 51"]
347 IEL51 = 51,
348 #[doc = "52 - ICU Interrupt 52"]
349 IEL52 = 52,
350 #[doc = "53 - ICU Interrupt 53"]
351 IEL53 = 53,
352 #[doc = "54 - ICU Interrupt 54"]
353 IEL54 = 54,
354 #[doc = "55 - ICU Interrupt 55"]
355 IEL55 = 55,
356 #[doc = "56 - ICU Interrupt 56"]
357 IEL56 = 56,
358 #[doc = "57 - ICU Interrupt 57"]
359 IEL57 = 57,
360 #[doc = "58 - ICU Interrupt 58"]
361 IEL58 = 58,
362 #[doc = "59 - ICU Interrupt 59"]
363 IEL59 = 59,
364 #[doc = "60 - ICU Interrupt 60"]
365 IEL60 = 60,
366 #[doc = "61 - ICU Interrupt 61"]
367 IEL61 = 61,
368 #[doc = "62 - ICU Interrupt 62"]
369 IEL62 = 62,
370 #[doc = "63 - ICU Interrupt 63"]
371 IEL63 = 63,
372 #[doc = "64 - ICU Interrupt 64"]
373 IEL64 = 64,
374 #[doc = "65 - ICU Interrupt 65"]
375 IEL65 = 65,
376 #[doc = "66 - ICU Interrupt 66"]
377 IEL66 = 66,
378 #[doc = "67 - ICU Interrupt 67"]
379 IEL67 = 67,
380 #[doc = "68 - ICU Interrupt 68"]
381 IEL68 = 68,
382 #[doc = "69 - ICU Interrupt 69"]
383 IEL69 = 69,
384 #[doc = "70 - ICU Interrupt 70"]
385 IEL70 = 70,
386 #[doc = "71 - ICU Interrupt 71"]
387 IEL71 = 71,
388 #[doc = "72 - ICU Interrupt 72"]
389 IEL72 = 72,
390 #[doc = "73 - ICU Interrupt 73"]
391 IEL73 = 73,
392 #[doc = "74 - ICU Interrupt 74"]
393 IEL74 = 74,
394 #[doc = "75 - ICU Interrupt 75"]
395 IEL75 = 75,
396 #[doc = "76 - ICU Interrupt 76"]
397 IEL76 = 76,
398 #[doc = "77 - ICU Interrupt 77"]
399 IEL77 = 77,
400 #[doc = "78 - ICU Interrupt 78"]
401 IEL78 = 78,
402 #[doc = "79 - ICU Interrupt 79"]
403 IEL79 = 79,
404 #[doc = "80 - ICU Interrupt 80"]
405 IEL80 = 80,
406 #[doc = "81 - ICU Interrupt 81"]
407 IEL81 = 81,
408 #[doc = "82 - ICU Interrupt 82"]
409 IEL82 = 82,
410 #[doc = "83 - ICU Interrupt 83"]
411 IEL83 = 83,
412 #[doc = "84 - ICU Interrupt 84"]
413 IEL84 = 84,
414 #[doc = "85 - ICU Interrupt 85"]
415 IEL85 = 85,
416 #[doc = "86 - ICU Interrupt 86"]
417 IEL86 = 86,
418 #[doc = "87 - ICU Interrupt 87"]
419 IEL87 = 87,
420 #[doc = "88 - ICU Interrupt 88"]
421 IEL88 = 88,
422 #[doc = "89 - ICU Interrupt 89"]
423 IEL89 = 89,
424 #[doc = "90 - ICU Interrupt 90"]
425 IEL90 = 90,
426 #[doc = "91 - ICU Interrupt 91"]
427 IEL91 = 91,
428 #[doc = "92 - ICU Interrupt 92"]
429 IEL92 = 92,
430 #[doc = "93 - ICU Interrupt 93"]
431 IEL93 = 93,
432 #[doc = "94 - ICU Interrupt 94"]
433 IEL94 = 94,
434 #[doc = "95 - ICU Interrupt 95"]
435 IEL95 = 95,
436}
437unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
438 #[inline(always)]
439 fn number(self) -> u16 {
440 self as u16
441 }
442}
443#[doc = "12-bit D/A converter"]
444pub struct DAC12 {
445 _marker: PhantomData<*const ()>,
446}
447unsafe impl Send for DAC12 {}
448impl DAC12 {
449 #[doc = r"Pointer to the register block"]
450 pub const PTR: *const dac12::RegisterBlock = 0x4005_e000 as *const _;
451 #[doc = r"Return the pointer to the register block"]
452 #[inline(always)]
453 pub const fn ptr() -> *const dac12::RegisterBlock {
454 Self::PTR
455 }
456}
457impl Deref for DAC12 {
458 type Target = dac12::RegisterBlock;
459 #[inline(always)]
460 fn deref(&self) -> &Self::Target {
461 unsafe { &*Self::PTR }
462 }
463}
464impl core::fmt::Debug for DAC12 {
465 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
466 f.debug_struct("DAC12").finish()
467 }
468}
469#[doc = "12-bit D/A converter"]
470pub mod dac12;
471#[doc = "High-Speed Analog Comparator 0"]
472pub struct ACMPHS0 {
473 _marker: PhantomData<*const ()>,
474}
475unsafe impl Send for ACMPHS0 {}
476impl ACMPHS0 {
477 #[doc = r"Pointer to the register block"]
478 pub const PTR: *const acmphs0::RegisterBlock = 0x4008_5000 as *const _;
479 #[doc = r"Return the pointer to the register block"]
480 #[inline(always)]
481 pub const fn ptr() -> *const acmphs0::RegisterBlock {
482 Self::PTR
483 }
484}
485impl Deref for ACMPHS0 {
486 type Target = acmphs0::RegisterBlock;
487 #[inline(always)]
488 fn deref(&self) -> &Self::Target {
489 unsafe { &*Self::PTR }
490 }
491}
492impl core::fmt::Debug for ACMPHS0 {
493 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
494 f.debug_struct("ACMPHS0").finish()
495 }
496}
497#[doc = "High-Speed Analog Comparator 0"]
498pub mod acmphs0;
499#[doc = "High-Speed Analog Comparator 1"]
500pub struct ACMPHS1 {
501 _marker: PhantomData<*const ()>,
502}
503unsafe impl Send for ACMPHS1 {}
504impl ACMPHS1 {
505 #[doc = r"Pointer to the register block"]
506 pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5100 as *const _;
507 #[doc = r"Return the pointer to the register block"]
508 #[inline(always)]
509 pub const fn ptr() -> *const acmphs1::RegisterBlock {
510 Self::PTR
511 }
512}
513impl Deref for ACMPHS1 {
514 type Target = acmphs1::RegisterBlock;
515 #[inline(always)]
516 fn deref(&self) -> &Self::Target {
517 unsafe { &*Self::PTR }
518 }
519}
520impl core::fmt::Debug for ACMPHS1 {
521 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
522 f.debug_struct("ACMPHS1").finish()
523 }
524}
525#[doc = "High-Speed Analog Comparator 1"]
526pub mod acmphs1;
527#[doc = "High-Speed Analog Comparator 2"]
528pub struct ACMPHS2 {
529 _marker: PhantomData<*const ()>,
530}
531unsafe impl Send for ACMPHS2 {}
532impl ACMPHS2 {
533 #[doc = r"Pointer to the register block"]
534 pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5200 as *const _;
535 #[doc = r"Return the pointer to the register block"]
536 #[inline(always)]
537 pub const fn ptr() -> *const acmphs1::RegisterBlock {
538 Self::PTR
539 }
540}
541impl Deref for ACMPHS2 {
542 type Target = acmphs1::RegisterBlock;
543 #[inline(always)]
544 fn deref(&self) -> &Self::Target {
545 unsafe { &*Self::PTR }
546 }
547}
548impl core::fmt::Debug for ACMPHS2 {
549 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
550 f.debug_struct("ACMPHS2").finish()
551 }
552}
553#[doc = "High-Speed Analog Comparator 2"]
554pub use self::acmphs1 as acmphs2;
555#[doc = "High-Speed Analog Comparator 3"]
556pub struct ACMPHS3 {
557 _marker: PhantomData<*const ()>,
558}
559unsafe impl Send for ACMPHS3 {}
560impl ACMPHS3 {
561 #[doc = r"Pointer to the register block"]
562 pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5300 as *const _;
563 #[doc = r"Return the pointer to the register block"]
564 #[inline(always)]
565 pub const fn ptr() -> *const acmphs1::RegisterBlock {
566 Self::PTR
567 }
568}
569impl Deref for ACMPHS3 {
570 type Target = acmphs1::RegisterBlock;
571 #[inline(always)]
572 fn deref(&self) -> &Self::Target {
573 unsafe { &*Self::PTR }
574 }
575}
576impl core::fmt::Debug for ACMPHS3 {
577 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
578 f.debug_struct("ACMPHS3").finish()
579 }
580}
581#[doc = "High-Speed Analog Comparator 3"]
582pub use self::acmphs1 as acmphs3;
583#[doc = "High-Speed Analog Comparator 4"]
584pub struct ACMPHS4 {
585 _marker: PhantomData<*const ()>,
586}
587unsafe impl Send for ACMPHS4 {}
588impl ACMPHS4 {
589 #[doc = r"Pointer to the register block"]
590 pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5400 as *const _;
591 #[doc = r"Return the pointer to the register block"]
592 #[inline(always)]
593 pub const fn ptr() -> *const acmphs1::RegisterBlock {
594 Self::PTR
595 }
596}
597impl Deref for ACMPHS4 {
598 type Target = acmphs1::RegisterBlock;
599 #[inline(always)]
600 fn deref(&self) -> &Self::Target {
601 unsafe { &*Self::PTR }
602 }
603}
604impl core::fmt::Debug for ACMPHS4 {
605 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
606 f.debug_struct("ACMPHS4").finish()
607 }
608}
609#[doc = "High-Speed Analog Comparator 4"]
610pub use self::acmphs1 as acmphs4;
611#[doc = "High-Speed Analog Comparator 5"]
612pub struct ACMPHS5 {
613 _marker: PhantomData<*const ()>,
614}
615unsafe impl Send for ACMPHS5 {}
616impl ACMPHS5 {
617 #[doc = r"Pointer to the register block"]
618 pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5500 as *const _;
619 #[doc = r"Return the pointer to the register block"]
620 #[inline(always)]
621 pub const fn ptr() -> *const acmphs1::RegisterBlock {
622 Self::PTR
623 }
624}
625impl Deref for ACMPHS5 {
626 type Target = acmphs1::RegisterBlock;
627 #[inline(always)]
628 fn deref(&self) -> &Self::Target {
629 unsafe { &*Self::PTR }
630 }
631}
632impl core::fmt::Debug for ACMPHS5 {
633 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
634 f.debug_struct("ACMPHS5").finish()
635 }
636}
637#[doc = "High-Speed Analog Comparator 5"]
638pub use self::acmphs1 as acmphs5;
639#[doc = "Temperature Sensor"]
640pub struct TSN {
641 _marker: PhantomData<*const ()>,
642}
643unsafe impl Send for TSN {}
644impl TSN {
645 #[doc = r"Pointer to the register block"]
646 pub const PTR: *const tsn::RegisterBlock = 0x4005_d000 as *const _;
647 #[doc = r"Return the pointer to the register block"]
648 #[inline(always)]
649 pub const fn ptr() -> *const tsn::RegisterBlock {
650 Self::PTR
651 }
652}
653impl Deref for TSN {
654 type Target = tsn::RegisterBlock;
655 #[inline(always)]
656 fn deref(&self) -> &Self::Target {
657 unsafe { &*Self::PTR }
658 }
659}
660impl core::fmt::Debug for TSN {
661 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
662 f.debug_struct("TSN").finish()
663 }
664}
665#[doc = "Temperature Sensor"]
666pub mod tsn;
667#[doc = "CRC Calculator"]
668pub struct CRC {
669 _marker: PhantomData<*const ()>,
670}
671unsafe impl Send for CRC {}
672impl CRC {
673 #[doc = r"Pointer to the register block"]
674 pub const PTR: *const crc::RegisterBlock = 0x4007_4000 as *const _;
675 #[doc = r"Return the pointer to the register block"]
676 #[inline(always)]
677 pub const fn ptr() -> *const crc::RegisterBlock {
678 Self::PTR
679 }
680}
681impl Deref for CRC {
682 type Target = crc::RegisterBlock;
683 #[inline(always)]
684 fn deref(&self) -> &Self::Target {
685 unsafe { &*Self::PTR }
686 }
687}
688impl core::fmt::Debug for CRC {
689 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
690 f.debug_struct("CRC").finish()
691 }
692}
693#[doc = "CRC Calculator"]
694pub mod crc;
695#[doc = "Event Link Controller"]
696pub struct ELC {
697 _marker: PhantomData<*const ()>,
698}
699unsafe impl Send for ELC {}
700impl ELC {
701 #[doc = r"Pointer to the register block"]
702 pub const PTR: *const elc::RegisterBlock = 0x4004_1000 as *const _;
703 #[doc = r"Return the pointer to the register block"]
704 #[inline(always)]
705 pub const fn ptr() -> *const elc::RegisterBlock {
706 Self::PTR
707 }
708}
709impl Deref for ELC {
710 type Target = elc::RegisterBlock;
711 #[inline(always)]
712 fn deref(&self) -> &Self::Target {
713 unsafe { &*Self::PTR }
714 }
715}
716impl core::fmt::Debug for ELC {
717 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
718 f.debug_struct("ELC").finish()
719 }
720}
721#[doc = "Event Link Controller"]
722pub mod elc;
723#[doc = "Clock Frequency Accuracy Measurement Circuit"]
724pub struct CAC {
725 _marker: PhantomData<*const ()>,
726}
727unsafe impl Send for CAC {}
728impl CAC {
729 #[doc = r"Pointer to the register block"]
730 pub const PTR: *const cac::RegisterBlock = 0x4004_4600 as *const _;
731 #[doc = r"Return the pointer to the register block"]
732 #[inline(always)]
733 pub const fn ptr() -> *const cac::RegisterBlock {
734 Self::PTR
735 }
736}
737impl Deref for CAC {
738 type Target = cac::RegisterBlock;
739 #[inline(always)]
740 fn deref(&self) -> &Self::Target {
741 unsafe { &*Self::PTR }
742 }
743}
744impl core::fmt::Debug for CAC {
745 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
746 f.debug_struct("CAC").finish()
747 }
748}
749#[doc = "Clock Frequency Accuracy Measurement Circuit"]
750pub mod cac;
751#[doc = "Data Operation Circuit"]
752pub struct DOC {
753 _marker: PhantomData<*const ()>,
754}
755unsafe impl Send for DOC {}
756impl DOC {
757 #[doc = r"Pointer to the register block"]
758 pub const PTR: *const doc::RegisterBlock = 0x4005_4100 as *const _;
759 #[doc = r"Return the pointer to the register block"]
760 #[inline(always)]
761 pub const fn ptr() -> *const doc::RegisterBlock {
762 Self::PTR
763 }
764}
765impl Deref for DOC {
766 type Target = doc::RegisterBlock;
767 #[inline(always)]
768 fn deref(&self) -> &Self::Target {
769 unsafe { &*Self::PTR }
770 }
771}
772impl core::fmt::Debug for DOC {
773 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
774 f.debug_struct("DOC").finish()
775 }
776}
777#[doc = "Data Operation Circuit"]
778pub mod doc;
779#[doc = "Independent Watchdog Timer"]
780pub struct IWDT {
781 _marker: PhantomData<*const ()>,
782}
783unsafe impl Send for IWDT {}
784impl IWDT {
785 #[doc = r"Pointer to the register block"]
786 pub const PTR: *const iwdt::RegisterBlock = 0x4004_4400 as *const _;
787 #[doc = r"Return the pointer to the register block"]
788 #[inline(always)]
789 pub const fn ptr() -> *const iwdt::RegisterBlock {
790 Self::PTR
791 }
792}
793impl Deref for IWDT {
794 type Target = iwdt::RegisterBlock;
795 #[inline(always)]
796 fn deref(&self) -> &Self::Target {
797 unsafe { &*Self::PTR }
798 }
799}
800impl core::fmt::Debug for IWDT {
801 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
802 f.debug_struct("IWDT").finish()
803 }
804}
805#[doc = "Independent Watchdog Timer"]
806pub mod iwdt;
807#[doc = "Key Interrupt Function"]
808pub struct KINT {
809 _marker: PhantomData<*const ()>,
810}
811unsafe impl Send for KINT {}
812impl KINT {
813 #[doc = r"Pointer to the register block"]
814 pub const PTR: *const kint::RegisterBlock = 0x4008_0000 as *const _;
815 #[doc = r"Return the pointer to the register block"]
816 #[inline(always)]
817 pub const fn ptr() -> *const kint::RegisterBlock {
818 Self::PTR
819 }
820}
821impl Deref for KINT {
822 type Target = kint::RegisterBlock;
823 #[inline(always)]
824 fn deref(&self) -> &Self::Target {
825 unsafe { &*Self::PTR }
826 }
827}
828impl core::fmt::Debug for KINT {
829 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
830 f.debug_struct("KINT").finish()
831 }
832}
833#[doc = "Key Interrupt Function"]
834pub mod kint;
835#[doc = "Watchdog Timer"]
836pub struct WDT {
837 _marker: PhantomData<*const ()>,
838}
839unsafe impl Send for WDT {}
840impl WDT {
841 #[doc = r"Pointer to the register block"]
842 pub const PTR: *const wdt::RegisterBlock = 0x4004_4200 as *const _;
843 #[doc = r"Return the pointer to the register block"]
844 #[inline(always)]
845 pub const fn ptr() -> *const wdt::RegisterBlock {
846 Self::PTR
847 }
848}
849impl Deref for WDT {
850 type Target = wdt::RegisterBlock;
851 #[inline(always)]
852 fn deref(&self) -> &Self::Target {
853 unsafe { &*Self::PTR }
854 }
855}
856impl core::fmt::Debug for WDT {
857 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
858 f.debug_struct("WDT").finish()
859 }
860}
861#[doc = "Watchdog Timer"]
862pub mod wdt;
863#[doc = "CAN0 Module"]
864pub struct CAN0 {
865 _marker: PhantomData<*const ()>,
866}
867unsafe impl Send for CAN0 {}
868impl CAN0 {
869 #[doc = r"Pointer to the register block"]
870 pub const PTR: *const can0::RegisterBlock = 0x4005_0000 as *const _;
871 #[doc = r"Return the pointer to the register block"]
872 #[inline(always)]
873 pub const fn ptr() -> *const can0::RegisterBlock {
874 Self::PTR
875 }
876}
877impl Deref for CAN0 {
878 type Target = can0::RegisterBlock;
879 #[inline(always)]
880 fn deref(&self) -> &Self::Target {
881 unsafe { &*Self::PTR }
882 }
883}
884impl core::fmt::Debug for CAN0 {
885 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
886 f.debug_struct("CAN0").finish()
887 }
888}
889#[doc = "CAN0 Module"]
890pub mod can0;
891#[doc = "CAN1 Module"]
892pub struct CAN1 {
893 _marker: PhantomData<*const ()>,
894}
895unsafe impl Send for CAN1 {}
896impl CAN1 {
897 #[doc = r"Pointer to the register block"]
898 pub const PTR: *const can0::RegisterBlock = 0x4005_1000 as *const _;
899 #[doc = r"Return the pointer to the register block"]
900 #[inline(always)]
901 pub const fn ptr() -> *const can0::RegisterBlock {
902 Self::PTR
903 }
904}
905impl Deref for CAN1 {
906 type Target = can0::RegisterBlock;
907 #[inline(always)]
908 fn deref(&self) -> &Self::Target {
909 unsafe { &*Self::PTR }
910 }
911}
912impl core::fmt::Debug for CAN1 {
913 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
914 f.debug_struct("CAN1").finish()
915 }
916}
917#[doc = "CAN1 Module"]
918pub use self::can0 as can1;
919#[doc = "Infrared Data Association"]
920pub struct IRDA {
921 _marker: PhantomData<*const ()>,
922}
923unsafe impl Send for IRDA {}
924impl IRDA {
925 #[doc = r"Pointer to the register block"]
926 pub const PTR: *const irda::RegisterBlock = 0x4007_0f00 as *const _;
927 #[doc = r"Return the pointer to the register block"]
928 #[inline(always)]
929 pub const fn ptr() -> *const irda::RegisterBlock {
930 Self::PTR
931 }
932}
933impl Deref for IRDA {
934 type Target = irda::RegisterBlock;
935 #[inline(always)]
936 fn deref(&self) -> &Self::Target {
937 unsafe { &*Self::PTR }
938 }
939}
940impl core::fmt::Debug for IRDA {
941 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
942 f.debug_struct("IRDA").finish()
943 }
944}
945#[doc = "Infrared Data Association"]
946pub mod irda;
947#[doc = "Serial Peripheral Interface 0"]
948pub struct SPI0 {
949 _marker: PhantomData<*const ()>,
950}
951unsafe impl Send for SPI0 {}
952impl SPI0 {
953 #[doc = r"Pointer to the register block"]
954 pub const PTR: *const spi0::RegisterBlock = 0x4007_2000 as *const _;
955 #[doc = r"Return the pointer to the register block"]
956 #[inline(always)]
957 pub const fn ptr() -> *const spi0::RegisterBlock {
958 Self::PTR
959 }
960}
961impl Deref for SPI0 {
962 type Target = spi0::RegisterBlock;
963 #[inline(always)]
964 fn deref(&self) -> &Self::Target {
965 unsafe { &*Self::PTR }
966 }
967}
968impl core::fmt::Debug for SPI0 {
969 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
970 f.debug_struct("SPI0").finish()
971 }
972}
973#[doc = "Serial Peripheral Interface 0"]
974pub mod spi0;
975#[doc = "Serial Peripheral Interface 1"]
976pub struct SPI1 {
977 _marker: PhantomData<*const ()>,
978}
979unsafe impl Send for SPI1 {}
980impl SPI1 {
981 #[doc = r"Pointer to the register block"]
982 pub const PTR: *const spi0::RegisterBlock = 0x4007_2100 as *const _;
983 #[doc = r"Return the pointer to the register block"]
984 #[inline(always)]
985 pub const fn ptr() -> *const spi0::RegisterBlock {
986 Self::PTR
987 }
988}
989impl Deref for SPI1 {
990 type Target = spi0::RegisterBlock;
991 #[inline(always)]
992 fn deref(&self) -> &Self::Target {
993 unsafe { &*Self::PTR }
994 }
995}
996impl core::fmt::Debug for SPI1 {
997 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
998 f.debug_struct("SPI1").finish()
999 }
1000}
1001#[doc = "Serial Peripheral Interface 1"]
1002pub use self::spi0 as spi1;
1003#[doc = "Sampling Rate Converter RAM"]
1004pub struct SRCRAM {
1005 _marker: PhantomData<*const ()>,
1006}
1007unsafe impl Send for SRCRAM {}
1008impl SRCRAM {
1009 #[doc = r"Pointer to the register block"]
1010 pub const PTR: *const srcram::RegisterBlock = 0x4004_8000 as *const _;
1011 #[doc = r"Return the pointer to the register block"]
1012 #[inline(always)]
1013 pub const fn ptr() -> *const srcram::RegisterBlock {
1014 Self::PTR
1015 }
1016}
1017impl Deref for SRCRAM {
1018 type Target = srcram::RegisterBlock;
1019 #[inline(always)]
1020 fn deref(&self) -> &Self::Target {
1021 unsafe { &*Self::PTR }
1022 }
1023}
1024impl core::fmt::Debug for SRCRAM {
1025 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1026 f.debug_struct("SRCRAM").finish()
1027 }
1028}
1029#[doc = "Sampling Rate Converter RAM"]
1030pub mod srcram;
1031#[doc = "Sampling Rate Converter"]
1032pub struct SRC {
1033 _marker: PhantomData<*const ()>,
1034}
1035unsafe impl Send for SRC {}
1036impl SRC {
1037 #[doc = r"Pointer to the register block"]
1038 pub const PTR: *const src::RegisterBlock = 0x4004_dff0 as *const _;
1039 #[doc = r"Return the pointer to the register block"]
1040 #[inline(always)]
1041 pub const fn ptr() -> *const src::RegisterBlock {
1042 Self::PTR
1043 }
1044}
1045impl Deref for SRC {
1046 type Target = src::RegisterBlock;
1047 #[inline(always)]
1048 fn deref(&self) -> &Self::Target {
1049 unsafe { &*Self::PTR }
1050 }
1051}
1052impl core::fmt::Debug for SRC {
1053 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1054 f.debug_struct("SRC").finish()
1055 }
1056}
1057#[doc = "Sampling Rate Converter"]
1058pub mod src;
1059#[doc = "Debug Function"]
1060pub struct DBG {
1061 _marker: PhantomData<*const ()>,
1062}
1063unsafe impl Send for DBG {}
1064impl DBG {
1065 #[doc = r"Pointer to the register block"]
1066 pub const PTR: *const dbg::RegisterBlock = 0x4001_b000 as *const _;
1067 #[doc = r"Return the pointer to the register block"]
1068 #[inline(always)]
1069 pub const fn ptr() -> *const dbg::RegisterBlock {
1070 Self::PTR
1071 }
1072}
1073impl Deref for DBG {
1074 type Target = dbg::RegisterBlock;
1075 #[inline(always)]
1076 fn deref(&self) -> &Self::Target {
1077 unsafe { &*Self::PTR }
1078 }
1079}
1080impl core::fmt::Debug for DBG {
1081 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1082 f.debug_struct("DBG").finish()
1083 }
1084}
1085#[doc = "Debug Function"]
1086pub mod dbg;
1087#[doc = "Direct memory access controller 0"]
1088pub struct DMAC0 {
1089 _marker: PhantomData<*const ()>,
1090}
1091unsafe impl Send for DMAC0 {}
1092impl DMAC0 {
1093 #[doc = r"Pointer to the register block"]
1094 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5000 as *const _;
1095 #[doc = r"Return the pointer to the register block"]
1096 #[inline(always)]
1097 pub const fn ptr() -> *const dmac0::RegisterBlock {
1098 Self::PTR
1099 }
1100}
1101impl Deref for DMAC0 {
1102 type Target = dmac0::RegisterBlock;
1103 #[inline(always)]
1104 fn deref(&self) -> &Self::Target {
1105 unsafe { &*Self::PTR }
1106 }
1107}
1108impl core::fmt::Debug for DMAC0 {
1109 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1110 f.debug_struct("DMAC0").finish()
1111 }
1112}
1113#[doc = "Direct memory access controller 0"]
1114pub mod dmac0;
1115#[doc = "Direct memory access controller 1"]
1116pub struct DMAC1 {
1117 _marker: PhantomData<*const ()>,
1118}
1119unsafe impl Send for DMAC1 {}
1120impl DMAC1 {
1121 #[doc = r"Pointer to the register block"]
1122 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5040 as *const _;
1123 #[doc = r"Return the pointer to the register block"]
1124 #[inline(always)]
1125 pub const fn ptr() -> *const dmac0::RegisterBlock {
1126 Self::PTR
1127 }
1128}
1129impl Deref for DMAC1 {
1130 type Target = dmac0::RegisterBlock;
1131 #[inline(always)]
1132 fn deref(&self) -> &Self::Target {
1133 unsafe { &*Self::PTR }
1134 }
1135}
1136impl core::fmt::Debug for DMAC1 {
1137 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1138 f.debug_struct("DMAC1").finish()
1139 }
1140}
1141#[doc = "Direct memory access controller 1"]
1142pub use self::dmac0 as dmac1;
1143#[doc = "Direct memory access controller 2"]
1144pub struct DMAC2 {
1145 _marker: PhantomData<*const ()>,
1146}
1147unsafe impl Send for DMAC2 {}
1148impl DMAC2 {
1149 #[doc = r"Pointer to the register block"]
1150 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5080 as *const _;
1151 #[doc = r"Return the pointer to the register block"]
1152 #[inline(always)]
1153 pub const fn ptr() -> *const dmac0::RegisterBlock {
1154 Self::PTR
1155 }
1156}
1157impl Deref for DMAC2 {
1158 type Target = dmac0::RegisterBlock;
1159 #[inline(always)]
1160 fn deref(&self) -> &Self::Target {
1161 unsafe { &*Self::PTR }
1162 }
1163}
1164impl core::fmt::Debug for DMAC2 {
1165 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1166 f.debug_struct("DMAC2").finish()
1167 }
1168}
1169#[doc = "Direct memory access controller 2"]
1170pub use self::dmac0 as dmac2;
1171#[doc = "Direct memory access controller 3"]
1172pub struct DMAC3 {
1173 _marker: PhantomData<*const ()>,
1174}
1175unsafe impl Send for DMAC3 {}
1176impl DMAC3 {
1177 #[doc = r"Pointer to the register block"]
1178 pub const PTR: *const dmac0::RegisterBlock = 0x4000_50c0 as *const _;
1179 #[doc = r"Return the pointer to the register block"]
1180 #[inline(always)]
1181 pub const fn ptr() -> *const dmac0::RegisterBlock {
1182 Self::PTR
1183 }
1184}
1185impl Deref for DMAC3 {
1186 type Target = dmac0::RegisterBlock;
1187 #[inline(always)]
1188 fn deref(&self) -> &Self::Target {
1189 unsafe { &*Self::PTR }
1190 }
1191}
1192impl core::fmt::Debug for DMAC3 {
1193 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1194 f.debug_struct("DMAC3").finish()
1195 }
1196}
1197#[doc = "Direct memory access controller 3"]
1198pub use self::dmac0 as dmac3;
1199#[doc = "Direct memory access controller 4"]
1200pub struct DMAC4 {
1201 _marker: PhantomData<*const ()>,
1202}
1203unsafe impl Send for DMAC4 {}
1204impl DMAC4 {
1205 #[doc = r"Pointer to the register block"]
1206 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5100 as *const _;
1207 #[doc = r"Return the pointer to the register block"]
1208 #[inline(always)]
1209 pub const fn ptr() -> *const dmac0::RegisterBlock {
1210 Self::PTR
1211 }
1212}
1213impl Deref for DMAC4 {
1214 type Target = dmac0::RegisterBlock;
1215 #[inline(always)]
1216 fn deref(&self) -> &Self::Target {
1217 unsafe { &*Self::PTR }
1218 }
1219}
1220impl core::fmt::Debug for DMAC4 {
1221 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1222 f.debug_struct("DMAC4").finish()
1223 }
1224}
1225#[doc = "Direct memory access controller 4"]
1226pub use self::dmac0 as dmac4;
1227#[doc = "Direct memory access controller 5"]
1228pub struct DMAC5 {
1229 _marker: PhantomData<*const ()>,
1230}
1231unsafe impl Send for DMAC5 {}
1232impl DMAC5 {
1233 #[doc = r"Pointer to the register block"]
1234 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5140 as *const _;
1235 #[doc = r"Return the pointer to the register block"]
1236 #[inline(always)]
1237 pub const fn ptr() -> *const dmac0::RegisterBlock {
1238 Self::PTR
1239 }
1240}
1241impl Deref for DMAC5 {
1242 type Target = dmac0::RegisterBlock;
1243 #[inline(always)]
1244 fn deref(&self) -> &Self::Target {
1245 unsafe { &*Self::PTR }
1246 }
1247}
1248impl core::fmt::Debug for DMAC5 {
1249 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1250 f.debug_struct("DMAC5").finish()
1251 }
1252}
1253#[doc = "Direct memory access controller 5"]
1254pub use self::dmac0 as dmac5;
1255#[doc = "Direct memory access controller 6"]
1256pub struct DMAC6 {
1257 _marker: PhantomData<*const ()>,
1258}
1259unsafe impl Send for DMAC6 {}
1260impl DMAC6 {
1261 #[doc = r"Pointer to the register block"]
1262 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5180 as *const _;
1263 #[doc = r"Return the pointer to the register block"]
1264 #[inline(always)]
1265 pub const fn ptr() -> *const dmac0::RegisterBlock {
1266 Self::PTR
1267 }
1268}
1269impl Deref for DMAC6 {
1270 type Target = dmac0::RegisterBlock;
1271 #[inline(always)]
1272 fn deref(&self) -> &Self::Target {
1273 unsafe { &*Self::PTR }
1274 }
1275}
1276impl core::fmt::Debug for DMAC6 {
1277 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1278 f.debug_struct("DMAC6").finish()
1279 }
1280}
1281#[doc = "Direct memory access controller 6"]
1282pub use self::dmac0 as dmac6;
1283#[doc = "Direct memory access controller 7"]
1284pub struct DMAC7 {
1285 _marker: PhantomData<*const ()>,
1286}
1287unsafe impl Send for DMAC7 {}
1288impl DMAC7 {
1289 #[doc = r"Pointer to the register block"]
1290 pub const PTR: *const dmac0::RegisterBlock = 0x4000_51c0 as *const _;
1291 #[doc = r"Return the pointer to the register block"]
1292 #[inline(always)]
1293 pub const fn ptr() -> *const dmac0::RegisterBlock {
1294 Self::PTR
1295 }
1296}
1297impl Deref for DMAC7 {
1298 type Target = dmac0::RegisterBlock;
1299 #[inline(always)]
1300 fn deref(&self) -> &Self::Target {
1301 unsafe { &*Self::PTR }
1302 }
1303}
1304impl core::fmt::Debug for DMAC7 {
1305 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1306 f.debug_struct("DMAC7").finish()
1307 }
1308}
1309#[doc = "Direct memory access controller 7"]
1310pub use self::dmac0 as dmac7;
1311#[doc = "DMAC Module Activation"]
1312pub struct DMA {
1313 _marker: PhantomData<*const ()>,
1314}
1315unsafe impl Send for DMA {}
1316impl DMA {
1317 #[doc = r"Pointer to the register block"]
1318 pub const PTR: *const dma::RegisterBlock = 0x4000_5200 as *const _;
1319 #[doc = r"Return the pointer to the register block"]
1320 #[inline(always)]
1321 pub const fn ptr() -> *const dma::RegisterBlock {
1322 Self::PTR
1323 }
1324}
1325impl Deref for DMA {
1326 type Target = dma::RegisterBlock;
1327 #[inline(always)]
1328 fn deref(&self) -> &Self::Target {
1329 unsafe { &*Self::PTR }
1330 }
1331}
1332impl core::fmt::Debug for DMA {
1333 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1334 f.debug_struct("DMA").finish()
1335 }
1336}
1337#[doc = "DMAC Module Activation"]
1338pub mod dma;
1339#[doc = "Data Transfer Controller"]
1340pub struct DTC {
1341 _marker: PhantomData<*const ()>,
1342}
1343unsafe impl Send for DTC {}
1344impl DTC {
1345 #[doc = r"Pointer to the register block"]
1346 pub const PTR: *const dtc::RegisterBlock = 0x4000_5400 as *const _;
1347 #[doc = r"Return the pointer to the register block"]
1348 #[inline(always)]
1349 pub const fn ptr() -> *const dtc::RegisterBlock {
1350 Self::PTR
1351 }
1352}
1353impl Deref for DTC {
1354 type Target = dtc::RegisterBlock;
1355 #[inline(always)]
1356 fn deref(&self) -> &Self::Target {
1357 unsafe { &*Self::PTR }
1358 }
1359}
1360impl core::fmt::Debug for DTC {
1361 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1362 f.debug_struct("DTC").finish()
1363 }
1364}
1365#[doc = "Data Transfer Controller"]
1366pub mod dtc;
1367#[doc = "Memory Mirror Function"]
1368pub struct MMF {
1369 _marker: PhantomData<*const ()>,
1370}
1371unsafe impl Send for MMF {}
1372impl MMF {
1373 #[doc = r"Pointer to the register block"]
1374 pub const PTR: *const mmf::RegisterBlock = 0x4000_1000 as *const _;
1375 #[doc = r"Return the pointer to the register block"]
1376 #[inline(always)]
1377 pub const fn ptr() -> *const mmf::RegisterBlock {
1378 Self::PTR
1379 }
1380}
1381impl Deref for MMF {
1382 type Target = mmf::RegisterBlock;
1383 #[inline(always)]
1384 fn deref(&self) -> &Self::Target {
1385 unsafe { &*Self::PTR }
1386 }
1387}
1388impl core::fmt::Debug for MMF {
1389 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1390 f.debug_struct("MMF").finish()
1391 }
1392}
1393#[doc = "Memory Mirror Function"]
1394pub mod mmf;
1395#[doc = "SRAM Control"]
1396pub struct SRAM {
1397 _marker: PhantomData<*const ()>,
1398}
1399unsafe impl Send for SRAM {}
1400impl SRAM {
1401 #[doc = r"Pointer to the register block"]
1402 pub const PTR: *const sram::RegisterBlock = 0x4000_2000 as *const _;
1403 #[doc = r"Return the pointer to the register block"]
1404 #[inline(always)]
1405 pub const fn ptr() -> *const sram::RegisterBlock {
1406 Self::PTR
1407 }
1408}
1409impl Deref for SRAM {
1410 type Target = sram::RegisterBlock;
1411 #[inline(always)]
1412 fn deref(&self) -> &Self::Target {
1413 unsafe { &*Self::PTR }
1414 }
1415}
1416impl core::fmt::Debug for SRAM {
1417 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1418 f.debug_struct("SRAM").finish()
1419 }
1420}
1421#[doc = "SRAM Control"]
1422pub mod sram;
1423#[doc = "Flash Cache"]
1424pub struct FCACHE {
1425 _marker: PhantomData<*const ()>,
1426}
1427unsafe impl Send for FCACHE {}
1428impl FCACHE {
1429 #[doc = r"Pointer to the register block"]
1430 pub const PTR: *const fcache::RegisterBlock = 0x4001_c000 as *const _;
1431 #[doc = r"Return the pointer to the register block"]
1432 #[inline(always)]
1433 pub const fn ptr() -> *const fcache::RegisterBlock {
1434 Self::PTR
1435 }
1436}
1437impl Deref for FCACHE {
1438 type Target = fcache::RegisterBlock;
1439 #[inline(always)]
1440 fn deref(&self) -> &Self::Target {
1441 unsafe { &*Self::PTR }
1442 }
1443}
1444impl core::fmt::Debug for FCACHE {
1445 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1446 f.debug_struct("FCACHE").finish()
1447 }
1448}
1449#[doc = "Flash Cache"]
1450pub mod fcache;
1451#[doc = "System Control"]
1452pub struct SYSTEM {
1453 _marker: PhantomData<*const ()>,
1454}
1455unsafe impl Send for SYSTEM {}
1456impl SYSTEM {
1457 #[doc = r"Pointer to the register block"]
1458 pub const PTR: *const system::RegisterBlock = 0x4001_e000 as *const _;
1459 #[doc = r"Return the pointer to the register block"]
1460 #[inline(always)]
1461 pub const fn ptr() -> *const system::RegisterBlock {
1462 Self::PTR
1463 }
1464}
1465impl Deref for SYSTEM {
1466 type Target = system::RegisterBlock;
1467 #[inline(always)]
1468 fn deref(&self) -> &Self::Target {
1469 unsafe { &*Self::PTR }
1470 }
1471}
1472impl core::fmt::Debug for SYSTEM {
1473 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1474 f.debug_struct("SYSTEM").finish()
1475 }
1476}
1477#[doc = "System Control"]
1478pub mod system;
1479#[doc = "Module Stop Control B,C,D"]
1480pub struct MSTP {
1481 _marker: PhantomData<*const ()>,
1482}
1483unsafe impl Send for MSTP {}
1484impl MSTP {
1485 #[doc = r"Pointer to the register block"]
1486 pub const PTR: *const mstp::RegisterBlock = 0x4004_7000 as *const _;
1487 #[doc = r"Return the pointer to the register block"]
1488 #[inline(always)]
1489 pub const fn ptr() -> *const mstp::RegisterBlock {
1490 Self::PTR
1491 }
1492}
1493impl Deref for MSTP {
1494 type Target = mstp::RegisterBlock;
1495 #[inline(always)]
1496 fn deref(&self) -> &Self::Target {
1497 unsafe { &*Self::PTR }
1498 }
1499}
1500impl core::fmt::Debug for MSTP {
1501 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1502 f.debug_struct("MSTP").finish()
1503 }
1504}
1505#[doc = "Module Stop Control B,C,D"]
1506pub mod mstp;
1507#[doc = "Asynchronous General purpose Timer 0"]
1508pub struct AGT0 {
1509 _marker: PhantomData<*const ()>,
1510}
1511unsafe impl Send for AGT0 {}
1512impl AGT0 {
1513 #[doc = r"Pointer to the register block"]
1514 pub const PTR: *const agt0::RegisterBlock = 0x4008_4000 as *const _;
1515 #[doc = r"Return the pointer to the register block"]
1516 #[inline(always)]
1517 pub const fn ptr() -> *const agt0::RegisterBlock {
1518 Self::PTR
1519 }
1520}
1521impl Deref for AGT0 {
1522 type Target = agt0::RegisterBlock;
1523 #[inline(always)]
1524 fn deref(&self) -> &Self::Target {
1525 unsafe { &*Self::PTR }
1526 }
1527}
1528impl core::fmt::Debug for AGT0 {
1529 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1530 f.debug_struct("AGT0").finish()
1531 }
1532}
1533#[doc = "Asynchronous General purpose Timer 0"]
1534pub mod agt0;
1535#[doc = "Asynchronous General purpose Timer 1"]
1536pub struct AGT1 {
1537 _marker: PhantomData<*const ()>,
1538}
1539unsafe impl Send for AGT1 {}
1540impl AGT1 {
1541 #[doc = r"Pointer to the register block"]
1542 pub const PTR: *const agt0::RegisterBlock = 0x4008_4100 as *const _;
1543 #[doc = r"Return the pointer to the register block"]
1544 #[inline(always)]
1545 pub const fn ptr() -> *const agt0::RegisterBlock {
1546 Self::PTR
1547 }
1548}
1549impl Deref for AGT1 {
1550 type Target = agt0::RegisterBlock;
1551 #[inline(always)]
1552 fn deref(&self) -> &Self::Target {
1553 unsafe { &*Self::PTR }
1554 }
1555}
1556impl core::fmt::Debug for AGT1 {
1557 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1558 f.debug_struct("AGT1").finish()
1559 }
1560}
1561#[doc = "Asynchronous General purpose Timer 1"]
1562pub use self::agt0 as agt1;
1563#[doc = "Output Phase Switching Controller"]
1564pub struct GPT_OPS {
1565 _marker: PhantomData<*const ()>,
1566}
1567unsafe impl Send for GPT_OPS {}
1568impl GPT_OPS {
1569 #[doc = r"Pointer to the register block"]
1570 pub const PTR: *const gpt_ops::RegisterBlock = 0x4007_8ff0 as *const _;
1571 #[doc = r"Return the pointer to the register block"]
1572 #[inline(always)]
1573 pub const fn ptr() -> *const gpt_ops::RegisterBlock {
1574 Self::PTR
1575 }
1576}
1577impl Deref for GPT_OPS {
1578 type Target = gpt_ops::RegisterBlock;
1579 #[inline(always)]
1580 fn deref(&self) -> &Self::Target {
1581 unsafe { &*Self::PTR }
1582 }
1583}
1584impl core::fmt::Debug for GPT_OPS {
1585 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1586 f.debug_struct("GPT_OPS").finish()
1587 }
1588}
1589#[doc = "Output Phase Switching Controller"]
1590pub mod gpt_ops;
1591#[doc = "General PWM Timer 0 (32-bit Enhanced High Resolution)"]
1592pub struct GPT32EH0 {
1593 _marker: PhantomData<*const ()>,
1594}
1595unsafe impl Send for GPT32EH0 {}
1596impl GPT32EH0 {
1597 #[doc = r"Pointer to the register block"]
1598 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8000 as *const _;
1599 #[doc = r"Return the pointer to the register block"]
1600 #[inline(always)]
1601 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1602 Self::PTR
1603 }
1604}
1605impl Deref for GPT32EH0 {
1606 type Target = gpt32eh0::RegisterBlock;
1607 #[inline(always)]
1608 fn deref(&self) -> &Self::Target {
1609 unsafe { &*Self::PTR }
1610 }
1611}
1612impl core::fmt::Debug for GPT32EH0 {
1613 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1614 f.debug_struct("GPT32EH0").finish()
1615 }
1616}
1617#[doc = "General PWM Timer 0 (32-bit Enhanced High Resolution)"]
1618pub mod gpt32eh0;
1619#[doc = "General PWM Timer 1 (32-bit Enhanced High Resolution)"]
1620pub struct GPT32EH1 {
1621 _marker: PhantomData<*const ()>,
1622}
1623unsafe impl Send for GPT32EH1 {}
1624impl GPT32EH1 {
1625 #[doc = r"Pointer to the register block"]
1626 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8100 as *const _;
1627 #[doc = r"Return the pointer to the register block"]
1628 #[inline(always)]
1629 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1630 Self::PTR
1631 }
1632}
1633impl Deref for GPT32EH1 {
1634 type Target = gpt32eh0::RegisterBlock;
1635 #[inline(always)]
1636 fn deref(&self) -> &Self::Target {
1637 unsafe { &*Self::PTR }
1638 }
1639}
1640impl core::fmt::Debug for GPT32EH1 {
1641 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1642 f.debug_struct("GPT32EH1").finish()
1643 }
1644}
1645#[doc = "General PWM Timer 1 (32-bit Enhanced High Resolution)"]
1646pub use self::gpt32eh0 as gpt32eh1;
1647#[doc = "General PWM Timer 2 (32-bit Enhanced High Resolution)"]
1648pub struct GPT32EH2 {
1649 _marker: PhantomData<*const ()>,
1650}
1651unsafe impl Send for GPT32EH2 {}
1652impl GPT32EH2 {
1653 #[doc = r"Pointer to the register block"]
1654 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8200 as *const _;
1655 #[doc = r"Return the pointer to the register block"]
1656 #[inline(always)]
1657 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1658 Self::PTR
1659 }
1660}
1661impl Deref for GPT32EH2 {
1662 type Target = gpt32eh0::RegisterBlock;
1663 #[inline(always)]
1664 fn deref(&self) -> &Self::Target {
1665 unsafe { &*Self::PTR }
1666 }
1667}
1668impl core::fmt::Debug for GPT32EH2 {
1669 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1670 f.debug_struct("GPT32EH2").finish()
1671 }
1672}
1673#[doc = "General PWM Timer 2 (32-bit Enhanced High Resolution)"]
1674pub use self::gpt32eh0 as gpt32eh2;
1675#[doc = "General PWM Timer 3 (32-bit Enhanced High Resolution)"]
1676pub struct GPT32EH3 {
1677 _marker: PhantomData<*const ()>,
1678}
1679unsafe impl Send for GPT32EH3 {}
1680impl GPT32EH3 {
1681 #[doc = r"Pointer to the register block"]
1682 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8300 as *const _;
1683 #[doc = r"Return the pointer to the register block"]
1684 #[inline(always)]
1685 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1686 Self::PTR
1687 }
1688}
1689impl Deref for GPT32EH3 {
1690 type Target = gpt32eh0::RegisterBlock;
1691 #[inline(always)]
1692 fn deref(&self) -> &Self::Target {
1693 unsafe { &*Self::PTR }
1694 }
1695}
1696impl core::fmt::Debug for GPT32EH3 {
1697 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1698 f.debug_struct("GPT32EH3").finish()
1699 }
1700}
1701#[doc = "General PWM Timer 3 (32-bit Enhanced High Resolution)"]
1702pub use self::gpt32eh0 as gpt32eh3;
1703#[doc = "General PWM Timer 4 (32-bit Enhanced)"]
1704pub struct GPT32E4 {
1705 _marker: PhantomData<*const ()>,
1706}
1707unsafe impl Send for GPT32E4 {}
1708impl GPT32E4 {
1709 #[doc = r"Pointer to the register block"]
1710 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8400 as *const _;
1711 #[doc = r"Return the pointer to the register block"]
1712 #[inline(always)]
1713 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1714 Self::PTR
1715 }
1716}
1717impl Deref for GPT32E4 {
1718 type Target = gpt32eh0::RegisterBlock;
1719 #[inline(always)]
1720 fn deref(&self) -> &Self::Target {
1721 unsafe { &*Self::PTR }
1722 }
1723}
1724impl core::fmt::Debug for GPT32E4 {
1725 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1726 f.debug_struct("GPT32E4").finish()
1727 }
1728}
1729#[doc = "General PWM Timer 4 (32-bit Enhanced)"]
1730pub use self::gpt32eh0 as gpt32e4;
1731#[doc = "General PWM Timer 5 (32-bit Enhanced)"]
1732pub struct GPT32E5 {
1733 _marker: PhantomData<*const ()>,
1734}
1735unsafe impl Send for GPT32E5 {}
1736impl GPT32E5 {
1737 #[doc = r"Pointer to the register block"]
1738 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8500 as *const _;
1739 #[doc = r"Return the pointer to the register block"]
1740 #[inline(always)]
1741 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1742 Self::PTR
1743 }
1744}
1745impl Deref for GPT32E5 {
1746 type Target = gpt32eh0::RegisterBlock;
1747 #[inline(always)]
1748 fn deref(&self) -> &Self::Target {
1749 unsafe { &*Self::PTR }
1750 }
1751}
1752impl core::fmt::Debug for GPT32E5 {
1753 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1754 f.debug_struct("GPT32E5").finish()
1755 }
1756}
1757#[doc = "General PWM Timer 5 (32-bit Enhanced)"]
1758pub use self::gpt32eh0 as gpt32e5;
1759#[doc = "General PWM Timer 6 (32-bit Enhanced)"]
1760pub struct GPT32E6 {
1761 _marker: PhantomData<*const ()>,
1762}
1763unsafe impl Send for GPT32E6 {}
1764impl GPT32E6 {
1765 #[doc = r"Pointer to the register block"]
1766 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8600 as *const _;
1767 #[doc = r"Return the pointer to the register block"]
1768 #[inline(always)]
1769 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1770 Self::PTR
1771 }
1772}
1773impl Deref for GPT32E6 {
1774 type Target = gpt32eh0::RegisterBlock;
1775 #[inline(always)]
1776 fn deref(&self) -> &Self::Target {
1777 unsafe { &*Self::PTR }
1778 }
1779}
1780impl core::fmt::Debug for GPT32E6 {
1781 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1782 f.debug_struct("GPT32E6").finish()
1783 }
1784}
1785#[doc = "General PWM Timer 6 (32-bit Enhanced)"]
1786pub use self::gpt32eh0 as gpt32e6;
1787#[doc = "General PWM Timer 7 (32-bit Enhanced)"]
1788pub struct GPT32E7 {
1789 _marker: PhantomData<*const ()>,
1790}
1791unsafe impl Send for GPT32E7 {}
1792impl GPT32E7 {
1793 #[doc = r"Pointer to the register block"]
1794 pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8700 as *const _;
1795 #[doc = r"Return the pointer to the register block"]
1796 #[inline(always)]
1797 pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
1798 Self::PTR
1799 }
1800}
1801impl Deref for GPT32E7 {
1802 type Target = gpt32eh0::RegisterBlock;
1803 #[inline(always)]
1804 fn deref(&self) -> &Self::Target {
1805 unsafe { &*Self::PTR }
1806 }
1807}
1808impl core::fmt::Debug for GPT32E7 {
1809 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1810 f.debug_struct("GPT32E7").finish()
1811 }
1812}
1813#[doc = "General PWM Timer 7 (32-bit Enhanced)"]
1814pub use self::gpt32eh0 as gpt32e7;
1815#[doc = "Port Output Enable Module for GPT"]
1816pub struct POEG {
1817 _marker: PhantomData<*const ()>,
1818}
1819unsafe impl Send for POEG {}
1820impl POEG {
1821 #[doc = r"Pointer to the register block"]
1822 pub const PTR: *const poeg::RegisterBlock = 0x4004_2000 as *const _;
1823 #[doc = r"Return the pointer to the register block"]
1824 #[inline(always)]
1825 pub const fn ptr() -> *const poeg::RegisterBlock {
1826 Self::PTR
1827 }
1828}
1829impl Deref for POEG {
1830 type Target = poeg::RegisterBlock;
1831 #[inline(always)]
1832 fn deref(&self) -> &Self::Target {
1833 unsafe { &*Self::PTR }
1834 }
1835}
1836impl core::fmt::Debug for POEG {
1837 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1838 f.debug_struct("POEG").finish()
1839 }
1840}
1841#[doc = "Port Output Enable Module for GPT"]
1842pub mod poeg;
1843#[doc = "PWM Delay Generation Circuit"]
1844pub struct GPT_ODC {
1845 _marker: PhantomData<*const ()>,
1846}
1847unsafe impl Send for GPT_ODC {}
1848impl GPT_ODC {
1849 #[doc = r"Pointer to the register block"]
1850 pub const PTR: *const gpt_odc::RegisterBlock = 0x4007_b000 as *const _;
1851 #[doc = r"Return the pointer to the register block"]
1852 #[inline(always)]
1853 pub const fn ptr() -> *const gpt_odc::RegisterBlock {
1854 Self::PTR
1855 }
1856}
1857impl Deref for GPT_ODC {
1858 type Target = gpt_odc::RegisterBlock;
1859 #[inline(always)]
1860 fn deref(&self) -> &Self::Target {
1861 unsafe { &*Self::PTR }
1862 }
1863}
1864impl core::fmt::Debug for GPT_ODC {
1865 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1866 f.debug_struct("GPT_ODC").finish()
1867 }
1868}
1869#[doc = "PWM Delay Generation Circuit"]
1870pub mod gpt_odc;
1871#[doc = "BUS Control"]
1872pub struct BUS {
1873 _marker: PhantomData<*const ()>,
1874}
1875unsafe impl Send for BUS {}
1876impl BUS {
1877 #[doc = r"Pointer to the register block"]
1878 pub const PTR: *const bus::RegisterBlock = 0x4000_3000 as *const _;
1879 #[doc = r"Return the pointer to the register block"]
1880 #[inline(always)]
1881 pub const fn ptr() -> *const bus::RegisterBlock {
1882 Self::PTR
1883 }
1884}
1885impl Deref for BUS {
1886 type Target = bus::RegisterBlock;
1887 #[inline(always)]
1888 fn deref(&self) -> &Self::Target {
1889 unsafe { &*Self::PTR }
1890 }
1891}
1892impl core::fmt::Debug for BUS {
1893 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1894 f.debug_struct("BUS").finish()
1895 }
1896}
1897#[doc = "BUS Control"]
1898pub mod bus;
1899#[doc = "Interrupt Controller"]
1900pub struct ICU {
1901 _marker: PhantomData<*const ()>,
1902}
1903unsafe impl Send for ICU {}
1904impl ICU {
1905 #[doc = r"Pointer to the register block"]
1906 pub const PTR: *const icu::RegisterBlock = 0x4000_6000 as *const _;
1907 #[doc = r"Return the pointer to the register block"]
1908 #[inline(always)]
1909 pub const fn ptr() -> *const icu::RegisterBlock {
1910 Self::PTR
1911 }
1912}
1913impl Deref for ICU {
1914 type Target = icu::RegisterBlock;
1915 #[inline(always)]
1916 fn deref(&self) -> &Self::Target {
1917 unsafe { &*Self::PTR }
1918 }
1919}
1920impl core::fmt::Debug for ICU {
1921 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1922 f.debug_struct("ICU").finish()
1923 }
1924}
1925#[doc = "Interrupt Controller"]
1926pub mod icu;
1927#[doc = "Port 0 Control Registers"]
1928pub struct PORT0 {
1929 _marker: PhantomData<*const ()>,
1930}
1931unsafe impl Send for PORT0 {}
1932impl PORT0 {
1933 #[doc = r"Pointer to the register block"]
1934 pub const PTR: *const port0::RegisterBlock = 0x4004_0000 as *const _;
1935 #[doc = r"Return the pointer to the register block"]
1936 #[inline(always)]
1937 pub const fn ptr() -> *const port0::RegisterBlock {
1938 Self::PTR
1939 }
1940}
1941impl Deref for PORT0 {
1942 type Target = port0::RegisterBlock;
1943 #[inline(always)]
1944 fn deref(&self) -> &Self::Target {
1945 unsafe { &*Self::PTR }
1946 }
1947}
1948impl core::fmt::Debug for PORT0 {
1949 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1950 f.debug_struct("PORT0").finish()
1951 }
1952}
1953#[doc = "Port 0 Control Registers"]
1954pub mod port0;
1955#[doc = "Port 1 Control Registers"]
1956pub struct PORT1 {
1957 _marker: PhantomData<*const ()>,
1958}
1959unsafe impl Send for PORT1 {}
1960impl PORT1 {
1961 #[doc = r"Pointer to the register block"]
1962 pub const PTR: *const port1::RegisterBlock = 0x4004_0020 as *const _;
1963 #[doc = r"Return the pointer to the register block"]
1964 #[inline(always)]
1965 pub const fn ptr() -> *const port1::RegisterBlock {
1966 Self::PTR
1967 }
1968}
1969impl Deref for PORT1 {
1970 type Target = port1::RegisterBlock;
1971 #[inline(always)]
1972 fn deref(&self) -> &Self::Target {
1973 unsafe { &*Self::PTR }
1974 }
1975}
1976impl core::fmt::Debug for PORT1 {
1977 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1978 f.debug_struct("PORT1").finish()
1979 }
1980}
1981#[doc = "Port 1 Control Registers"]
1982pub mod port1;
1983#[doc = "Port 2 Control Registers"]
1984pub struct PORT2 {
1985 _marker: PhantomData<*const ()>,
1986}
1987unsafe impl Send for PORT2 {}
1988impl PORT2 {
1989 #[doc = r"Pointer to the register block"]
1990 pub const PTR: *const port1::RegisterBlock = 0x4004_0040 as *const _;
1991 #[doc = r"Return the pointer to the register block"]
1992 #[inline(always)]
1993 pub const fn ptr() -> *const port1::RegisterBlock {
1994 Self::PTR
1995 }
1996}
1997impl Deref for PORT2 {
1998 type Target = port1::RegisterBlock;
1999 #[inline(always)]
2000 fn deref(&self) -> &Self::Target {
2001 unsafe { &*Self::PTR }
2002 }
2003}
2004impl core::fmt::Debug for PORT2 {
2005 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2006 f.debug_struct("PORT2").finish()
2007 }
2008}
2009#[doc = "Port 2 Control Registers"]
2010pub use self::port1 as port2;
2011#[doc = "Port 3 Control Registers"]
2012pub struct PORT3 {
2013 _marker: PhantomData<*const ()>,
2014}
2015unsafe impl Send for PORT3 {}
2016impl PORT3 {
2017 #[doc = r"Pointer to the register block"]
2018 pub const PTR: *const port1::RegisterBlock = 0x4004_0060 as *const _;
2019 #[doc = r"Return the pointer to the register block"]
2020 #[inline(always)]
2021 pub const fn ptr() -> *const port1::RegisterBlock {
2022 Self::PTR
2023 }
2024}
2025impl Deref for PORT3 {
2026 type Target = port1::RegisterBlock;
2027 #[inline(always)]
2028 fn deref(&self) -> &Self::Target {
2029 unsafe { &*Self::PTR }
2030 }
2031}
2032impl core::fmt::Debug for PORT3 {
2033 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2034 f.debug_struct("PORT3").finish()
2035 }
2036}
2037#[doc = "Port 3 Control Registers"]
2038pub use self::port1 as port3;
2039#[doc = "Port 4 Control Registers"]
2040pub struct PORT4 {
2041 _marker: PhantomData<*const ()>,
2042}
2043unsafe impl Send for PORT4 {}
2044impl PORT4 {
2045 #[doc = r"Pointer to the register block"]
2046 pub const PTR: *const port1::RegisterBlock = 0x4004_0080 as *const _;
2047 #[doc = r"Return the pointer to the register block"]
2048 #[inline(always)]
2049 pub const fn ptr() -> *const port1::RegisterBlock {
2050 Self::PTR
2051 }
2052}
2053impl Deref for PORT4 {
2054 type Target = port1::RegisterBlock;
2055 #[inline(always)]
2056 fn deref(&self) -> &Self::Target {
2057 unsafe { &*Self::PTR }
2058 }
2059}
2060impl core::fmt::Debug for PORT4 {
2061 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2062 f.debug_struct("PORT4").finish()
2063 }
2064}
2065#[doc = "Port 4 Control Registers"]
2066pub use self::port1 as port4;
2067#[doc = "Port 5 Control Registers"]
2068pub struct PORT5 {
2069 _marker: PhantomData<*const ()>,
2070}
2071unsafe impl Send for PORT5 {}
2072impl PORT5 {
2073 #[doc = r"Pointer to the register block"]
2074 pub const PTR: *const port0::RegisterBlock = 0x4004_00a0 as *const _;
2075 #[doc = r"Return the pointer to the register block"]
2076 #[inline(always)]
2077 pub const fn ptr() -> *const port0::RegisterBlock {
2078 Self::PTR
2079 }
2080}
2081impl Deref for PORT5 {
2082 type Target = port0::RegisterBlock;
2083 #[inline(always)]
2084 fn deref(&self) -> &Self::Target {
2085 unsafe { &*Self::PTR }
2086 }
2087}
2088impl core::fmt::Debug for PORT5 {
2089 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2090 f.debug_struct("PORT5").finish()
2091 }
2092}
2093#[doc = "Port 5 Control Registers"]
2094pub use self::port0 as port5;
2095#[doc = "Port 6 Control Registers"]
2096pub struct PORT6 {
2097 _marker: PhantomData<*const ()>,
2098}
2099unsafe impl Send for PORT6 {}
2100impl PORT6 {
2101 #[doc = r"Pointer to the register block"]
2102 pub const PTR: *const port0::RegisterBlock = 0x4004_00c0 as *const _;
2103 #[doc = r"Return the pointer to the register block"]
2104 #[inline(always)]
2105 pub const fn ptr() -> *const port0::RegisterBlock {
2106 Self::PTR
2107 }
2108}
2109impl Deref for PORT6 {
2110 type Target = port0::RegisterBlock;
2111 #[inline(always)]
2112 fn deref(&self) -> &Self::Target {
2113 unsafe { &*Self::PTR }
2114 }
2115}
2116impl core::fmt::Debug for PORT6 {
2117 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2118 f.debug_struct("PORT6").finish()
2119 }
2120}
2121#[doc = "Port 6 Control Registers"]
2122pub use self::port0 as port6;
2123#[doc = "Port 7 Control Registers"]
2124pub struct PORT7 {
2125 _marker: PhantomData<*const ()>,
2126}
2127unsafe impl Send for PORT7 {}
2128impl PORT7 {
2129 #[doc = r"Pointer to the register block"]
2130 pub const PTR: *const port0::RegisterBlock = 0x4004_00e0 as *const _;
2131 #[doc = r"Return the pointer to the register block"]
2132 #[inline(always)]
2133 pub const fn ptr() -> *const port0::RegisterBlock {
2134 Self::PTR
2135 }
2136}
2137impl Deref for PORT7 {
2138 type Target = port0::RegisterBlock;
2139 #[inline(always)]
2140 fn deref(&self) -> &Self::Target {
2141 unsafe { &*Self::PTR }
2142 }
2143}
2144impl core::fmt::Debug for PORT7 {
2145 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2146 f.debug_struct("PORT7").finish()
2147 }
2148}
2149#[doc = "Port 7 Control Registers"]
2150pub use self::port0 as port7;
2151#[doc = "Pmn Pin Function Control Register"]
2152pub struct PFS {
2153 _marker: PhantomData<*const ()>,
2154}
2155unsafe impl Send for PFS {}
2156impl PFS {
2157 #[doc = r"Pointer to the register block"]
2158 pub const PTR: *const pfs::RegisterBlock = 0x4004_0800 as *const _;
2159 #[doc = r"Return the pointer to the register block"]
2160 #[inline(always)]
2161 pub const fn ptr() -> *const pfs::RegisterBlock {
2162 Self::PTR
2163 }
2164}
2165impl Deref for PFS {
2166 type Target = pfs::RegisterBlock;
2167 #[inline(always)]
2168 fn deref(&self) -> &Self::Target {
2169 unsafe { &*Self::PTR }
2170 }
2171}
2172impl core::fmt::Debug for PFS {
2173 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2174 f.debug_struct("PFS").finish()
2175 }
2176}
2177#[doc = "Pmn Pin Function Control Register"]
2178pub mod pfs;
2179#[doc = "Miscellaneous Port Control Register"]
2180pub struct PMISC {
2181 _marker: PhantomData<*const ()>,
2182}
2183unsafe impl Send for PMISC {}
2184impl PMISC {
2185 #[doc = r"Pointer to the register block"]
2186 pub const PTR: *const pmisc::RegisterBlock = 0x4004_0d00 as *const _;
2187 #[doc = r"Return the pointer to the register block"]
2188 #[inline(always)]
2189 pub const fn ptr() -> *const pmisc::RegisterBlock {
2190 Self::PTR
2191 }
2192}
2193impl Deref for PMISC {
2194 type Target = pmisc::RegisterBlock;
2195 #[inline(always)]
2196 fn deref(&self) -> &Self::Target {
2197 unsafe { &*Self::PTR }
2198 }
2199}
2200impl core::fmt::Debug for PMISC {
2201 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2202 f.debug_struct("PMISC").finish()
2203 }
2204}
2205#[doc = "Miscellaneous Port Control Register"]
2206pub mod pmisc;
2207#[doc = "Inter-Integrated Circuit 0"]
2208pub struct IIC0 {
2209 _marker: PhantomData<*const ()>,
2210}
2211unsafe impl Send for IIC0 {}
2212impl IIC0 {
2213 #[doc = r"Pointer to the register block"]
2214 pub const PTR: *const iic0::RegisterBlock = 0x4005_3000 as *const _;
2215 #[doc = r"Return the pointer to the register block"]
2216 #[inline(always)]
2217 pub const fn ptr() -> *const iic0::RegisterBlock {
2218 Self::PTR
2219 }
2220}
2221impl Deref for IIC0 {
2222 type Target = iic0::RegisterBlock;
2223 #[inline(always)]
2224 fn deref(&self) -> &Self::Target {
2225 unsafe { &*Self::PTR }
2226 }
2227}
2228impl core::fmt::Debug for IIC0 {
2229 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2230 f.debug_struct("IIC0").finish()
2231 }
2232}
2233#[doc = "Inter-Integrated Circuit 0"]
2234pub mod iic0;
2235#[doc = "Inter-Integrated Circuit 1"]
2236pub struct IIC1 {
2237 _marker: PhantomData<*const ()>,
2238}
2239unsafe impl Send for IIC1 {}
2240impl IIC1 {
2241 #[doc = r"Pointer to the register block"]
2242 pub const PTR: *const iic1::RegisterBlock = 0x4005_3100 as *const _;
2243 #[doc = r"Return the pointer to the register block"]
2244 #[inline(always)]
2245 pub const fn ptr() -> *const iic1::RegisterBlock {
2246 Self::PTR
2247 }
2248}
2249impl Deref for IIC1 {
2250 type Target = iic1::RegisterBlock;
2251 #[inline(always)]
2252 fn deref(&self) -> &Self::Target {
2253 unsafe { &*Self::PTR }
2254 }
2255}
2256impl core::fmt::Debug for IIC1 {
2257 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2258 f.debug_struct("IIC1").finish()
2259 }
2260}
2261#[doc = "Inter-Integrated Circuit 1"]
2262pub mod iic1;
2263#[doc = "Serial Communication Interface 0"]
2264pub struct SCI0 {
2265 _marker: PhantomData<*const ()>,
2266}
2267unsafe impl Send for SCI0 {}
2268impl SCI0 {
2269 #[doc = r"Pointer to the register block"]
2270 pub const PTR: *const sci0::RegisterBlock = 0x4007_0000 as *const _;
2271 #[doc = r"Return the pointer to the register block"]
2272 #[inline(always)]
2273 pub const fn ptr() -> *const sci0::RegisterBlock {
2274 Self::PTR
2275 }
2276}
2277impl Deref for SCI0 {
2278 type Target = sci0::RegisterBlock;
2279 #[inline(always)]
2280 fn deref(&self) -> &Self::Target {
2281 unsafe { &*Self::PTR }
2282 }
2283}
2284impl core::fmt::Debug for SCI0 {
2285 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2286 f.debug_struct("SCI0").finish()
2287 }
2288}
2289#[doc = "Serial Communication Interface 0"]
2290pub mod sci0;
2291#[doc = "Serial Communication Interface 1"]
2292pub struct SCI1 {
2293 _marker: PhantomData<*const ()>,
2294}
2295unsafe impl Send for SCI1 {}
2296impl SCI1 {
2297 #[doc = r"Pointer to the register block"]
2298 pub const PTR: *const sci0::RegisterBlock = 0x4007_0020 as *const _;
2299 #[doc = r"Return the pointer to the register block"]
2300 #[inline(always)]
2301 pub const fn ptr() -> *const sci0::RegisterBlock {
2302 Self::PTR
2303 }
2304}
2305impl Deref for SCI1 {
2306 type Target = sci0::RegisterBlock;
2307 #[inline(always)]
2308 fn deref(&self) -> &Self::Target {
2309 unsafe { &*Self::PTR }
2310 }
2311}
2312impl core::fmt::Debug for SCI1 {
2313 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2314 f.debug_struct("SCI1").finish()
2315 }
2316}
2317#[doc = "Serial Communication Interface 1"]
2318pub use self::sci0 as sci1;
2319#[doc = "Serial Communication Interface 2"]
2320pub struct SCI2 {
2321 _marker: PhantomData<*const ()>,
2322}
2323unsafe impl Send for SCI2 {}
2324impl SCI2 {
2325 #[doc = r"Pointer to the register block"]
2326 pub const PTR: *const sci0::RegisterBlock = 0x4007_0040 as *const _;
2327 #[doc = r"Return the pointer to the register block"]
2328 #[inline(always)]
2329 pub const fn ptr() -> *const sci0::RegisterBlock {
2330 Self::PTR
2331 }
2332}
2333impl Deref for SCI2 {
2334 type Target = sci0::RegisterBlock;
2335 #[inline(always)]
2336 fn deref(&self) -> &Self::Target {
2337 unsafe { &*Self::PTR }
2338 }
2339}
2340impl core::fmt::Debug for SCI2 {
2341 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2342 f.debug_struct("SCI2").finish()
2343 }
2344}
2345#[doc = "Serial Communication Interface 2"]
2346pub use self::sci0 as sci2;
2347#[doc = "Serial Communication Interface 3"]
2348pub struct SCI3 {
2349 _marker: PhantomData<*const ()>,
2350}
2351unsafe impl Send for SCI3 {}
2352impl SCI3 {
2353 #[doc = r"Pointer to the register block"]
2354 pub const PTR: *const sci0::RegisterBlock = 0x4007_0060 as *const _;
2355 #[doc = r"Return the pointer to the register block"]
2356 #[inline(always)]
2357 pub const fn ptr() -> *const sci0::RegisterBlock {
2358 Self::PTR
2359 }
2360}
2361impl Deref for SCI3 {
2362 type Target = sci0::RegisterBlock;
2363 #[inline(always)]
2364 fn deref(&self) -> &Self::Target {
2365 unsafe { &*Self::PTR }
2366 }
2367}
2368impl core::fmt::Debug for SCI3 {
2369 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2370 f.debug_struct("SCI3").finish()
2371 }
2372}
2373#[doc = "Serial Communication Interface 3"]
2374pub use self::sci0 as sci3;
2375#[doc = "Serial Communication Interface 4"]
2376pub struct SCI4 {
2377 _marker: PhantomData<*const ()>,
2378}
2379unsafe impl Send for SCI4 {}
2380impl SCI4 {
2381 #[doc = r"Pointer to the register block"]
2382 pub const PTR: *const sci0::RegisterBlock = 0x4007_0080 as *const _;
2383 #[doc = r"Return the pointer to the register block"]
2384 #[inline(always)]
2385 pub const fn ptr() -> *const sci0::RegisterBlock {
2386 Self::PTR
2387 }
2388}
2389impl Deref for SCI4 {
2390 type Target = sci0::RegisterBlock;
2391 #[inline(always)]
2392 fn deref(&self) -> &Self::Target {
2393 unsafe { &*Self::PTR }
2394 }
2395}
2396impl core::fmt::Debug for SCI4 {
2397 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2398 f.debug_struct("SCI4").finish()
2399 }
2400}
2401#[doc = "Serial Communication Interface 4"]
2402pub use self::sci0 as sci4;
2403#[doc = "Serial Communication Interface 8"]
2404pub struct SCI8 {
2405 _marker: PhantomData<*const ()>,
2406}
2407unsafe impl Send for SCI8 {}
2408impl SCI8 {
2409 #[doc = r"Pointer to the register block"]
2410 pub const PTR: *const sci0::RegisterBlock = 0x4007_0100 as *const _;
2411 #[doc = r"Return the pointer to the register block"]
2412 #[inline(always)]
2413 pub const fn ptr() -> *const sci0::RegisterBlock {
2414 Self::PTR
2415 }
2416}
2417impl Deref for SCI8 {
2418 type Target = sci0::RegisterBlock;
2419 #[inline(always)]
2420 fn deref(&self) -> &Self::Target {
2421 unsafe { &*Self::PTR }
2422 }
2423}
2424impl core::fmt::Debug for SCI8 {
2425 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2426 f.debug_struct("SCI8").finish()
2427 }
2428}
2429#[doc = "Serial Communication Interface 8"]
2430pub use self::sci0 as sci8;
2431#[doc = "Serial Communication Interface 9"]
2432pub struct SCI9 {
2433 _marker: PhantomData<*const ()>,
2434}
2435unsafe impl Send for SCI9 {}
2436impl SCI9 {
2437 #[doc = r"Pointer to the register block"]
2438 pub const PTR: *const sci0::RegisterBlock = 0x4007_0120 as *const _;
2439 #[doc = r"Return the pointer to the register block"]
2440 #[inline(always)]
2441 pub const fn ptr() -> *const sci0::RegisterBlock {
2442 Self::PTR
2443 }
2444}
2445impl Deref for SCI9 {
2446 type Target = sci0::RegisterBlock;
2447 #[inline(always)]
2448 fn deref(&self) -> &Self::Target {
2449 unsafe { &*Self::PTR }
2450 }
2451}
2452impl core::fmt::Debug for SCI9 {
2453 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2454 f.debug_struct("SCI9").finish()
2455 }
2456}
2457#[doc = "Serial Communication Interface 9"]
2458pub use self::sci0 as sci9;
2459#[doc = "General PWM Timer 8"]
2460pub struct GPT328 {
2461 _marker: PhantomData<*const ()>,
2462}
2463unsafe impl Send for GPT328 {}
2464impl GPT328 {
2465 #[doc = r"Pointer to the register block"]
2466 pub const PTR: *const gpt328::RegisterBlock = 0x4007_8800 as *const _;
2467 #[doc = r"Return the pointer to the register block"]
2468 #[inline(always)]
2469 pub const fn ptr() -> *const gpt328::RegisterBlock {
2470 Self::PTR
2471 }
2472}
2473impl Deref for GPT328 {
2474 type Target = gpt328::RegisterBlock;
2475 #[inline(always)]
2476 fn deref(&self) -> &Self::Target {
2477 unsafe { &*Self::PTR }
2478 }
2479}
2480impl core::fmt::Debug for GPT328 {
2481 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2482 f.debug_struct("GPT328").finish()
2483 }
2484}
2485#[doc = "General PWM Timer 8"]
2486pub mod gpt328;
2487#[doc = "General PWM Timer 9"]
2488pub struct GPT329 {
2489 _marker: PhantomData<*const ()>,
2490}
2491unsafe impl Send for GPT329 {}
2492impl GPT329 {
2493 #[doc = r"Pointer to the register block"]
2494 pub const PTR: *const gpt328::RegisterBlock = 0x4007_8900 as *const _;
2495 #[doc = r"Return the pointer to the register block"]
2496 #[inline(always)]
2497 pub const fn ptr() -> *const gpt328::RegisterBlock {
2498 Self::PTR
2499 }
2500}
2501impl Deref for GPT329 {
2502 type Target = gpt328::RegisterBlock;
2503 #[inline(always)]
2504 fn deref(&self) -> &Self::Target {
2505 unsafe { &*Self::PTR }
2506 }
2507}
2508impl core::fmt::Debug for GPT329 {
2509 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2510 f.debug_struct("GPT329").finish()
2511 }
2512}
2513#[doc = "General PWM Timer 9"]
2514pub use self::gpt328 as gpt329;
2515#[doc = "General PWM Timer 10"]
2516pub struct GPT3210 {
2517 _marker: PhantomData<*const ()>,
2518}
2519unsafe impl Send for GPT3210 {}
2520impl GPT3210 {
2521 #[doc = r"Pointer to the register block"]
2522 pub const PTR: *const gpt328::RegisterBlock = 0x4007_8a00 as *const _;
2523 #[doc = r"Return the pointer to the register block"]
2524 #[inline(always)]
2525 pub const fn ptr() -> *const gpt328::RegisterBlock {
2526 Self::PTR
2527 }
2528}
2529impl Deref for GPT3210 {
2530 type Target = gpt328::RegisterBlock;
2531 #[inline(always)]
2532 fn deref(&self) -> &Self::Target {
2533 unsafe { &*Self::PTR }
2534 }
2535}
2536impl core::fmt::Debug for GPT3210 {
2537 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2538 f.debug_struct("GPT3210").finish()
2539 }
2540}
2541#[doc = "General PWM Timer 10"]
2542pub use self::gpt328 as gpt3210;
2543#[doc = "General PWM Timer 11"]
2544pub struct GPT3211 {
2545 _marker: PhantomData<*const ()>,
2546}
2547unsafe impl Send for GPT3211 {}
2548impl GPT3211 {
2549 #[doc = r"Pointer to the register block"]
2550 pub const PTR: *const gpt328::RegisterBlock = 0x4007_8b00 as *const _;
2551 #[doc = r"Return the pointer to the register block"]
2552 #[inline(always)]
2553 pub const fn ptr() -> *const gpt328::RegisterBlock {
2554 Self::PTR
2555 }
2556}
2557impl Deref for GPT3211 {
2558 type Target = gpt328::RegisterBlock;
2559 #[inline(always)]
2560 fn deref(&self) -> &Self::Target {
2561 unsafe { &*Self::PTR }
2562 }
2563}
2564impl core::fmt::Debug for GPT3211 {
2565 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2566 f.debug_struct("GPT3211").finish()
2567 }
2568}
2569#[doc = "General PWM Timer 11"]
2570pub use self::gpt328 as gpt3211;
2571#[doc = "General PWM Timer 12"]
2572pub struct GPT3212 {
2573 _marker: PhantomData<*const ()>,
2574}
2575unsafe impl Send for GPT3212 {}
2576impl GPT3212 {
2577 #[doc = r"Pointer to the register block"]
2578 pub const PTR: *const gpt328::RegisterBlock = 0x4007_8c00 as *const _;
2579 #[doc = r"Return the pointer to the register block"]
2580 #[inline(always)]
2581 pub const fn ptr() -> *const gpt328::RegisterBlock {
2582 Self::PTR
2583 }
2584}
2585impl Deref for GPT3212 {
2586 type Target = gpt328::RegisterBlock;
2587 #[inline(always)]
2588 fn deref(&self) -> &Self::Target {
2589 unsafe { &*Self::PTR }
2590 }
2591}
2592impl core::fmt::Debug for GPT3212 {
2593 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2594 f.debug_struct("GPT3212").finish()
2595 }
2596}
2597#[doc = "General PWM Timer 12"]
2598pub use self::gpt328 as gpt3212;
2599#[doc = "12bit A/D Converter 0"]
2600pub struct ADC120 {
2601 _marker: PhantomData<*const ()>,
2602}
2603unsafe impl Send for ADC120 {}
2604impl ADC120 {
2605 #[doc = r"Pointer to the register block"]
2606 pub const PTR: *const adc120::RegisterBlock = 0x4005_c000 as *const _;
2607 #[doc = r"Return the pointer to the register block"]
2608 #[inline(always)]
2609 pub const fn ptr() -> *const adc120::RegisterBlock {
2610 Self::PTR
2611 }
2612}
2613impl Deref for ADC120 {
2614 type Target = adc120::RegisterBlock;
2615 #[inline(always)]
2616 fn deref(&self) -> &Self::Target {
2617 unsafe { &*Self::PTR }
2618 }
2619}
2620impl core::fmt::Debug for ADC120 {
2621 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2622 f.debug_struct("ADC120").finish()
2623 }
2624}
2625#[doc = "12bit A/D Converter 0"]
2626pub mod adc120;
2627#[doc = "12bit A/D Converter 1"]
2628pub struct ADC121 {
2629 _marker: PhantomData<*const ()>,
2630}
2631unsafe impl Send for ADC121 {}
2632impl ADC121 {
2633 #[doc = r"Pointer to the register block"]
2634 pub const PTR: *const adc121::RegisterBlock = 0x4005_c200 as *const _;
2635 #[doc = r"Return the pointer to the register block"]
2636 #[inline(always)]
2637 pub const fn ptr() -> *const adc121::RegisterBlock {
2638 Self::PTR
2639 }
2640}
2641impl Deref for ADC121 {
2642 type Target = adc121::RegisterBlock;
2643 #[inline(always)]
2644 fn deref(&self) -> &Self::Target {
2645 unsafe { &*Self::PTR }
2646 }
2647}
2648impl core::fmt::Debug for ADC121 {
2649 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2650 f.debug_struct("ADC121").finish()
2651 }
2652}
2653#[doc = "12bit A/D Converter 1"]
2654pub mod adc121;
2655#[doc = "Bus Master MPU"]
2656pub struct MMPU {
2657 _marker: PhantomData<*const ()>,
2658}
2659unsafe impl Send for MMPU {}
2660impl MMPU {
2661 #[doc = r"Pointer to the register block"]
2662 pub const PTR: *const mmpu::RegisterBlock = 0x4000_0000 as *const _;
2663 #[doc = r"Return the pointer to the register block"]
2664 #[inline(always)]
2665 pub const fn ptr() -> *const mmpu::RegisterBlock {
2666 Self::PTR
2667 }
2668}
2669impl Deref for MMPU {
2670 type Target = mmpu::RegisterBlock;
2671 #[inline(always)]
2672 fn deref(&self) -> &Self::Target {
2673 unsafe { &*Self::PTR }
2674 }
2675}
2676impl core::fmt::Debug for MMPU {
2677 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2678 f.debug_struct("MMPU").finish()
2679 }
2680}
2681#[doc = "Bus Master MPU"]
2682pub mod mmpu;
2683#[doc = "Bus Slave MPU"]
2684pub struct SMPU {
2685 _marker: PhantomData<*const ()>,
2686}
2687unsafe impl Send for SMPU {}
2688impl SMPU {
2689 #[doc = r"Pointer to the register block"]
2690 pub const PTR: *const smpu::RegisterBlock = 0x4000_0c00 as *const _;
2691 #[doc = r"Return the pointer to the register block"]
2692 #[inline(always)]
2693 pub const fn ptr() -> *const smpu::RegisterBlock {
2694 Self::PTR
2695 }
2696}
2697impl Deref for SMPU {
2698 type Target = smpu::RegisterBlock;
2699 #[inline(always)]
2700 fn deref(&self) -> &Self::Target {
2701 unsafe { &*Self::PTR }
2702 }
2703}
2704impl core::fmt::Debug for SMPU {
2705 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2706 f.debug_struct("SMPU").finish()
2707 }
2708}
2709#[doc = "Bus Slave MPU"]
2710pub mod smpu;
2711#[doc = "CPU Stack Pointer Monitor"]
2712pub struct SPMON {
2713 _marker: PhantomData<*const ()>,
2714}
2715unsafe impl Send for SPMON {}
2716impl SPMON {
2717 #[doc = r"Pointer to the register block"]
2718 pub const PTR: *const spmon::RegisterBlock = 0x4000_0d00 as *const _;
2719 #[doc = r"Return the pointer to the register block"]
2720 #[inline(always)]
2721 pub const fn ptr() -> *const spmon::RegisterBlock {
2722 Self::PTR
2723 }
2724}
2725impl Deref for SPMON {
2726 type Target = spmon::RegisterBlock;
2727 #[inline(always)]
2728 fn deref(&self) -> &Self::Target {
2729 unsafe { &*Self::PTR }
2730 }
2731}
2732impl core::fmt::Debug for SPMON {
2733 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2734 f.debug_struct("SPMON").finish()
2735 }
2736}
2737#[doc = "CPU Stack Pointer Monitor"]
2738pub mod spmon;
2739#[doc = "Temperature Sensor Data"]
2740pub struct TSD {
2741 _marker: PhantomData<*const ()>,
2742}
2743unsafe impl Send for TSD {}
2744impl TSD {
2745 #[doc = r"Pointer to the register block"]
2746 pub const PTR: *const tsd::RegisterBlock = 0x407f_b17c as *const _;
2747 #[doc = r"Return the pointer to the register block"]
2748 #[inline(always)]
2749 pub const fn ptr() -> *const tsd::RegisterBlock {
2750 Self::PTR
2751 }
2752}
2753impl Deref for TSD {
2754 type Target = tsd::RegisterBlock;
2755 #[inline(always)]
2756 fn deref(&self) -> &Self::Target {
2757 unsafe { &*Self::PTR }
2758 }
2759}
2760impl core::fmt::Debug for TSD {
2761 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2762 f.debug_struct("TSD").finish()
2763 }
2764}
2765#[doc = "Temperature Sensor Data"]
2766pub mod tsd;
2767#[no_mangle]
2768static mut DEVICE_PERIPHERALS: bool = false;
2769#[doc = r" All the peripherals."]
2770#[allow(non_snake_case)]
2771pub struct Peripherals {
2772 #[doc = "DAC12"]
2773 pub DAC12: DAC12,
2774 #[doc = "ACMPHS0"]
2775 pub ACMPHS0: ACMPHS0,
2776 #[doc = "ACMPHS1"]
2777 pub ACMPHS1: ACMPHS1,
2778 #[doc = "ACMPHS2"]
2779 pub ACMPHS2: ACMPHS2,
2780 #[doc = "ACMPHS3"]
2781 pub ACMPHS3: ACMPHS3,
2782 #[doc = "ACMPHS4"]
2783 pub ACMPHS4: ACMPHS4,
2784 #[doc = "ACMPHS5"]
2785 pub ACMPHS5: ACMPHS5,
2786 #[doc = "TSN"]
2787 pub TSN: TSN,
2788 #[doc = "CRC"]
2789 pub CRC: CRC,
2790 #[doc = "ELC"]
2791 pub ELC: ELC,
2792 #[doc = "CAC"]
2793 pub CAC: CAC,
2794 #[doc = "DOC"]
2795 pub DOC: DOC,
2796 #[doc = "IWDT"]
2797 pub IWDT: IWDT,
2798 #[doc = "KINT"]
2799 pub KINT: KINT,
2800 #[doc = "WDT"]
2801 pub WDT: WDT,
2802 #[doc = "CAN0"]
2803 pub CAN0: CAN0,
2804 #[doc = "CAN1"]
2805 pub CAN1: CAN1,
2806 #[doc = "IRDA"]
2807 pub IRDA: IRDA,
2808 #[doc = "SPI0"]
2809 pub SPI0: SPI0,
2810 #[doc = "SPI1"]
2811 pub SPI1: SPI1,
2812 #[doc = "SRCRAM"]
2813 pub SRCRAM: SRCRAM,
2814 #[doc = "SRC"]
2815 pub SRC: SRC,
2816 #[doc = "DBG"]
2817 pub DBG: DBG,
2818 #[doc = "DMAC0"]
2819 pub DMAC0: DMAC0,
2820 #[doc = "DMAC1"]
2821 pub DMAC1: DMAC1,
2822 #[doc = "DMAC2"]
2823 pub DMAC2: DMAC2,
2824 #[doc = "DMAC3"]
2825 pub DMAC3: DMAC3,
2826 #[doc = "DMAC4"]
2827 pub DMAC4: DMAC4,
2828 #[doc = "DMAC5"]
2829 pub DMAC5: DMAC5,
2830 #[doc = "DMAC6"]
2831 pub DMAC6: DMAC6,
2832 #[doc = "DMAC7"]
2833 pub DMAC7: DMAC7,
2834 #[doc = "DMA"]
2835 pub DMA: DMA,
2836 #[doc = "DTC"]
2837 pub DTC: DTC,
2838 #[doc = "MMF"]
2839 pub MMF: MMF,
2840 #[doc = "SRAM"]
2841 pub SRAM: SRAM,
2842 #[doc = "FCACHE"]
2843 pub FCACHE: FCACHE,
2844 #[doc = "SYSTEM"]
2845 pub SYSTEM: SYSTEM,
2846 #[doc = "MSTP"]
2847 pub MSTP: MSTP,
2848 #[doc = "AGT0"]
2849 pub AGT0: AGT0,
2850 #[doc = "AGT1"]
2851 pub AGT1: AGT1,
2852 #[doc = "GPT_OPS"]
2853 pub GPT_OPS: GPT_OPS,
2854 #[doc = "GPT32EH0"]
2855 pub GPT32EH0: GPT32EH0,
2856 #[doc = "GPT32EH1"]
2857 pub GPT32EH1: GPT32EH1,
2858 #[doc = "GPT32EH2"]
2859 pub GPT32EH2: GPT32EH2,
2860 #[doc = "GPT32EH3"]
2861 pub GPT32EH3: GPT32EH3,
2862 #[doc = "GPT32E4"]
2863 pub GPT32E4: GPT32E4,
2864 #[doc = "GPT32E5"]
2865 pub GPT32E5: GPT32E5,
2866 #[doc = "GPT32E6"]
2867 pub GPT32E6: GPT32E6,
2868 #[doc = "GPT32E7"]
2869 pub GPT32E7: GPT32E7,
2870 #[doc = "POEG"]
2871 pub POEG: POEG,
2872 #[doc = "GPT_ODC"]
2873 pub GPT_ODC: GPT_ODC,
2874 #[doc = "BUS"]
2875 pub BUS: BUS,
2876 #[doc = "ICU"]
2877 pub ICU: ICU,
2878 #[doc = "PORT0"]
2879 pub PORT0: PORT0,
2880 #[doc = "PORT1"]
2881 pub PORT1: PORT1,
2882 #[doc = "PORT2"]
2883 pub PORT2: PORT2,
2884 #[doc = "PORT3"]
2885 pub PORT3: PORT3,
2886 #[doc = "PORT4"]
2887 pub PORT4: PORT4,
2888 #[doc = "PORT5"]
2889 pub PORT5: PORT5,
2890 #[doc = "PORT6"]
2891 pub PORT6: PORT6,
2892 #[doc = "PORT7"]
2893 pub PORT7: PORT7,
2894 #[doc = "PFS"]
2895 pub PFS: PFS,
2896 #[doc = "PMISC"]
2897 pub PMISC: PMISC,
2898 #[doc = "IIC0"]
2899 pub IIC0: IIC0,
2900 #[doc = "IIC1"]
2901 pub IIC1: IIC1,
2902 #[doc = "SCI0"]
2903 pub SCI0: SCI0,
2904 #[doc = "SCI1"]
2905 pub SCI1: SCI1,
2906 #[doc = "SCI2"]
2907 pub SCI2: SCI2,
2908 #[doc = "SCI3"]
2909 pub SCI3: SCI3,
2910 #[doc = "SCI4"]
2911 pub SCI4: SCI4,
2912 #[doc = "SCI8"]
2913 pub SCI8: SCI8,
2914 #[doc = "SCI9"]
2915 pub SCI9: SCI9,
2916 #[doc = "GPT328"]
2917 pub GPT328: GPT328,
2918 #[doc = "GPT329"]
2919 pub GPT329: GPT329,
2920 #[doc = "GPT3210"]
2921 pub GPT3210: GPT3210,
2922 #[doc = "GPT3211"]
2923 pub GPT3211: GPT3211,
2924 #[doc = "GPT3212"]
2925 pub GPT3212: GPT3212,
2926 #[doc = "ADC120"]
2927 pub ADC120: ADC120,
2928 #[doc = "ADC121"]
2929 pub ADC121: ADC121,
2930 #[doc = "MMPU"]
2931 pub MMPU: MMPU,
2932 #[doc = "SMPU"]
2933 pub SMPU: SMPU,
2934 #[doc = "SPMON"]
2935 pub SPMON: SPMON,
2936 #[doc = "TSD"]
2937 pub TSD: TSD,
2938}
2939impl Peripherals {
2940 #[doc = r" Returns all the peripherals *once*."]
2941 #[cfg(feature = "critical-section")]
2942 #[inline]
2943 pub fn take() -> Option<Self> {
2944 critical_section::with(|_| {
2945 if unsafe { DEVICE_PERIPHERALS } {
2946 return None;
2947 }
2948 Some(unsafe { Peripherals::steal() })
2949 })
2950 }
2951 #[doc = r" Unchecked version of `Peripherals::take`."]
2952 #[doc = r""]
2953 #[doc = r" # Safety"]
2954 #[doc = r""]
2955 #[doc = r" Each of the returned peripherals must be used at most once."]
2956 #[inline]
2957 pub unsafe fn steal() -> Self {
2958 DEVICE_PERIPHERALS = true;
2959 Peripherals {
2960 DAC12: DAC12 {
2961 _marker: PhantomData,
2962 },
2963 ACMPHS0: ACMPHS0 {
2964 _marker: PhantomData,
2965 },
2966 ACMPHS1: ACMPHS1 {
2967 _marker: PhantomData,
2968 },
2969 ACMPHS2: ACMPHS2 {
2970 _marker: PhantomData,
2971 },
2972 ACMPHS3: ACMPHS3 {
2973 _marker: PhantomData,
2974 },
2975 ACMPHS4: ACMPHS4 {
2976 _marker: PhantomData,
2977 },
2978 ACMPHS5: ACMPHS5 {
2979 _marker: PhantomData,
2980 },
2981 TSN: TSN {
2982 _marker: PhantomData,
2983 },
2984 CRC: CRC {
2985 _marker: PhantomData,
2986 },
2987 ELC: ELC {
2988 _marker: PhantomData,
2989 },
2990 CAC: CAC {
2991 _marker: PhantomData,
2992 },
2993 DOC: DOC {
2994 _marker: PhantomData,
2995 },
2996 IWDT: IWDT {
2997 _marker: PhantomData,
2998 },
2999 KINT: KINT {
3000 _marker: PhantomData,
3001 },
3002 WDT: WDT {
3003 _marker: PhantomData,
3004 },
3005 CAN0: CAN0 {
3006 _marker: PhantomData,
3007 },
3008 CAN1: CAN1 {
3009 _marker: PhantomData,
3010 },
3011 IRDA: IRDA {
3012 _marker: PhantomData,
3013 },
3014 SPI0: SPI0 {
3015 _marker: PhantomData,
3016 },
3017 SPI1: SPI1 {
3018 _marker: PhantomData,
3019 },
3020 SRCRAM: SRCRAM {
3021 _marker: PhantomData,
3022 },
3023 SRC: SRC {
3024 _marker: PhantomData,
3025 },
3026 DBG: DBG {
3027 _marker: PhantomData,
3028 },
3029 DMAC0: DMAC0 {
3030 _marker: PhantomData,
3031 },
3032 DMAC1: DMAC1 {
3033 _marker: PhantomData,
3034 },
3035 DMAC2: DMAC2 {
3036 _marker: PhantomData,
3037 },
3038 DMAC3: DMAC3 {
3039 _marker: PhantomData,
3040 },
3041 DMAC4: DMAC4 {
3042 _marker: PhantomData,
3043 },
3044 DMAC5: DMAC5 {
3045 _marker: PhantomData,
3046 },
3047 DMAC6: DMAC6 {
3048 _marker: PhantomData,
3049 },
3050 DMAC7: DMAC7 {
3051 _marker: PhantomData,
3052 },
3053 DMA: DMA {
3054 _marker: PhantomData,
3055 },
3056 DTC: DTC {
3057 _marker: PhantomData,
3058 },
3059 MMF: MMF {
3060 _marker: PhantomData,
3061 },
3062 SRAM: SRAM {
3063 _marker: PhantomData,
3064 },
3065 FCACHE: FCACHE {
3066 _marker: PhantomData,
3067 },
3068 SYSTEM: SYSTEM {
3069 _marker: PhantomData,
3070 },
3071 MSTP: MSTP {
3072 _marker: PhantomData,
3073 },
3074 AGT0: AGT0 {
3075 _marker: PhantomData,
3076 },
3077 AGT1: AGT1 {
3078 _marker: PhantomData,
3079 },
3080 GPT_OPS: GPT_OPS {
3081 _marker: PhantomData,
3082 },
3083 GPT32EH0: GPT32EH0 {
3084 _marker: PhantomData,
3085 },
3086 GPT32EH1: GPT32EH1 {
3087 _marker: PhantomData,
3088 },
3089 GPT32EH2: GPT32EH2 {
3090 _marker: PhantomData,
3091 },
3092 GPT32EH3: GPT32EH3 {
3093 _marker: PhantomData,
3094 },
3095 GPT32E4: GPT32E4 {
3096 _marker: PhantomData,
3097 },
3098 GPT32E5: GPT32E5 {
3099 _marker: PhantomData,
3100 },
3101 GPT32E6: GPT32E6 {
3102 _marker: PhantomData,
3103 },
3104 GPT32E7: GPT32E7 {
3105 _marker: PhantomData,
3106 },
3107 POEG: POEG {
3108 _marker: PhantomData,
3109 },
3110 GPT_ODC: GPT_ODC {
3111 _marker: PhantomData,
3112 },
3113 BUS: BUS {
3114 _marker: PhantomData,
3115 },
3116 ICU: ICU {
3117 _marker: PhantomData,
3118 },
3119 PORT0: PORT0 {
3120 _marker: PhantomData,
3121 },
3122 PORT1: PORT1 {
3123 _marker: PhantomData,
3124 },
3125 PORT2: PORT2 {
3126 _marker: PhantomData,
3127 },
3128 PORT3: PORT3 {
3129 _marker: PhantomData,
3130 },
3131 PORT4: PORT4 {
3132 _marker: PhantomData,
3133 },
3134 PORT5: PORT5 {
3135 _marker: PhantomData,
3136 },
3137 PORT6: PORT6 {
3138 _marker: PhantomData,
3139 },
3140 PORT7: PORT7 {
3141 _marker: PhantomData,
3142 },
3143 PFS: PFS {
3144 _marker: PhantomData,
3145 },
3146 PMISC: PMISC {
3147 _marker: PhantomData,
3148 },
3149 IIC0: IIC0 {
3150 _marker: PhantomData,
3151 },
3152 IIC1: IIC1 {
3153 _marker: PhantomData,
3154 },
3155 SCI0: SCI0 {
3156 _marker: PhantomData,
3157 },
3158 SCI1: SCI1 {
3159 _marker: PhantomData,
3160 },
3161 SCI2: SCI2 {
3162 _marker: PhantomData,
3163 },
3164 SCI3: SCI3 {
3165 _marker: PhantomData,
3166 },
3167 SCI4: SCI4 {
3168 _marker: PhantomData,
3169 },
3170 SCI8: SCI8 {
3171 _marker: PhantomData,
3172 },
3173 SCI9: SCI9 {
3174 _marker: PhantomData,
3175 },
3176 GPT328: GPT328 {
3177 _marker: PhantomData,
3178 },
3179 GPT329: GPT329 {
3180 _marker: PhantomData,
3181 },
3182 GPT3210: GPT3210 {
3183 _marker: PhantomData,
3184 },
3185 GPT3211: GPT3211 {
3186 _marker: PhantomData,
3187 },
3188 GPT3212: GPT3212 {
3189 _marker: PhantomData,
3190 },
3191 ADC120: ADC120 {
3192 _marker: PhantomData,
3193 },
3194 ADC121: ADC121 {
3195 _marker: PhantomData,
3196 },
3197 MMPU: MMPU {
3198 _marker: PhantomData,
3199 },
3200 SMPU: SMPU {
3201 _marker: PhantomData,
3202 },
3203 SPMON: SPMON {
3204 _marker: PhantomData,
3205 },
3206 TSD: TSD {
3207 _marker: PhantomData,
3208 },
3209 }
3210 }
3211}