1#![doc = "Peripheral access API for R7FA6T2BD 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 = "Renesas Memory Protection Unit"]
444pub struct RMPU {
445 _marker: PhantomData<*const ()>,
446}
447unsafe impl Send for RMPU {}
448impl RMPU {
449 #[doc = r"Pointer to the register block"]
450 pub const PTR: *const rmpu::RegisterBlock = 0x4000_0000 as *const _;
451 #[doc = r"Return the pointer to the register block"]
452 #[inline(always)]
453 pub const fn ptr() -> *const rmpu::RegisterBlock {
454 Self::PTR
455 }
456}
457impl Deref for RMPU {
458 type Target = rmpu::RegisterBlock;
459 #[inline(always)]
460 fn deref(&self) -> &Self::Target {
461 unsafe { &*Self::PTR }
462 }
463}
464impl core::fmt::Debug for RMPU {
465 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
466 f.debug_struct("RMPU").finish()
467 }
468}
469#[doc = "Renesas Memory Protection Unit"]
470pub mod rmpu;
471#[doc = "TrustZone Filter"]
472pub struct TZF {
473 _marker: PhantomData<*const ()>,
474}
475unsafe impl Send for TZF {}
476impl TZF {
477 #[doc = r"Pointer to the register block"]
478 pub const PTR: *const tzf::RegisterBlock = 0x4000_0e00 as *const _;
479 #[doc = r"Return the pointer to the register block"]
480 #[inline(always)]
481 pub const fn ptr() -> *const tzf::RegisterBlock {
482 Self::PTR
483 }
484}
485impl Deref for TZF {
486 type Target = tzf::RegisterBlock;
487 #[inline(always)]
488 fn deref(&self) -> &Self::Target {
489 unsafe { &*Self::PTR }
490 }
491}
492impl core::fmt::Debug for TZF {
493 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
494 f.debug_struct("TZF").finish()
495 }
496}
497#[doc = "TrustZone Filter"]
498pub mod tzf;
499#[doc = "SRAM Control"]
500pub struct SRAM {
501 _marker: PhantomData<*const ()>,
502}
503unsafe impl Send for SRAM {}
504impl SRAM {
505 #[doc = r"Pointer to the register block"]
506 pub const PTR: *const sram::RegisterBlock = 0x4000_2000 as *const _;
507 #[doc = r"Return the pointer to the register block"]
508 #[inline(always)]
509 pub const fn ptr() -> *const sram::RegisterBlock {
510 Self::PTR
511 }
512}
513impl Deref for SRAM {
514 type Target = sram::RegisterBlock;
515 #[inline(always)]
516 fn deref(&self) -> &Self::Target {
517 unsafe { &*Self::PTR }
518 }
519}
520impl core::fmt::Debug for SRAM {
521 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
522 f.debug_struct("SRAM").finish()
523 }
524}
525#[doc = "SRAM Control"]
526pub mod sram;
527#[doc = "BUS Control"]
528pub struct BUS {
529 _marker: PhantomData<*const ()>,
530}
531unsafe impl Send for BUS {}
532impl BUS {
533 #[doc = r"Pointer to the register block"]
534 pub const PTR: *const bus::RegisterBlock = 0x4000_3000 as *const _;
535 #[doc = r"Return the pointer to the register block"]
536 #[inline(always)]
537 pub const fn ptr() -> *const bus::RegisterBlock {
538 Self::PTR
539 }
540}
541impl Deref for BUS {
542 type Target = bus::RegisterBlock;
543 #[inline(always)]
544 fn deref(&self) -> &Self::Target {
545 unsafe { &*Self::PTR }
546 }
547}
548impl core::fmt::Debug for BUS {
549 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
550 f.debug_struct("BUS").finish()
551 }
552}
553#[doc = "BUS Control"]
554pub mod bus;
555#[doc = "Direct memory access controller 0"]
556pub struct DMAC0 {
557 _marker: PhantomData<*const ()>,
558}
559unsafe impl Send for DMAC0 {}
560impl DMAC0 {
561 #[doc = r"Pointer to the register block"]
562 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5000 as *const _;
563 #[doc = r"Return the pointer to the register block"]
564 #[inline(always)]
565 pub const fn ptr() -> *const dmac0::RegisterBlock {
566 Self::PTR
567 }
568}
569impl Deref for DMAC0 {
570 type Target = dmac0::RegisterBlock;
571 #[inline(always)]
572 fn deref(&self) -> &Self::Target {
573 unsafe { &*Self::PTR }
574 }
575}
576impl core::fmt::Debug for DMAC0 {
577 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
578 f.debug_struct("DMAC0").finish()
579 }
580}
581#[doc = "Direct memory access controller 0"]
582pub mod dmac0;
583#[doc = "Direct memory access controller 1"]
584pub struct DMAC1 {
585 _marker: PhantomData<*const ()>,
586}
587unsafe impl Send for DMAC1 {}
588impl DMAC1 {
589 #[doc = r"Pointer to the register block"]
590 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5040 as *const _;
591 #[doc = r"Return the pointer to the register block"]
592 #[inline(always)]
593 pub const fn ptr() -> *const dmac0::RegisterBlock {
594 Self::PTR
595 }
596}
597impl Deref for DMAC1 {
598 type Target = dmac0::RegisterBlock;
599 #[inline(always)]
600 fn deref(&self) -> &Self::Target {
601 unsafe { &*Self::PTR }
602 }
603}
604impl core::fmt::Debug for DMAC1 {
605 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
606 f.debug_struct("DMAC1").finish()
607 }
608}
609#[doc = "Direct memory access controller 1"]
610pub use self::dmac0 as dmac1;
611#[doc = "Direct memory access controller 2"]
612pub struct DMAC2 {
613 _marker: PhantomData<*const ()>,
614}
615unsafe impl Send for DMAC2 {}
616impl DMAC2 {
617 #[doc = r"Pointer to the register block"]
618 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5080 as *const _;
619 #[doc = r"Return the pointer to the register block"]
620 #[inline(always)]
621 pub const fn ptr() -> *const dmac0::RegisterBlock {
622 Self::PTR
623 }
624}
625impl Deref for DMAC2 {
626 type Target = dmac0::RegisterBlock;
627 #[inline(always)]
628 fn deref(&self) -> &Self::Target {
629 unsafe { &*Self::PTR }
630 }
631}
632impl core::fmt::Debug for DMAC2 {
633 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
634 f.debug_struct("DMAC2").finish()
635 }
636}
637#[doc = "Direct memory access controller 2"]
638pub use self::dmac0 as dmac2;
639#[doc = "Direct memory access controller 3"]
640pub struct DMAC3 {
641 _marker: PhantomData<*const ()>,
642}
643unsafe impl Send for DMAC3 {}
644impl DMAC3 {
645 #[doc = r"Pointer to the register block"]
646 pub const PTR: *const dmac0::RegisterBlock = 0x4000_50c0 as *const _;
647 #[doc = r"Return the pointer to the register block"]
648 #[inline(always)]
649 pub const fn ptr() -> *const dmac0::RegisterBlock {
650 Self::PTR
651 }
652}
653impl Deref for DMAC3 {
654 type Target = dmac0::RegisterBlock;
655 #[inline(always)]
656 fn deref(&self) -> &Self::Target {
657 unsafe { &*Self::PTR }
658 }
659}
660impl core::fmt::Debug for DMAC3 {
661 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
662 f.debug_struct("DMAC3").finish()
663 }
664}
665#[doc = "Direct memory access controller 3"]
666pub use self::dmac0 as dmac3;
667#[doc = "Direct memory access controller 4"]
668pub struct DMAC4 {
669 _marker: PhantomData<*const ()>,
670}
671unsafe impl Send for DMAC4 {}
672impl DMAC4 {
673 #[doc = r"Pointer to the register block"]
674 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5100 as *const _;
675 #[doc = r"Return the pointer to the register block"]
676 #[inline(always)]
677 pub const fn ptr() -> *const dmac0::RegisterBlock {
678 Self::PTR
679 }
680}
681impl Deref for DMAC4 {
682 type Target = dmac0::RegisterBlock;
683 #[inline(always)]
684 fn deref(&self) -> &Self::Target {
685 unsafe { &*Self::PTR }
686 }
687}
688impl core::fmt::Debug for DMAC4 {
689 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
690 f.debug_struct("DMAC4").finish()
691 }
692}
693#[doc = "Direct memory access controller 4"]
694pub use self::dmac0 as dmac4;
695#[doc = "Direct memory access controller 5"]
696pub struct DMAC5 {
697 _marker: PhantomData<*const ()>,
698}
699unsafe impl Send for DMAC5 {}
700impl DMAC5 {
701 #[doc = r"Pointer to the register block"]
702 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5140 as *const _;
703 #[doc = r"Return the pointer to the register block"]
704 #[inline(always)]
705 pub const fn ptr() -> *const dmac0::RegisterBlock {
706 Self::PTR
707 }
708}
709impl Deref for DMAC5 {
710 type Target = dmac0::RegisterBlock;
711 #[inline(always)]
712 fn deref(&self) -> &Self::Target {
713 unsafe { &*Self::PTR }
714 }
715}
716impl core::fmt::Debug for DMAC5 {
717 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
718 f.debug_struct("DMAC5").finish()
719 }
720}
721#[doc = "Direct memory access controller 5"]
722pub use self::dmac0 as dmac5;
723#[doc = "Direct memory access controller 6"]
724pub struct DMAC6 {
725 _marker: PhantomData<*const ()>,
726}
727unsafe impl Send for DMAC6 {}
728impl DMAC6 {
729 #[doc = r"Pointer to the register block"]
730 pub const PTR: *const dmac0::RegisterBlock = 0x4000_5180 as *const _;
731 #[doc = r"Return the pointer to the register block"]
732 #[inline(always)]
733 pub const fn ptr() -> *const dmac0::RegisterBlock {
734 Self::PTR
735 }
736}
737impl Deref for DMAC6 {
738 type Target = dmac0::RegisterBlock;
739 #[inline(always)]
740 fn deref(&self) -> &Self::Target {
741 unsafe { &*Self::PTR }
742 }
743}
744impl core::fmt::Debug for DMAC6 {
745 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
746 f.debug_struct("DMAC6").finish()
747 }
748}
749#[doc = "Direct memory access controller 6"]
750pub use self::dmac0 as dmac6;
751#[doc = "Direct memory access controller 7"]
752pub struct DMAC7 {
753 _marker: PhantomData<*const ()>,
754}
755unsafe impl Send for DMAC7 {}
756impl DMAC7 {
757 #[doc = r"Pointer to the register block"]
758 pub const PTR: *const dmac0::RegisterBlock = 0x4000_51c0 as *const _;
759 #[doc = r"Return the pointer to the register block"]
760 #[inline(always)]
761 pub const fn ptr() -> *const dmac0::RegisterBlock {
762 Self::PTR
763 }
764}
765impl Deref for DMAC7 {
766 type Target = dmac0::RegisterBlock;
767 #[inline(always)]
768 fn deref(&self) -> &Self::Target {
769 unsafe { &*Self::PTR }
770 }
771}
772impl core::fmt::Debug for DMAC7 {
773 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
774 f.debug_struct("DMAC7").finish()
775 }
776}
777#[doc = "Direct memory access controller 7"]
778pub use self::dmac0 as dmac7;
779#[doc = "DMAC Module Activation"]
780pub struct DMA {
781 _marker: PhantomData<*const ()>,
782}
783unsafe impl Send for DMA {}
784impl DMA {
785 #[doc = r"Pointer to the register block"]
786 pub const PTR: *const dma::RegisterBlock = 0x4000_5200 as *const _;
787 #[doc = r"Return the pointer to the register block"]
788 #[inline(always)]
789 pub const fn ptr() -> *const dma::RegisterBlock {
790 Self::PTR
791 }
792}
793impl Deref for DMA {
794 type Target = dma::RegisterBlock;
795 #[inline(always)]
796 fn deref(&self) -> &Self::Target {
797 unsafe { &*Self::PTR }
798 }
799}
800impl core::fmt::Debug for DMA {
801 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
802 f.debug_struct("DMA").finish()
803 }
804}
805#[doc = "DMAC Module Activation"]
806pub mod dma;
807#[doc = "Data Transfer Controller"]
808pub struct DTC {
809 _marker: PhantomData<*const ()>,
810}
811unsafe impl Send for DTC {}
812impl DTC {
813 #[doc = r"Pointer to the register block"]
814 pub const PTR: *const dtc::RegisterBlock = 0x4000_5400 as *const _;
815 #[doc = r"Return the pointer to the register block"]
816 #[inline(always)]
817 pub const fn ptr() -> *const dtc::RegisterBlock {
818 Self::PTR
819 }
820}
821impl Deref for DTC {
822 type Target = dtc::RegisterBlock;
823 #[inline(always)]
824 fn deref(&self) -> &Self::Target {
825 unsafe { &*Self::PTR }
826 }
827}
828impl core::fmt::Debug for DTC {
829 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
830 f.debug_struct("DTC").finish()
831 }
832}
833#[doc = "Data Transfer Controller"]
834pub mod dtc;
835#[doc = "Interrupt Controller"]
836pub struct ICU {
837 _marker: PhantomData<*const ()>,
838}
839unsafe impl Send for ICU {}
840impl ICU {
841 #[doc = r"Pointer to the register block"]
842 pub const PTR: *const icu::RegisterBlock = 0x4000_6000 as *const _;
843 #[doc = r"Return the pointer to the register block"]
844 #[inline(always)]
845 pub const fn ptr() -> *const icu::RegisterBlock {
846 Self::PTR
847 }
848}
849impl Deref for ICU {
850 type Target = icu::RegisterBlock;
851 #[inline(always)]
852 fn deref(&self) -> &Self::Target {
853 unsafe { &*Self::PTR }
854 }
855}
856impl core::fmt::Debug for ICU {
857 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
858 f.debug_struct("ICU").finish()
859 }
860}
861#[doc = "Interrupt Controller"]
862pub mod icu;
863#[doc = "CACHE"]
864pub struct CACHE {
865 _marker: PhantomData<*const ()>,
866}
867unsafe impl Send for CACHE {}
868impl CACHE {
869 #[doc = r"Pointer to the register block"]
870 pub const PTR: *const cache::RegisterBlock = 0x4000_7000 as *const _;
871 #[doc = r"Return the pointer to the register block"]
872 #[inline(always)]
873 pub const fn ptr() -> *const cache::RegisterBlock {
874 Self::PTR
875 }
876}
877impl Deref for CACHE {
878 type Target = cache::RegisterBlock;
879 #[inline(always)]
880 fn deref(&self) -> &Self::Target {
881 unsafe { &*Self::PTR }
882 }
883}
884impl core::fmt::Debug for CACHE {
885 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
886 f.debug_struct("CACHE").finish()
887 }
888}
889#[doc = "CACHE"]
890pub mod cache;
891#[doc = "CPU System Security Control Unit"]
892pub struct CPSCU {
893 _marker: PhantomData<*const ()>,
894}
895unsafe impl Send for CPSCU {}
896impl CPSCU {
897 #[doc = r"Pointer to the register block"]
898 pub const PTR: *const cpscu::RegisterBlock = 0x4000_8000 as *const _;
899 #[doc = r"Return the pointer to the register block"]
900 #[inline(always)]
901 pub const fn ptr() -> *const cpscu::RegisterBlock {
902 Self::PTR
903 }
904}
905impl Deref for CPSCU {
906 type Target = cpscu::RegisterBlock;
907 #[inline(always)]
908 fn deref(&self) -> &Self::Target {
909 unsafe { &*Self::PTR }
910 }
911}
912impl core::fmt::Debug for CPSCU {
913 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
914 f.debug_struct("CPSCU").finish()
915 }
916}
917#[doc = "CPU System Security Control Unit"]
918pub mod cpscu;
919#[doc = "Debug Function"]
920pub struct DBG {
921 _marker: PhantomData<*const ()>,
922}
923unsafe impl Send for DBG {}
924impl DBG {
925 #[doc = r"Pointer to the register block"]
926 pub const PTR: *const dbg::RegisterBlock = 0x4001_b000 as *const _;
927 #[doc = r"Return the pointer to the register block"]
928 #[inline(always)]
929 pub const fn ptr() -> *const dbg::RegisterBlock {
930 Self::PTR
931 }
932}
933impl Deref for DBG {
934 type Target = dbg::RegisterBlock;
935 #[inline(always)]
936 fn deref(&self) -> &Self::Target {
937 unsafe { &*Self::PTR }
938 }
939}
940impl core::fmt::Debug for DBG {
941 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
942 f.debug_struct("DBG").finish()
943 }
944}
945#[doc = "Debug Function"]
946pub mod dbg;
947#[doc = "Flash Cache"]
948pub struct FCACHE {
949 _marker: PhantomData<*const ()>,
950}
951unsafe impl Send for FCACHE {}
952impl FCACHE {
953 #[doc = r"Pointer to the register block"]
954 pub const PTR: *const fcache::RegisterBlock = 0x4001_c100 as *const _;
955 #[doc = r"Return the pointer to the register block"]
956 #[inline(always)]
957 pub const fn ptr() -> *const fcache::RegisterBlock {
958 Self::PTR
959 }
960}
961impl Deref for FCACHE {
962 type Target = fcache::RegisterBlock;
963 #[inline(always)]
964 fn deref(&self) -> &Self::Target {
965 unsafe { &*Self::PTR }
966 }
967}
968impl core::fmt::Debug for FCACHE {
969 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
970 f.debug_struct("FCACHE").finish()
971 }
972}
973#[doc = "Flash Cache"]
974pub mod fcache;
975#[doc = "System Control"]
976pub struct SYSC {
977 _marker: PhantomData<*const ()>,
978}
979unsafe impl Send for SYSC {}
980impl SYSC {
981 #[doc = r"Pointer to the register block"]
982 pub const PTR: *const sysc::RegisterBlock = 0x4001_e000 as *const _;
983 #[doc = r"Return the pointer to the register block"]
984 #[inline(always)]
985 pub const fn ptr() -> *const sysc::RegisterBlock {
986 Self::PTR
987 }
988}
989impl Deref for SYSC {
990 type Target = sysc::RegisterBlock;
991 #[inline(always)]
992 fn deref(&self) -> &Self::Target {
993 unsafe { &*Self::PTR }
994 }
995}
996impl core::fmt::Debug for SYSC {
997 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
998 f.debug_struct("SYSC").finish()
999 }
1000}
1001#[doc = "System Control"]
1002pub mod sysc;
1003#[doc = "Port 0 Control Registers"]
1004pub struct PORT0 {
1005 _marker: PhantomData<*const ()>,
1006}
1007unsafe impl Send for PORT0 {}
1008impl PORT0 {
1009 #[doc = r"Pointer to the register block"]
1010 pub const PTR: *const port0::RegisterBlock = 0x4001_f000 as *const _;
1011 #[doc = r"Return the pointer to the register block"]
1012 #[inline(always)]
1013 pub const fn ptr() -> *const port0::RegisterBlock {
1014 Self::PTR
1015 }
1016}
1017impl Deref for PORT0 {
1018 type Target = port0::RegisterBlock;
1019 #[inline(always)]
1020 fn deref(&self) -> &Self::Target {
1021 unsafe { &*Self::PTR }
1022 }
1023}
1024impl core::fmt::Debug for PORT0 {
1025 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1026 f.debug_struct("PORT0").finish()
1027 }
1028}
1029#[doc = "Port 0 Control Registers"]
1030pub mod port0;
1031#[doc = "Port 2 Control Registers"]
1032pub struct PORT2 {
1033 _marker: PhantomData<*const ()>,
1034}
1035unsafe impl Send for PORT2 {}
1036impl PORT2 {
1037 #[doc = r"Pointer to the register block"]
1038 pub const PTR: *const port2::RegisterBlock = 0x4001_f040 as *const _;
1039 #[doc = r"Return the pointer to the register block"]
1040 #[inline(always)]
1041 pub const fn ptr() -> *const port2::RegisterBlock {
1042 Self::PTR
1043 }
1044}
1045impl Deref for PORT2 {
1046 type Target = port2::RegisterBlock;
1047 #[inline(always)]
1048 fn deref(&self) -> &Self::Target {
1049 unsafe { &*Self::PTR }
1050 }
1051}
1052impl core::fmt::Debug for PORT2 {
1053 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1054 f.debug_struct("PORT2").finish()
1055 }
1056}
1057#[doc = "Port 2 Control Registers"]
1058pub mod port2;
1059#[doc = "Port A Control Registers"]
1060pub struct PORTA {
1061 _marker: PhantomData<*const ()>,
1062}
1063unsafe impl Send for PORTA {}
1064impl PORTA {
1065 #[doc = r"Pointer to the register block"]
1066 pub const PTR: *const porta::RegisterBlock = 0x4001_f140 as *const _;
1067 #[doc = r"Return the pointer to the register block"]
1068 #[inline(always)]
1069 pub const fn ptr() -> *const porta::RegisterBlock {
1070 Self::PTR
1071 }
1072}
1073impl Deref for PORTA {
1074 type Target = porta::RegisterBlock;
1075 #[inline(always)]
1076 fn deref(&self) -> &Self::Target {
1077 unsafe { &*Self::PTR }
1078 }
1079}
1080impl core::fmt::Debug for PORTA {
1081 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1082 f.debug_struct("PORTA").finish()
1083 }
1084}
1085#[doc = "Port A Control Registers"]
1086pub mod porta;
1087#[doc = "Port B Control Registers"]
1088pub struct PORTB {
1089 _marker: PhantomData<*const ()>,
1090}
1091unsafe impl Send for PORTB {}
1092impl PORTB {
1093 #[doc = r"Pointer to the register block"]
1094 pub const PTR: *const portb::RegisterBlock = 0x4001_f160 as *const _;
1095 #[doc = r"Return the pointer to the register block"]
1096 #[inline(always)]
1097 pub const fn ptr() -> *const portb::RegisterBlock {
1098 Self::PTR
1099 }
1100}
1101impl Deref for PORTB {
1102 type Target = portb::RegisterBlock;
1103 #[inline(always)]
1104 fn deref(&self) -> &Self::Target {
1105 unsafe { &*Self::PTR }
1106 }
1107}
1108impl core::fmt::Debug for PORTB {
1109 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1110 f.debug_struct("PORTB").finish()
1111 }
1112}
1113#[doc = "Port B Control Registers"]
1114pub mod portb;
1115#[doc = "Port C Control Registers"]
1116pub struct PORTC {
1117 _marker: PhantomData<*const ()>,
1118}
1119unsafe impl Send for PORTC {}
1120impl PORTC {
1121 #[doc = r"Pointer to the register block"]
1122 pub const PTR: *const portc::RegisterBlock = 0x4001_f180 as *const _;
1123 #[doc = r"Return the pointer to the register block"]
1124 #[inline(always)]
1125 pub const fn ptr() -> *const portc::RegisterBlock {
1126 Self::PTR
1127 }
1128}
1129impl Deref for PORTC {
1130 type Target = portc::RegisterBlock;
1131 #[inline(always)]
1132 fn deref(&self) -> &Self::Target {
1133 unsafe { &*Self::PTR }
1134 }
1135}
1136impl core::fmt::Debug for PORTC {
1137 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1138 f.debug_struct("PORTC").finish()
1139 }
1140}
1141#[doc = "Port C Control Registers"]
1142pub mod portc;
1143#[doc = "Port D Control Registers"]
1144pub struct PORTD {
1145 _marker: PhantomData<*const ()>,
1146}
1147unsafe impl Send for PORTD {}
1148impl PORTD {
1149 #[doc = r"Pointer to the register block"]
1150 pub const PTR: *const portd::RegisterBlock = 0x4001_f1a0 as *const _;
1151 #[doc = r"Return the pointer to the register block"]
1152 #[inline(always)]
1153 pub const fn ptr() -> *const portd::RegisterBlock {
1154 Self::PTR
1155 }
1156}
1157impl Deref for PORTD {
1158 type Target = portd::RegisterBlock;
1159 #[inline(always)]
1160 fn deref(&self) -> &Self::Target {
1161 unsafe { &*Self::PTR }
1162 }
1163}
1164impl core::fmt::Debug for PORTD {
1165 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1166 f.debug_struct("PORTD").finish()
1167 }
1168}
1169#[doc = "Port D Control Registers"]
1170pub mod portd;
1171#[doc = "Port E Control Registers"]
1172pub struct PORTE {
1173 _marker: PhantomData<*const ()>,
1174}
1175unsafe impl Send for PORTE {}
1176impl PORTE {
1177 #[doc = r"Pointer to the register block"]
1178 pub const PTR: *const porte::RegisterBlock = 0x4001_f1c0 as *const _;
1179 #[doc = r"Return the pointer to the register block"]
1180 #[inline(always)]
1181 pub const fn ptr() -> *const porte::RegisterBlock {
1182 Self::PTR
1183 }
1184}
1185impl Deref for PORTE {
1186 type Target = porte::RegisterBlock;
1187 #[inline(always)]
1188 fn deref(&self) -> &Self::Target {
1189 unsafe { &*Self::PTR }
1190 }
1191}
1192impl core::fmt::Debug for PORTE {
1193 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1194 f.debug_struct("PORTE").finish()
1195 }
1196}
1197#[doc = "Port E Control Registers"]
1198pub mod porte;
1199#[doc = "Pmn Pin Function Control Register"]
1200pub struct PFS_B {
1201 _marker: PhantomData<*const ()>,
1202}
1203unsafe impl Send for PFS_B {}
1204impl PFS_B {
1205 #[doc = r"Pointer to the register block"]
1206 pub const PTR: *const pfs_b::RegisterBlock = 0x4001_f800 as *const _;
1207 #[doc = r"Return the pointer to the register block"]
1208 #[inline(always)]
1209 pub const fn ptr() -> *const pfs_b::RegisterBlock {
1210 Self::PTR
1211 }
1212}
1213impl Deref for PFS_B {
1214 type Target = pfs_b::RegisterBlock;
1215 #[inline(always)]
1216 fn deref(&self) -> &Self::Target {
1217 unsafe { &*Self::PTR }
1218 }
1219}
1220impl core::fmt::Debug for PFS_B {
1221 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1222 f.debug_struct("PFS_B").finish()
1223 }
1224}
1225#[doc = "Pmn Pin Function Control Register"]
1226pub mod pfs_b;
1227#[doc = "IIR filter accelerator"]
1228pub struct IIRFA {
1229 _marker: PhantomData<*const ()>,
1230}
1231unsafe impl Send for IIRFA {}
1232impl IIRFA {
1233 #[doc = r"Pointer to the register block"]
1234 pub const PTR: *const iirfa::RegisterBlock = 0x4002_0000 as *const _;
1235 #[doc = r"Return the pointer to the register block"]
1236 #[inline(always)]
1237 pub const fn ptr() -> *const iirfa::RegisterBlock {
1238 Self::PTR
1239 }
1240}
1241impl Deref for IIRFA {
1242 type Target = iirfa::RegisterBlock;
1243 #[inline(always)]
1244 fn deref(&self) -> &Self::Target {
1245 unsafe { &*Self::PTR }
1246 }
1247}
1248impl core::fmt::Debug for IIRFA {
1249 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1250 f.debug_struct("IIRFA").finish()
1251 }
1252}
1253#[doc = "IIR filter accelerator"]
1254pub mod iirfa;
1255#[doc = "Trigonometric Function Unit"]
1256pub struct TFU {
1257 _marker: PhantomData<*const ()>,
1258}
1259unsafe impl Send for TFU {}
1260impl TFU {
1261 #[doc = r"Pointer to the register block"]
1262 pub const PTR: *const tfu::RegisterBlock = 0x4002_1000 as *const _;
1263 #[doc = r"Return the pointer to the register block"]
1264 #[inline(always)]
1265 pub const fn ptr() -> *const tfu::RegisterBlock {
1266 Self::PTR
1267 }
1268}
1269impl Deref for TFU {
1270 type Target = tfu::RegisterBlock;
1271 #[inline(always)]
1272 fn deref(&self) -> &Self::Target {
1273 unsafe { &*Self::PTR }
1274 }
1275}
1276impl core::fmt::Debug for TFU {
1277 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1278 f.debug_struct("TFU").finish()
1279 }
1280}
1281#[doc = "Trigonometric Function Unit"]
1282pub mod tfu;
1283#[doc = "Event Link Controller"]
1284pub struct ELC_B {
1285 _marker: PhantomData<*const ()>,
1286}
1287unsafe impl Send for ELC_B {}
1288impl ELC_B {
1289 #[doc = r"Pointer to the register block"]
1290 pub const PTR: *const elc_b::RegisterBlock = 0x4008_2000 as *const _;
1291 #[doc = r"Return the pointer to the register block"]
1292 #[inline(always)]
1293 pub const fn ptr() -> *const elc_b::RegisterBlock {
1294 Self::PTR
1295 }
1296}
1297impl Deref for ELC_B {
1298 type Target = elc_b::RegisterBlock;
1299 #[inline(always)]
1300 fn deref(&self) -> &Self::Target {
1301 unsafe { &*Self::PTR }
1302 }
1303}
1304impl core::fmt::Debug for ELC_B {
1305 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1306 f.debug_struct("ELC_B").finish()
1307 }
1308}
1309#[doc = "Event Link Controller"]
1310pub mod elc_b;
1311#[doc = "Independent Watchdog Timer"]
1312pub struct IWDT {
1313 _marker: PhantomData<*const ()>,
1314}
1315unsafe impl Send for IWDT {}
1316impl IWDT {
1317 #[doc = r"Pointer to the register block"]
1318 pub const PTR: *const iwdt::RegisterBlock = 0x4008_3200 as *const _;
1319 #[doc = r"Return the pointer to the register block"]
1320 #[inline(always)]
1321 pub const fn ptr() -> *const iwdt::RegisterBlock {
1322 Self::PTR
1323 }
1324}
1325impl Deref for IWDT {
1326 type Target = iwdt::RegisterBlock;
1327 #[inline(always)]
1328 fn deref(&self) -> &Self::Target {
1329 unsafe { &*Self::PTR }
1330 }
1331}
1332impl core::fmt::Debug for IWDT {
1333 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1334 f.debug_struct("IWDT").finish()
1335 }
1336}
1337#[doc = "Independent Watchdog Timer"]
1338pub mod iwdt;
1339#[doc = "Watchdog Timer"]
1340pub struct WDT {
1341 _marker: PhantomData<*const ()>,
1342}
1343unsafe impl Send for WDT {}
1344impl WDT {
1345 #[doc = r"Pointer to the register block"]
1346 pub const PTR: *const wdt::RegisterBlock = 0x4008_3400 as *const _;
1347 #[doc = r"Return the pointer to the register block"]
1348 #[inline(always)]
1349 pub const fn ptr() -> *const wdt::RegisterBlock {
1350 Self::PTR
1351 }
1352}
1353impl Deref for WDT {
1354 type Target = wdt::RegisterBlock;
1355 #[inline(always)]
1356 fn deref(&self) -> &Self::Target {
1357 unsafe { &*Self::PTR }
1358 }
1359}
1360impl core::fmt::Debug for WDT {
1361 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1362 f.debug_struct("WDT").finish()
1363 }
1364}
1365#[doc = "Watchdog Timer"]
1366pub mod wdt;
1367#[doc = "Clock Frequency Accuracy Measurement Circuit"]
1368pub struct CAC {
1369 _marker: PhantomData<*const ()>,
1370}
1371unsafe impl Send for CAC {}
1372impl CAC {
1373 #[doc = r"Pointer to the register block"]
1374 pub const PTR: *const cac::RegisterBlock = 0x4008_3600 as *const _;
1375 #[doc = r"Return the pointer to the register block"]
1376 #[inline(always)]
1377 pub const fn ptr() -> *const cac::RegisterBlock {
1378 Self::PTR
1379 }
1380}
1381impl Deref for CAC {
1382 type Target = cac::RegisterBlock;
1383 #[inline(always)]
1384 fn deref(&self) -> &Self::Target {
1385 unsafe { &*Self::PTR }
1386 }
1387}
1388impl core::fmt::Debug for CAC {
1389 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1390 f.debug_struct("CAC").finish()
1391 }
1392}
1393#[doc = "Clock Frequency Accuracy Measurement Circuit"]
1394pub mod cac;
1395#[doc = "Module Stop Control"]
1396pub struct MSTP {
1397 _marker: PhantomData<*const ()>,
1398}
1399unsafe impl Send for MSTP {}
1400impl MSTP {
1401 #[doc = r"Pointer to the register block"]
1402 pub const PTR: *const mstp::RegisterBlock = 0x4008_4000 as *const _;
1403 #[doc = r"Return the pointer to the register block"]
1404 #[inline(always)]
1405 pub const fn ptr() -> *const mstp::RegisterBlock {
1406 Self::PTR
1407 }
1408}
1409impl Deref for MSTP {
1410 type Target = mstp::RegisterBlock;
1411 #[inline(always)]
1412 fn deref(&self) -> &Self::Target {
1413 unsafe { &*Self::PTR }
1414 }
1415}
1416impl core::fmt::Debug for MSTP {
1417 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1418 f.debug_struct("MSTP").finish()
1419 }
1420}
1421#[doc = "Module Stop Control"]
1422pub mod mstp;
1423#[doc = "Key Interrupt Function"]
1424pub struct KINT {
1425 _marker: PhantomData<*const ()>,
1426}
1427unsafe impl Send for KINT {}
1428impl KINT {
1429 #[doc = r"Pointer to the register block"]
1430 pub const PTR: *const kint::RegisterBlock = 0x4008_5000 as *const _;
1431 #[doc = r"Return the pointer to the register block"]
1432 #[inline(always)]
1433 pub const fn ptr() -> *const kint::RegisterBlock {
1434 Self::PTR
1435 }
1436}
1437impl Deref for KINT {
1438 type Target = kint::RegisterBlock;
1439 #[inline(always)]
1440 fn deref(&self) -> &Self::Target {
1441 unsafe { &*Self::PTR }
1442 }
1443}
1444impl core::fmt::Debug for KINT {
1445 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1446 f.debug_struct("KINT").finish()
1447 }
1448}
1449#[doc = "Key Interrupt Function"]
1450pub mod kint;
1451#[doc = "Port Output Enable for GPT"]
1452pub struct POEG {
1453 _marker: PhantomData<*const ()>,
1454}
1455unsafe impl Send for POEG {}
1456impl POEG {
1457 #[doc = r"Pointer to the register block"]
1458 pub const PTR: *const poeg::RegisterBlock = 0x4008_a000 as *const _;
1459 #[doc = r"Return the pointer to the register block"]
1460 #[inline(always)]
1461 pub const fn ptr() -> *const poeg::RegisterBlock {
1462 Self::PTR
1463 }
1464}
1465impl Deref for POEG {
1466 type Target = poeg::RegisterBlock;
1467 #[inline(always)]
1468 fn deref(&self) -> &Self::Target {
1469 unsafe { &*Self::PTR }
1470 }
1471}
1472impl core::fmt::Debug for POEG {
1473 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1474 f.debug_struct("POEG").finish()
1475 }
1476}
1477#[doc = "Port Output Enable for GPT"]
1478pub mod poeg;
1479#[doc = "CANFD Module Control"]
1480pub struct CANFD_B {
1481 _marker: PhantomData<*const ()>,
1482}
1483unsafe impl Send for CANFD_B {}
1484impl CANFD_B {
1485 #[doc = r"Pointer to the register block"]
1486 pub const PTR: *const canfd_b::RegisterBlock = 0x400b_0000 as *const _;
1487 #[doc = r"Return the pointer to the register block"]
1488 #[inline(always)]
1489 pub const fn ptr() -> *const canfd_b::RegisterBlock {
1490 Self::PTR
1491 }
1492}
1493impl Deref for CANFD_B {
1494 type Target = canfd_b::RegisterBlock;
1495 #[inline(always)]
1496 fn deref(&self) -> &Self::Target {
1497 unsafe { &*Self::PTR }
1498 }
1499}
1500impl core::fmt::Debug for CANFD_B {
1501 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1502 f.debug_struct("CANFD_B").finish()
1503 }
1504}
1505#[doc = "CANFD Module Control"]
1506pub mod canfd_b;
1507#[doc = "Peripheral Security Control Unit"]
1508pub struct PSCU {
1509 _marker: PhantomData<*const ()>,
1510}
1511unsafe impl Send for PSCU {}
1512impl PSCU {
1513 #[doc = r"Pointer to the register block"]
1514 pub const PTR: *const pscu::RegisterBlock = 0x400e_0000 as *const _;
1515 #[doc = r"Return the pointer to the register block"]
1516 #[inline(always)]
1517 pub const fn ptr() -> *const pscu::RegisterBlock {
1518 Self::PTR
1519 }
1520}
1521impl Deref for PSCU {
1522 type Target = pscu::RegisterBlock;
1523 #[inline(always)]
1524 fn deref(&self) -> &Self::Target {
1525 unsafe { &*Self::PTR }
1526 }
1527}
1528impl core::fmt::Debug for PSCU {
1529 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1530 f.debug_struct("PSCU").finish()
1531 }
1532}
1533#[doc = "Peripheral Security Control Unit"]
1534pub mod pscu;
1535#[doc = "Low Power Asynchronous General Purpose Timer 0"]
1536pub struct AGTW_B0 {
1537 _marker: PhantomData<*const ()>,
1538}
1539unsafe impl Send for AGTW_B0 {}
1540impl AGTW_B0 {
1541 #[doc = r"Pointer to the register block"]
1542 pub const PTR: *const agtw_b0::RegisterBlock = 0x400e_8000 as *const _;
1543 #[doc = r"Return the pointer to the register block"]
1544 #[inline(always)]
1545 pub const fn ptr() -> *const agtw_b0::RegisterBlock {
1546 Self::PTR
1547 }
1548}
1549impl Deref for AGTW_B0 {
1550 type Target = agtw_b0::RegisterBlock;
1551 #[inline(always)]
1552 fn deref(&self) -> &Self::Target {
1553 unsafe { &*Self::PTR }
1554 }
1555}
1556impl core::fmt::Debug for AGTW_B0 {
1557 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1558 f.debug_struct("AGTW_B0").finish()
1559 }
1560}
1561#[doc = "Low Power Asynchronous General Purpose Timer 0"]
1562pub mod agtw_b0;
1563#[doc = "Low Power Asynchronous General Purpose Timer 1"]
1564pub struct AGTW_B1 {
1565 _marker: PhantomData<*const ()>,
1566}
1567unsafe impl Send for AGTW_B1 {}
1568impl AGTW_B1 {
1569 #[doc = r"Pointer to the register block"]
1570 pub const PTR: *const agtw_b0::RegisterBlock = 0x400e_8100 as *const _;
1571 #[doc = r"Return the pointer to the register block"]
1572 #[inline(always)]
1573 pub const fn ptr() -> *const agtw_b0::RegisterBlock {
1574 Self::PTR
1575 }
1576}
1577impl Deref for AGTW_B1 {
1578 type Target = agtw_b0::RegisterBlock;
1579 #[inline(always)]
1580 fn deref(&self) -> &Self::Target {
1581 unsafe { &*Self::PTR }
1582 }
1583}
1584impl core::fmt::Debug for AGTW_B1 {
1585 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1586 f.debug_struct("AGTW_B1").finish()
1587 }
1588}
1589#[doc = "Low Power Asynchronous General Purpose Timer 1"]
1590pub use self::agtw_b0 as agtw_b1;
1591#[doc = "Temperature Sensor"]
1592pub struct TSN {
1593 _marker: PhantomData<*const ()>,
1594}
1595unsafe impl Send for TSN {}
1596impl TSN {
1597 #[doc = r"Pointer to the register block"]
1598 pub const PTR: *const tsn::RegisterBlock = 0x400f_3000 as *const _;
1599 #[doc = r"Return the pointer to the register block"]
1600 #[inline(always)]
1601 pub const fn ptr() -> *const tsn::RegisterBlock {
1602 Self::PTR
1603 }
1604}
1605impl Deref for TSN {
1606 type Target = tsn::RegisterBlock;
1607 #[inline(always)]
1608 fn deref(&self) -> &Self::Target {
1609 unsafe { &*Self::PTR }
1610 }
1611}
1612impl core::fmt::Debug for TSN {
1613 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1614 f.debug_struct("TSN").finish()
1615 }
1616}
1617#[doc = "Temperature Sensor"]
1618pub mod tsn;
1619#[doc = "High-Speed Analog Comparator 0"]
1620pub struct ACMPHS0 {
1621 _marker: PhantomData<*const ()>,
1622}
1623unsafe impl Send for ACMPHS0 {}
1624impl ACMPHS0 {
1625 #[doc = r"Pointer to the register block"]
1626 pub const PTR: *const acmphs0::RegisterBlock = 0x400f_4000 as *const _;
1627 #[doc = r"Return the pointer to the register block"]
1628 #[inline(always)]
1629 pub const fn ptr() -> *const acmphs0::RegisterBlock {
1630 Self::PTR
1631 }
1632}
1633impl Deref for ACMPHS0 {
1634 type Target = acmphs0::RegisterBlock;
1635 #[inline(always)]
1636 fn deref(&self) -> &Self::Target {
1637 unsafe { &*Self::PTR }
1638 }
1639}
1640impl core::fmt::Debug for ACMPHS0 {
1641 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1642 f.debug_struct("ACMPHS0").finish()
1643 }
1644}
1645#[doc = "High-Speed Analog Comparator 0"]
1646pub mod acmphs0;
1647#[doc = "High-Speed Analog Comparator 1"]
1648pub struct ACMPHS1 {
1649 _marker: PhantomData<*const ()>,
1650}
1651unsafe impl Send for ACMPHS1 {}
1652impl ACMPHS1 {
1653 #[doc = r"Pointer to the register block"]
1654 pub const PTR: *const acmphs0::RegisterBlock = 0x400f_4100 as *const _;
1655 #[doc = r"Return the pointer to the register block"]
1656 #[inline(always)]
1657 pub const fn ptr() -> *const acmphs0::RegisterBlock {
1658 Self::PTR
1659 }
1660}
1661impl Deref for ACMPHS1 {
1662 type Target = acmphs0::RegisterBlock;
1663 #[inline(always)]
1664 fn deref(&self) -> &Self::Target {
1665 unsafe { &*Self::PTR }
1666 }
1667}
1668impl core::fmt::Debug for ACMPHS1 {
1669 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1670 f.debug_struct("ACMPHS1").finish()
1671 }
1672}
1673#[doc = "High-Speed Analog Comparator 1"]
1674pub use self::acmphs0 as acmphs1;
1675#[doc = "High-Speed Analog Comparator 2"]
1676pub struct ACMPHS2 {
1677 _marker: PhantomData<*const ()>,
1678}
1679unsafe impl Send for ACMPHS2 {}
1680impl ACMPHS2 {
1681 #[doc = r"Pointer to the register block"]
1682 pub const PTR: *const acmphs0::RegisterBlock = 0x400f_4200 as *const _;
1683 #[doc = r"Return the pointer to the register block"]
1684 #[inline(always)]
1685 pub const fn ptr() -> *const acmphs0::RegisterBlock {
1686 Self::PTR
1687 }
1688}
1689impl Deref for ACMPHS2 {
1690 type Target = acmphs0::RegisterBlock;
1691 #[inline(always)]
1692 fn deref(&self) -> &Self::Target {
1693 unsafe { &*Self::PTR }
1694 }
1695}
1696impl core::fmt::Debug for ACMPHS2 {
1697 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1698 f.debug_struct("ACMPHS2").finish()
1699 }
1700}
1701#[doc = "High-Speed Analog Comparator 2"]
1702pub use self::acmphs0 as acmphs2;
1703#[doc = "High-Speed Analog Comparator 3"]
1704pub struct ACMPHS3 {
1705 _marker: PhantomData<*const ()>,
1706}
1707unsafe impl Send for ACMPHS3 {}
1708impl ACMPHS3 {
1709 #[doc = r"Pointer to the register block"]
1710 pub const PTR: *const acmphs0::RegisterBlock = 0x400f_4300 as *const _;
1711 #[doc = r"Return the pointer to the register block"]
1712 #[inline(always)]
1713 pub const fn ptr() -> *const acmphs0::RegisterBlock {
1714 Self::PTR
1715 }
1716}
1717impl Deref for ACMPHS3 {
1718 type Target = acmphs0::RegisterBlock;
1719 #[inline(always)]
1720 fn deref(&self) -> &Self::Target {
1721 unsafe { &*Self::PTR }
1722 }
1723}
1724impl core::fmt::Debug for ACMPHS3 {
1725 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1726 f.debug_struct("ACMPHS3").finish()
1727 }
1728}
1729#[doc = "High-Speed Analog Comparator 3"]
1730pub use self::acmphs0 as acmphs3;
1731#[doc = "Cyclic Redundancy Check"]
1732pub struct CRC {
1733 _marker: PhantomData<*const ()>,
1734}
1735unsafe impl Send for CRC {}
1736impl CRC {
1737 #[doc = r"Pointer to the register block"]
1738 pub const PTR: *const crc::RegisterBlock = 0x4010_8000 as *const _;
1739 #[doc = r"Return the pointer to the register block"]
1740 #[inline(always)]
1741 pub const fn ptr() -> *const crc::RegisterBlock {
1742 Self::PTR
1743 }
1744}
1745impl Deref for CRC {
1746 type Target = crc::RegisterBlock;
1747 #[inline(always)]
1748 fn deref(&self) -> &Self::Target {
1749 unsafe { &*Self::PTR }
1750 }
1751}
1752impl core::fmt::Debug for CRC {
1753 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1754 f.debug_struct("CRC").finish()
1755 }
1756}
1757#[doc = "Cyclic Redundancy Check"]
1758pub mod crc;
1759#[doc = "Data Operation Circuit"]
1760pub struct DOC_B {
1761 _marker: PhantomData<*const ()>,
1762}
1763unsafe impl Send for DOC_B {}
1764impl DOC_B {
1765 #[doc = r"Pointer to the register block"]
1766 pub const PTR: *const doc_b::RegisterBlock = 0x4010_9000 as *const _;
1767 #[doc = r"Return the pointer to the register block"]
1768 #[inline(always)]
1769 pub const fn ptr() -> *const doc_b::RegisterBlock {
1770 Self::PTR
1771 }
1772}
1773impl Deref for DOC_B {
1774 type Target = doc_b::RegisterBlock;
1775 #[inline(always)]
1776 fn deref(&self) -> &Self::Target {
1777 unsafe { &*Self::PTR }
1778 }
1779}
1780impl core::fmt::Debug for DOC_B {
1781 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1782 f.debug_struct("DOC_B").finish()
1783 }
1784}
1785#[doc = "Data Operation Circuit"]
1786pub mod doc_b;
1787#[doc = "Serial Communication Interface 0"]
1788pub struct SCI_B0 {
1789 _marker: PhantomData<*const ()>,
1790}
1791unsafe impl Send for SCI_B0 {}
1792impl SCI_B0 {
1793 #[doc = r"Pointer to the register block"]
1794 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8000 as *const _;
1795 #[doc = r"Return the pointer to the register block"]
1796 #[inline(always)]
1797 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1798 Self::PTR
1799 }
1800}
1801impl Deref for SCI_B0 {
1802 type Target = sci_b0::RegisterBlock;
1803 #[inline(always)]
1804 fn deref(&self) -> &Self::Target {
1805 unsafe { &*Self::PTR }
1806 }
1807}
1808impl core::fmt::Debug for SCI_B0 {
1809 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1810 f.debug_struct("SCI_B0").finish()
1811 }
1812}
1813#[doc = "Serial Communication Interface 0"]
1814pub mod sci_b0;
1815#[doc = "Serial Communication Interface 1"]
1816pub struct SCI_B1 {
1817 _marker: PhantomData<*const ()>,
1818}
1819unsafe impl Send for SCI_B1 {}
1820impl SCI_B1 {
1821 #[doc = r"Pointer to the register block"]
1822 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8100 as *const _;
1823 #[doc = r"Return the pointer to the register block"]
1824 #[inline(always)]
1825 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1826 Self::PTR
1827 }
1828}
1829impl Deref for SCI_B1 {
1830 type Target = sci_b0::RegisterBlock;
1831 #[inline(always)]
1832 fn deref(&self) -> &Self::Target {
1833 unsafe { &*Self::PTR }
1834 }
1835}
1836impl core::fmt::Debug for SCI_B1 {
1837 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1838 f.debug_struct("SCI_B1").finish()
1839 }
1840}
1841#[doc = "Serial Communication Interface 1"]
1842pub use self::sci_b0 as sci_b1;
1843#[doc = "Serial Communication Interface 2"]
1844pub struct SCI_B2 {
1845 _marker: PhantomData<*const ()>,
1846}
1847unsafe impl Send for SCI_B2 {}
1848impl SCI_B2 {
1849 #[doc = r"Pointer to the register block"]
1850 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8200 as *const _;
1851 #[doc = r"Return the pointer to the register block"]
1852 #[inline(always)]
1853 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1854 Self::PTR
1855 }
1856}
1857impl Deref for SCI_B2 {
1858 type Target = sci_b0::RegisterBlock;
1859 #[inline(always)]
1860 fn deref(&self) -> &Self::Target {
1861 unsafe { &*Self::PTR }
1862 }
1863}
1864impl core::fmt::Debug for SCI_B2 {
1865 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1866 f.debug_struct("SCI_B2").finish()
1867 }
1868}
1869#[doc = "Serial Communication Interface 2"]
1870pub use self::sci_b0 as sci_b2;
1871#[doc = "Serial Communication Interface 3"]
1872pub struct SCI_B3 {
1873 _marker: PhantomData<*const ()>,
1874}
1875unsafe impl Send for SCI_B3 {}
1876impl SCI_B3 {
1877 #[doc = r"Pointer to the register block"]
1878 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8300 as *const _;
1879 #[doc = r"Return the pointer to the register block"]
1880 #[inline(always)]
1881 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1882 Self::PTR
1883 }
1884}
1885impl Deref for SCI_B3 {
1886 type Target = sci_b0::RegisterBlock;
1887 #[inline(always)]
1888 fn deref(&self) -> &Self::Target {
1889 unsafe { &*Self::PTR }
1890 }
1891}
1892impl core::fmt::Debug for SCI_B3 {
1893 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1894 f.debug_struct("SCI_B3").finish()
1895 }
1896}
1897#[doc = "Serial Communication Interface 3"]
1898pub use self::sci_b0 as sci_b3;
1899#[doc = "Serial Communication Interface 4"]
1900pub struct SCI_B4 {
1901 _marker: PhantomData<*const ()>,
1902}
1903unsafe impl Send for SCI_B4 {}
1904impl SCI_B4 {
1905 #[doc = r"Pointer to the register block"]
1906 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8400 as *const _;
1907 #[doc = r"Return the pointer to the register block"]
1908 #[inline(always)]
1909 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1910 Self::PTR
1911 }
1912}
1913impl Deref for SCI_B4 {
1914 type Target = sci_b0::RegisterBlock;
1915 #[inline(always)]
1916 fn deref(&self) -> &Self::Target {
1917 unsafe { &*Self::PTR }
1918 }
1919}
1920impl core::fmt::Debug for SCI_B4 {
1921 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1922 f.debug_struct("SCI_B4").finish()
1923 }
1924}
1925#[doc = "Serial Communication Interface 4"]
1926pub use self::sci_b0 as sci_b4;
1927#[doc = "Serial Communication Interface 9"]
1928pub struct SCI_B9 {
1929 _marker: PhantomData<*const ()>,
1930}
1931unsafe impl Send for SCI_B9 {}
1932impl SCI_B9 {
1933 #[doc = r"Pointer to the register block"]
1934 pub const PTR: *const sci_b0::RegisterBlock = 0x4011_8900 as *const _;
1935 #[doc = r"Return the pointer to the register block"]
1936 #[inline(always)]
1937 pub const fn ptr() -> *const sci_b0::RegisterBlock {
1938 Self::PTR
1939 }
1940}
1941impl Deref for SCI_B9 {
1942 type Target = sci_b0::RegisterBlock;
1943 #[inline(always)]
1944 fn deref(&self) -> &Self::Target {
1945 unsafe { &*Self::PTR }
1946 }
1947}
1948impl core::fmt::Debug for SCI_B9 {
1949 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1950 f.debug_struct("SCI_B9").finish()
1951 }
1952}
1953#[doc = "Serial Communication Interface 9"]
1954pub use self::sci_b0 as sci_b9;
1955#[doc = "Serial Peripheral Interface 0"]
1956pub struct SPI_B0 {
1957 _marker: PhantomData<*const ()>,
1958}
1959unsafe impl Send for SPI_B0 {}
1960impl SPI_B0 {
1961 #[doc = r"Pointer to the register block"]
1962 pub const PTR: *const spi_b0::RegisterBlock = 0x4011_a000 as *const _;
1963 #[doc = r"Return the pointer to the register block"]
1964 #[inline(always)]
1965 pub const fn ptr() -> *const spi_b0::RegisterBlock {
1966 Self::PTR
1967 }
1968}
1969impl Deref for SPI_B0 {
1970 type Target = spi_b0::RegisterBlock;
1971 #[inline(always)]
1972 fn deref(&self) -> &Self::Target {
1973 unsafe { &*Self::PTR }
1974 }
1975}
1976impl core::fmt::Debug for SPI_B0 {
1977 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1978 f.debug_struct("SPI_B0").finish()
1979 }
1980}
1981#[doc = "Serial Peripheral Interface 0"]
1982pub mod spi_b0;
1983#[doc = "Serial Peripheral Interface 1"]
1984pub struct SPI_B1 {
1985 _marker: PhantomData<*const ()>,
1986}
1987unsafe impl Send for SPI_B1 {}
1988impl SPI_B1 {
1989 #[doc = r"Pointer to the register block"]
1990 pub const PTR: *const spi_b0::RegisterBlock = 0x4011_a100 as *const _;
1991 #[doc = r"Return the pointer to the register block"]
1992 #[inline(always)]
1993 pub const fn ptr() -> *const spi_b0::RegisterBlock {
1994 Self::PTR
1995 }
1996}
1997impl Deref for SPI_B1 {
1998 type Target = spi_b0::RegisterBlock;
1999 #[inline(always)]
2000 fn deref(&self) -> &Self::Target {
2001 unsafe { &*Self::PTR }
2002 }
2003}
2004impl core::fmt::Debug for SPI_B1 {
2005 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2006 f.debug_struct("SPI_B1").finish()
2007 }
2008}
2009#[doc = "Serial Peripheral Interface 1"]
2010pub use self::spi_b0 as spi_b1;
2011#[doc = "Inter-Integrated Circuit 0"]
2012pub struct IIC_B0 {
2013 _marker: PhantomData<*const ()>,
2014}
2015unsafe impl Send for IIC_B0 {}
2016impl IIC_B0 {
2017 #[doc = r"Pointer to the register block"]
2018 pub const PTR: *const iic_b0::RegisterBlock = 0x4011_f000 as *const _;
2019 #[doc = r"Return the pointer to the register block"]
2020 #[inline(always)]
2021 pub const fn ptr() -> *const iic_b0::RegisterBlock {
2022 Self::PTR
2023 }
2024}
2025impl Deref for IIC_B0 {
2026 type Target = iic_b0::RegisterBlock;
2027 #[inline(always)]
2028 fn deref(&self) -> &Self::Target {
2029 unsafe { &*Self::PTR }
2030 }
2031}
2032impl core::fmt::Debug for IIC_B0 {
2033 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2034 f.debug_struct("IIC_B0").finish()
2035 }
2036}
2037#[doc = "Inter-Integrated Circuit 0"]
2038pub mod iic_b0;
2039#[doc = "Inter-Integrated Circuit 0 Wake-up Unit"]
2040pub struct IIC0WU_B {
2041 _marker: PhantomData<*const ()>,
2042}
2043unsafe impl Send for IIC0WU_B {}
2044impl IIC0WU_B {
2045 #[doc = r"Pointer to the register block"]
2046 pub const PTR: *const iic0wu_b::RegisterBlock = 0x4011_f098 as *const _;
2047 #[doc = r"Return the pointer to the register block"]
2048 #[inline(always)]
2049 pub const fn ptr() -> *const iic0wu_b::RegisterBlock {
2050 Self::PTR
2051 }
2052}
2053impl Deref for IIC0WU_B {
2054 type Target = iic0wu_b::RegisterBlock;
2055 #[inline(always)]
2056 fn deref(&self) -> &Self::Target {
2057 unsafe { &*Self::PTR }
2058 }
2059}
2060impl core::fmt::Debug for IIC0WU_B {
2061 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2062 f.debug_struct("IIC0WU_B").finish()
2063 }
2064}
2065#[doc = "Inter-Integrated Circuit 0 Wake-up Unit"]
2066pub mod iic0wu_b;
2067#[doc = "Inter-Integrated Circuit 1"]
2068pub struct IIC_B1 {
2069 _marker: PhantomData<*const ()>,
2070}
2071unsafe impl Send for IIC_B1 {}
2072impl IIC_B1 {
2073 #[doc = r"Pointer to the register block"]
2074 pub const PTR: *const iic_b0::RegisterBlock = 0x4011_f400 as *const _;
2075 #[doc = r"Return the pointer to the register block"]
2076 #[inline(always)]
2077 pub const fn ptr() -> *const iic_b0::RegisterBlock {
2078 Self::PTR
2079 }
2080}
2081impl Deref for IIC_B1 {
2082 type Target = iic_b0::RegisterBlock;
2083 #[inline(always)]
2084 fn deref(&self) -> &Self::Target {
2085 unsafe { &*Self::PTR }
2086 }
2087}
2088impl core::fmt::Debug for IIC_B1 {
2089 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2090 f.debug_struct("IIC_B1").finish()
2091 }
2092}
2093#[doc = "Inter-Integrated Circuit 1"]
2094pub use self::iic_b0 as iic_b1;
2095#[doc = "CANFD ECC Module"]
2096pub struct ECCMB {
2097 _marker: PhantomData<*const ()>,
2098}
2099unsafe impl Send for ECCMB {}
2100impl ECCMB {
2101 #[doc = r"Pointer to the register block"]
2102 pub const PTR: *const eccmb::RegisterBlock = 0x4012_f200 as *const _;
2103 #[doc = r"Return the pointer to the register block"]
2104 #[inline(always)]
2105 pub const fn ptr() -> *const eccmb::RegisterBlock {
2106 Self::PTR
2107 }
2108}
2109impl Deref for ECCMB {
2110 type Target = eccmb::RegisterBlock;
2111 #[inline(always)]
2112 fn deref(&self) -> &Self::Target {
2113 unsafe { &*Self::PTR }
2114 }
2115}
2116impl core::fmt::Debug for ECCMB {
2117 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2118 f.debug_struct("ECCMB").finish()
2119 }
2120}
2121#[doc = "CANFD ECC Module"]
2122pub mod eccmb;
2123#[doc = "General PWM 32-bit Timer 0"]
2124pub struct GPT320 {
2125 _marker: PhantomData<*const ()>,
2126}
2127unsafe impl Send for GPT320 {}
2128impl GPT320 {
2129 #[doc = r"Pointer to the register block"]
2130 pub const PTR: *const gpt320::RegisterBlock = 0x4016_9000 as *const _;
2131 #[doc = r"Return the pointer to the register block"]
2132 #[inline(always)]
2133 pub const fn ptr() -> *const gpt320::RegisterBlock {
2134 Self::PTR
2135 }
2136}
2137impl Deref for GPT320 {
2138 type Target = gpt320::RegisterBlock;
2139 #[inline(always)]
2140 fn deref(&self) -> &Self::Target {
2141 unsafe { &*Self::PTR }
2142 }
2143}
2144impl core::fmt::Debug for GPT320 {
2145 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2146 f.debug_struct("GPT320").finish()
2147 }
2148}
2149#[doc = "General PWM 32-bit Timer 0"]
2150pub mod gpt320;
2151#[doc = "General PWM 32-bit Timer 1"]
2152pub struct GPT321 {
2153 _marker: PhantomData<*const ()>,
2154}
2155unsafe impl Send for GPT321 {}
2156impl GPT321 {
2157 #[doc = r"Pointer to the register block"]
2158 pub const PTR: *const gpt320::RegisterBlock = 0x4016_9100 as *const _;
2159 #[doc = r"Return the pointer to the register block"]
2160 #[inline(always)]
2161 pub const fn ptr() -> *const gpt320::RegisterBlock {
2162 Self::PTR
2163 }
2164}
2165impl Deref for GPT321 {
2166 type Target = gpt320::RegisterBlock;
2167 #[inline(always)]
2168 fn deref(&self) -> &Self::Target {
2169 unsafe { &*Self::PTR }
2170 }
2171}
2172impl core::fmt::Debug for GPT321 {
2173 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2174 f.debug_struct("GPT321").finish()
2175 }
2176}
2177#[doc = "General PWM 32-bit Timer 1"]
2178pub use self::gpt320 as gpt321;
2179#[doc = "General PWM 32-bit Timer 2"]
2180pub struct GPT322 {
2181 _marker: PhantomData<*const ()>,
2182}
2183unsafe impl Send for GPT322 {}
2184impl GPT322 {
2185 #[doc = r"Pointer to the register block"]
2186 pub const PTR: *const gpt320::RegisterBlock = 0x4016_9200 as *const _;
2187 #[doc = r"Return the pointer to the register block"]
2188 #[inline(always)]
2189 pub const fn ptr() -> *const gpt320::RegisterBlock {
2190 Self::PTR
2191 }
2192}
2193impl Deref for GPT322 {
2194 type Target = gpt320::RegisterBlock;
2195 #[inline(always)]
2196 fn deref(&self) -> &Self::Target {
2197 unsafe { &*Self::PTR }
2198 }
2199}
2200impl core::fmt::Debug for GPT322 {
2201 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2202 f.debug_struct("GPT322").finish()
2203 }
2204}
2205#[doc = "General PWM 32-bit Timer 2"]
2206pub use self::gpt320 as gpt322;
2207#[doc = "General PWM 32-bit Timer 3"]
2208pub struct GPT323 {
2209 _marker: PhantomData<*const ()>,
2210}
2211unsafe impl Send for GPT323 {}
2212impl GPT323 {
2213 #[doc = r"Pointer to the register block"]
2214 pub const PTR: *const gpt320::RegisterBlock = 0x4016_9300 as *const _;
2215 #[doc = r"Return the pointer to the register block"]
2216 #[inline(always)]
2217 pub const fn ptr() -> *const gpt320::RegisterBlock {
2218 Self::PTR
2219 }
2220}
2221impl Deref for GPT323 {
2222 type Target = gpt320::RegisterBlock;
2223 #[inline(always)]
2224 fn deref(&self) -> &Self::Target {
2225 unsafe { &*Self::PTR }
2226 }
2227}
2228impl core::fmt::Debug for GPT323 {
2229 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2230 f.debug_struct("GPT323").finish()
2231 }
2232}
2233#[doc = "General PWM 32-bit Timer 3"]
2234pub use self::gpt320 as gpt323;
2235#[doc = "General PWM 32-bit Timer 4"]
2236pub struct GPT324 {
2237 _marker: PhantomData<*const ()>,
2238}
2239unsafe impl Send for GPT324 {}
2240impl GPT324 {
2241 #[doc = r"Pointer to the register block"]
2242 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9400 as *const _;
2243 #[doc = r"Return the pointer to the register block"]
2244 #[inline(always)]
2245 pub const fn ptr() -> *const gpt324::RegisterBlock {
2246 Self::PTR
2247 }
2248}
2249impl Deref for GPT324 {
2250 type Target = gpt324::RegisterBlock;
2251 #[inline(always)]
2252 fn deref(&self) -> &Self::Target {
2253 unsafe { &*Self::PTR }
2254 }
2255}
2256impl core::fmt::Debug for GPT324 {
2257 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2258 f.debug_struct("GPT324").finish()
2259 }
2260}
2261#[doc = "General PWM 32-bit Timer 4"]
2262pub mod gpt324;
2263#[doc = "General PWM 32-bit Timer 5"]
2264pub struct GPT325 {
2265 _marker: PhantomData<*const ()>,
2266}
2267unsafe impl Send for GPT325 {}
2268impl GPT325 {
2269 #[doc = r"Pointer to the register block"]
2270 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9500 as *const _;
2271 #[doc = r"Return the pointer to the register block"]
2272 #[inline(always)]
2273 pub const fn ptr() -> *const gpt324::RegisterBlock {
2274 Self::PTR
2275 }
2276}
2277impl Deref for GPT325 {
2278 type Target = gpt324::RegisterBlock;
2279 #[inline(always)]
2280 fn deref(&self) -> &Self::Target {
2281 unsafe { &*Self::PTR }
2282 }
2283}
2284impl core::fmt::Debug for GPT325 {
2285 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2286 f.debug_struct("GPT325").finish()
2287 }
2288}
2289#[doc = "General PWM 32-bit Timer 5"]
2290pub use self::gpt324 as gpt325;
2291#[doc = "General PWM 32-bit Timer 6"]
2292pub struct GPT326 {
2293 _marker: PhantomData<*const ()>,
2294}
2295unsafe impl Send for GPT326 {}
2296impl GPT326 {
2297 #[doc = r"Pointer to the register block"]
2298 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9600 as *const _;
2299 #[doc = r"Return the pointer to the register block"]
2300 #[inline(always)]
2301 pub const fn ptr() -> *const gpt324::RegisterBlock {
2302 Self::PTR
2303 }
2304}
2305impl Deref for GPT326 {
2306 type Target = gpt324::RegisterBlock;
2307 #[inline(always)]
2308 fn deref(&self) -> &Self::Target {
2309 unsafe { &*Self::PTR }
2310 }
2311}
2312impl core::fmt::Debug for GPT326 {
2313 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2314 f.debug_struct("GPT326").finish()
2315 }
2316}
2317#[doc = "General PWM 32-bit Timer 6"]
2318pub use self::gpt324 as gpt326;
2319#[doc = "General PWM 32-bit Timer 7"]
2320pub struct GPT327 {
2321 _marker: PhantomData<*const ()>,
2322}
2323unsafe impl Send for GPT327 {}
2324impl GPT327 {
2325 #[doc = r"Pointer to the register block"]
2326 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9700 as *const _;
2327 #[doc = r"Return the pointer to the register block"]
2328 #[inline(always)]
2329 pub const fn ptr() -> *const gpt324::RegisterBlock {
2330 Self::PTR
2331 }
2332}
2333impl Deref for GPT327 {
2334 type Target = gpt324::RegisterBlock;
2335 #[inline(always)]
2336 fn deref(&self) -> &Self::Target {
2337 unsafe { &*Self::PTR }
2338 }
2339}
2340impl core::fmt::Debug for GPT327 {
2341 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2342 f.debug_struct("GPT327").finish()
2343 }
2344}
2345#[doc = "General PWM 32-bit Timer 7"]
2346pub use self::gpt324 as gpt327;
2347#[doc = "General PWM 32-bit Timer 8"]
2348pub struct GPT328 {
2349 _marker: PhantomData<*const ()>,
2350}
2351unsafe impl Send for GPT328 {}
2352impl GPT328 {
2353 #[doc = r"Pointer to the register block"]
2354 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9800 as *const _;
2355 #[doc = r"Return the pointer to the register block"]
2356 #[inline(always)]
2357 pub const fn ptr() -> *const gpt324::RegisterBlock {
2358 Self::PTR
2359 }
2360}
2361impl Deref for GPT328 {
2362 type Target = gpt324::RegisterBlock;
2363 #[inline(always)]
2364 fn deref(&self) -> &Self::Target {
2365 unsafe { &*Self::PTR }
2366 }
2367}
2368impl core::fmt::Debug for GPT328 {
2369 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2370 f.debug_struct("GPT328").finish()
2371 }
2372}
2373#[doc = "General PWM 32-bit Timer 8"]
2374pub use self::gpt324 as gpt328;
2375#[doc = "General PWM 32-bit Timer 9"]
2376pub struct GPT329 {
2377 _marker: PhantomData<*const ()>,
2378}
2379unsafe impl Send for GPT329 {}
2380impl GPT329 {
2381 #[doc = r"Pointer to the register block"]
2382 pub const PTR: *const gpt324::RegisterBlock = 0x4016_9900 as *const _;
2383 #[doc = r"Return the pointer to the register block"]
2384 #[inline(always)]
2385 pub const fn ptr() -> *const gpt324::RegisterBlock {
2386 Self::PTR
2387 }
2388}
2389impl Deref for GPT329 {
2390 type Target = gpt324::RegisterBlock;
2391 #[inline(always)]
2392 fn deref(&self) -> &Self::Target {
2393 unsafe { &*Self::PTR }
2394 }
2395}
2396impl core::fmt::Debug for GPT329 {
2397 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2398 f.debug_struct("GPT329").finish()
2399 }
2400}
2401#[doc = "General PWM 32-bit Timer 9"]
2402pub use self::gpt324 as gpt329;
2403#[doc = "Output Phase Switching Controller"]
2404pub struct GPT_OPS {
2405 _marker: PhantomData<*const ()>,
2406}
2407unsafe impl Send for GPT_OPS {}
2408impl GPT_OPS {
2409 #[doc = r"Pointer to the register block"]
2410 pub const PTR: *const gpt_ops::RegisterBlock = 0x4016_9a00 as *const _;
2411 #[doc = r"Return the pointer to the register block"]
2412 #[inline(always)]
2413 pub const fn ptr() -> *const gpt_ops::RegisterBlock {
2414 Self::PTR
2415 }
2416}
2417impl Deref for GPT_OPS {
2418 type Target = gpt_ops::RegisterBlock;
2419 #[inline(always)]
2420 fn deref(&self) -> &Self::Target {
2421 unsafe { &*Self::PTR }
2422 }
2423}
2424impl core::fmt::Debug for GPT_OPS {
2425 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2426 f.debug_struct("GPT_OPS").finish()
2427 }
2428}
2429#[doc = "Output Phase Switching Controller"]
2430pub mod gpt_ops;
2431#[doc = "GTCLK"]
2432pub struct GPT_GTCLK {
2433 _marker: PhantomData<*const ()>,
2434}
2435unsafe impl Send for GPT_GTCLK {}
2436impl GPT_GTCLK {
2437 #[doc = r"Pointer to the register block"]
2438 pub const PTR: *const gpt_gtclk::RegisterBlock = 0x4016_9b00 as *const _;
2439 #[doc = r"Return the pointer to the register block"]
2440 #[inline(always)]
2441 pub const fn ptr() -> *const gpt_gtclk::RegisterBlock {
2442 Self::PTR
2443 }
2444}
2445impl Deref for GPT_GTCLK {
2446 type Target = gpt_gtclk::RegisterBlock;
2447 #[inline(always)]
2448 fn deref(&self) -> &Self::Target {
2449 unsafe { &*Self::PTR }
2450 }
2451}
2452impl core::fmt::Debug for GPT_GTCLK {
2453 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2454 f.debug_struct("GPT_GTCLK").finish()
2455 }
2456}
2457#[doc = "GTCLK"]
2458pub mod gpt_gtclk;
2459#[doc = "PWM Delay Generation Circuit"]
2460pub struct PDG {
2461 _marker: PhantomData<*const ()>,
2462}
2463unsafe impl Send for PDG {}
2464impl PDG {
2465 #[doc = r"Pointer to the register block"]
2466 pub const PTR: *const pdg::RegisterBlock = 0x4016_a000 as *const _;
2467 #[doc = r"Return the pointer to the register block"]
2468 #[inline(always)]
2469 pub const fn ptr() -> *const pdg::RegisterBlock {
2470 Self::PTR
2471 }
2472}
2473impl Deref for PDG {
2474 type Target = pdg::RegisterBlock;
2475 #[inline(always)]
2476 fn deref(&self) -> &Self::Target {
2477 unsafe { &*Self::PTR }
2478 }
2479}
2480impl core::fmt::Debug for PDG {
2481 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2482 f.debug_struct("PDG").finish()
2483 }
2484}
2485#[doc = "PWM Delay Generation Circuit"]
2486pub mod pdg;
2487#[doc = "12-bit A/D Converter"]
2488pub struct ADC_B {
2489 _marker: PhantomData<*const ()>,
2490}
2491unsafe impl Send for ADC_B {}
2492impl ADC_B {
2493 #[doc = r"Pointer to the register block"]
2494 pub const PTR: *const adc_b::RegisterBlock = 0x4017_0000 as *const _;
2495 #[doc = r"Return the pointer to the register block"]
2496 #[inline(always)]
2497 pub const fn ptr() -> *const adc_b::RegisterBlock {
2498 Self::PTR
2499 }
2500}
2501impl Deref for ADC_B {
2502 type Target = adc_b::RegisterBlock;
2503 #[inline(always)]
2504 fn deref(&self) -> &Self::Target {
2505 unsafe { &*Self::PTR }
2506 }
2507}
2508impl core::fmt::Debug for ADC_B {
2509 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2510 f.debug_struct("ADC_B").finish()
2511 }
2512}
2513#[doc = "12-bit A/D Converter"]
2514pub mod adc_b;
2515#[doc = "12-bit D/A converter 0"]
2516pub struct DAC120 {
2517 _marker: PhantomData<*const ()>,
2518}
2519unsafe impl Send for DAC120 {}
2520impl DAC120 {
2521 #[doc = r"Pointer to the register block"]
2522 pub const PTR: *const dac120::RegisterBlock = 0x4017_2000 as *const _;
2523 #[doc = r"Return the pointer to the register block"]
2524 #[inline(always)]
2525 pub const fn ptr() -> *const dac120::RegisterBlock {
2526 Self::PTR
2527 }
2528}
2529impl Deref for DAC120 {
2530 type Target = dac120::RegisterBlock;
2531 #[inline(always)]
2532 fn deref(&self) -> &Self::Target {
2533 unsafe { &*Self::PTR }
2534 }
2535}
2536impl core::fmt::Debug for DAC120 {
2537 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2538 f.debug_struct("DAC120").finish()
2539 }
2540}
2541#[doc = "12-bit D/A converter 0"]
2542pub mod dac120;
2543#[doc = "12-bit D/A converter 1"]
2544pub struct DAC121 {
2545 _marker: PhantomData<*const ()>,
2546}
2547unsafe impl Send for DAC121 {}
2548impl DAC121 {
2549 #[doc = r"Pointer to the register block"]
2550 pub const PTR: *const dac120::RegisterBlock = 0x4017_2100 as *const _;
2551 #[doc = r"Return the pointer to the register block"]
2552 #[inline(always)]
2553 pub const fn ptr() -> *const dac120::RegisterBlock {
2554 Self::PTR
2555 }
2556}
2557impl Deref for DAC121 {
2558 type Target = dac120::RegisterBlock;
2559 #[inline(always)]
2560 fn deref(&self) -> &Self::Target {
2561 unsafe { &*Self::PTR }
2562 }
2563}
2564impl core::fmt::Debug for DAC121 {
2565 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2566 f.debug_struct("DAC121").finish()
2567 }
2568}
2569#[doc = "12-bit D/A converter 1"]
2570pub use self::dac120 as dac121;
2571#[doc = "Temperature Sensor Calibration Data"]
2572pub struct TSD {
2573 _marker: PhantomData<*const ()>,
2574}
2575unsafe impl Send for TSD {}
2576impl TSD {
2577 #[doc = r"Pointer to the register block"]
2578 pub const PTR: *const tsd::RegisterBlock = 0x407f_b000 as *const _;
2579 #[doc = r"Return the pointer to the register block"]
2580 #[inline(always)]
2581 pub const fn ptr() -> *const tsd::RegisterBlock {
2582 Self::PTR
2583 }
2584}
2585impl Deref for TSD {
2586 type Target = tsd::RegisterBlock;
2587 #[inline(always)]
2588 fn deref(&self) -> &Self::Target {
2589 unsafe { &*Self::PTR }
2590 }
2591}
2592impl core::fmt::Debug for TSD {
2593 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2594 f.debug_struct("TSD").finish()
2595 }
2596}
2597#[doc = "Temperature Sensor Calibration Data"]
2598pub mod tsd;
2599#[doc = "Data Flash"]
2600pub struct FLAD {
2601 _marker: PhantomData<*const ()>,
2602}
2603unsafe impl Send for FLAD {}
2604impl FLAD {
2605 #[doc = r"Pointer to the register block"]
2606 pub const PTR: *const flad::RegisterBlock = 0x407f_c000 as *const _;
2607 #[doc = r"Return the pointer to the register block"]
2608 #[inline(always)]
2609 pub const fn ptr() -> *const flad::RegisterBlock {
2610 Self::PTR
2611 }
2612}
2613impl Deref for FLAD {
2614 type Target = flad::RegisterBlock;
2615 #[inline(always)]
2616 fn deref(&self) -> &Self::Target {
2617 unsafe { &*Self::PTR }
2618 }
2619}
2620impl core::fmt::Debug for FLAD {
2621 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2622 f.debug_struct("FLAD").finish()
2623 }
2624}
2625#[doc = "Data Flash"]
2626pub mod flad;
2627#[doc = "Flash Application Command Interface"]
2628pub struct FACI {
2629 _marker: PhantomData<*const ()>,
2630}
2631unsafe impl Send for FACI {}
2632impl FACI {
2633 #[doc = r"Pointer to the register block"]
2634 pub const PTR: *const faci::RegisterBlock = 0x407f_e000 as *const _;
2635 #[doc = r"Return the pointer to the register block"]
2636 #[inline(always)]
2637 pub const fn ptr() -> *const faci::RegisterBlock {
2638 Self::PTR
2639 }
2640}
2641impl Deref for FACI {
2642 type Target = faci::RegisterBlock;
2643 #[inline(always)]
2644 fn deref(&self) -> &Self::Target {
2645 unsafe { &*Self::PTR }
2646 }
2647}
2648impl core::fmt::Debug for FACI {
2649 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2650 f.debug_struct("FACI").finish()
2651 }
2652}
2653#[doc = "Flash Application Command Interface"]
2654pub mod faci;
2655#[no_mangle]
2656static mut DEVICE_PERIPHERALS: bool = false;
2657#[doc = r" All the peripherals."]
2658#[allow(non_snake_case)]
2659pub struct Peripherals {
2660 #[doc = "RMPU"]
2661 pub RMPU: RMPU,
2662 #[doc = "TZF"]
2663 pub TZF: TZF,
2664 #[doc = "SRAM"]
2665 pub SRAM: SRAM,
2666 #[doc = "BUS"]
2667 pub BUS: BUS,
2668 #[doc = "DMAC0"]
2669 pub DMAC0: DMAC0,
2670 #[doc = "DMAC1"]
2671 pub DMAC1: DMAC1,
2672 #[doc = "DMAC2"]
2673 pub DMAC2: DMAC2,
2674 #[doc = "DMAC3"]
2675 pub DMAC3: DMAC3,
2676 #[doc = "DMAC4"]
2677 pub DMAC4: DMAC4,
2678 #[doc = "DMAC5"]
2679 pub DMAC5: DMAC5,
2680 #[doc = "DMAC6"]
2681 pub DMAC6: DMAC6,
2682 #[doc = "DMAC7"]
2683 pub DMAC7: DMAC7,
2684 #[doc = "DMA"]
2685 pub DMA: DMA,
2686 #[doc = "DTC"]
2687 pub DTC: DTC,
2688 #[doc = "ICU"]
2689 pub ICU: ICU,
2690 #[doc = "CACHE"]
2691 pub CACHE: CACHE,
2692 #[doc = "CPSCU"]
2693 pub CPSCU: CPSCU,
2694 #[doc = "DBG"]
2695 pub DBG: DBG,
2696 #[doc = "FCACHE"]
2697 pub FCACHE: FCACHE,
2698 #[doc = "SYSC"]
2699 pub SYSC: SYSC,
2700 #[doc = "PORT0"]
2701 pub PORT0: PORT0,
2702 #[doc = "PORT2"]
2703 pub PORT2: PORT2,
2704 #[doc = "PORTA"]
2705 pub PORTA: PORTA,
2706 #[doc = "PORTB"]
2707 pub PORTB: PORTB,
2708 #[doc = "PORTC"]
2709 pub PORTC: PORTC,
2710 #[doc = "PORTD"]
2711 pub PORTD: PORTD,
2712 #[doc = "PORTE"]
2713 pub PORTE: PORTE,
2714 #[doc = "PFS_B"]
2715 pub PFS_B: PFS_B,
2716 #[doc = "IIRFA"]
2717 pub IIRFA: IIRFA,
2718 #[doc = "TFU"]
2719 pub TFU: TFU,
2720 #[doc = "ELC_B"]
2721 pub ELC_B: ELC_B,
2722 #[doc = "IWDT"]
2723 pub IWDT: IWDT,
2724 #[doc = "WDT"]
2725 pub WDT: WDT,
2726 #[doc = "CAC"]
2727 pub CAC: CAC,
2728 #[doc = "MSTP"]
2729 pub MSTP: MSTP,
2730 #[doc = "KINT"]
2731 pub KINT: KINT,
2732 #[doc = "POEG"]
2733 pub POEG: POEG,
2734 #[doc = "CANFD_B"]
2735 pub CANFD_B: CANFD_B,
2736 #[doc = "PSCU"]
2737 pub PSCU: PSCU,
2738 #[doc = "AGTW_B0"]
2739 pub AGTW_B0: AGTW_B0,
2740 #[doc = "AGTW_B1"]
2741 pub AGTW_B1: AGTW_B1,
2742 #[doc = "TSN"]
2743 pub TSN: TSN,
2744 #[doc = "ACMPHS0"]
2745 pub ACMPHS0: ACMPHS0,
2746 #[doc = "ACMPHS1"]
2747 pub ACMPHS1: ACMPHS1,
2748 #[doc = "ACMPHS2"]
2749 pub ACMPHS2: ACMPHS2,
2750 #[doc = "ACMPHS3"]
2751 pub ACMPHS3: ACMPHS3,
2752 #[doc = "CRC"]
2753 pub CRC: CRC,
2754 #[doc = "DOC_B"]
2755 pub DOC_B: DOC_B,
2756 #[doc = "SCI_B0"]
2757 pub SCI_B0: SCI_B0,
2758 #[doc = "SCI_B1"]
2759 pub SCI_B1: SCI_B1,
2760 #[doc = "SCI_B2"]
2761 pub SCI_B2: SCI_B2,
2762 #[doc = "SCI_B3"]
2763 pub SCI_B3: SCI_B3,
2764 #[doc = "SCI_B4"]
2765 pub SCI_B4: SCI_B4,
2766 #[doc = "SCI_B9"]
2767 pub SCI_B9: SCI_B9,
2768 #[doc = "SPI_B0"]
2769 pub SPI_B0: SPI_B0,
2770 #[doc = "SPI_B1"]
2771 pub SPI_B1: SPI_B1,
2772 #[doc = "IIC_B0"]
2773 pub IIC_B0: IIC_B0,
2774 #[doc = "IIC0WU_B"]
2775 pub IIC0WU_B: IIC0WU_B,
2776 #[doc = "IIC_B1"]
2777 pub IIC_B1: IIC_B1,
2778 #[doc = "ECCMB"]
2779 pub ECCMB: ECCMB,
2780 #[doc = "GPT320"]
2781 pub GPT320: GPT320,
2782 #[doc = "GPT321"]
2783 pub GPT321: GPT321,
2784 #[doc = "GPT322"]
2785 pub GPT322: GPT322,
2786 #[doc = "GPT323"]
2787 pub GPT323: GPT323,
2788 #[doc = "GPT324"]
2789 pub GPT324: GPT324,
2790 #[doc = "GPT325"]
2791 pub GPT325: GPT325,
2792 #[doc = "GPT326"]
2793 pub GPT326: GPT326,
2794 #[doc = "GPT327"]
2795 pub GPT327: GPT327,
2796 #[doc = "GPT328"]
2797 pub GPT328: GPT328,
2798 #[doc = "GPT329"]
2799 pub GPT329: GPT329,
2800 #[doc = "GPT_OPS"]
2801 pub GPT_OPS: GPT_OPS,
2802 #[doc = "GPT_GTCLK"]
2803 pub GPT_GTCLK: GPT_GTCLK,
2804 #[doc = "PDG"]
2805 pub PDG: PDG,
2806 #[doc = "ADC_B"]
2807 pub ADC_B: ADC_B,
2808 #[doc = "DAC120"]
2809 pub DAC120: DAC120,
2810 #[doc = "DAC121"]
2811 pub DAC121: DAC121,
2812 #[doc = "TSD"]
2813 pub TSD: TSD,
2814 #[doc = "FLAD"]
2815 pub FLAD: FLAD,
2816 #[doc = "FACI"]
2817 pub FACI: FACI,
2818}
2819impl Peripherals {
2820 #[doc = r" Returns all the peripherals *once*."]
2821 #[cfg(feature = "critical-section")]
2822 #[inline]
2823 pub fn take() -> Option<Self> {
2824 critical_section::with(|_| {
2825 if unsafe { DEVICE_PERIPHERALS } {
2826 return None;
2827 }
2828 Some(unsafe { Peripherals::steal() })
2829 })
2830 }
2831 #[doc = r" Unchecked version of `Peripherals::take`."]
2832 #[doc = r""]
2833 #[doc = r" # Safety"]
2834 #[doc = r""]
2835 #[doc = r" Each of the returned peripherals must be used at most once."]
2836 #[inline]
2837 pub unsafe fn steal() -> Self {
2838 DEVICE_PERIPHERALS = true;
2839 Peripherals {
2840 RMPU: RMPU {
2841 _marker: PhantomData,
2842 },
2843 TZF: TZF {
2844 _marker: PhantomData,
2845 },
2846 SRAM: SRAM {
2847 _marker: PhantomData,
2848 },
2849 BUS: BUS {
2850 _marker: PhantomData,
2851 },
2852 DMAC0: DMAC0 {
2853 _marker: PhantomData,
2854 },
2855 DMAC1: DMAC1 {
2856 _marker: PhantomData,
2857 },
2858 DMAC2: DMAC2 {
2859 _marker: PhantomData,
2860 },
2861 DMAC3: DMAC3 {
2862 _marker: PhantomData,
2863 },
2864 DMAC4: DMAC4 {
2865 _marker: PhantomData,
2866 },
2867 DMAC5: DMAC5 {
2868 _marker: PhantomData,
2869 },
2870 DMAC6: DMAC6 {
2871 _marker: PhantomData,
2872 },
2873 DMAC7: DMAC7 {
2874 _marker: PhantomData,
2875 },
2876 DMA: DMA {
2877 _marker: PhantomData,
2878 },
2879 DTC: DTC {
2880 _marker: PhantomData,
2881 },
2882 ICU: ICU {
2883 _marker: PhantomData,
2884 },
2885 CACHE: CACHE {
2886 _marker: PhantomData,
2887 },
2888 CPSCU: CPSCU {
2889 _marker: PhantomData,
2890 },
2891 DBG: DBG {
2892 _marker: PhantomData,
2893 },
2894 FCACHE: FCACHE {
2895 _marker: PhantomData,
2896 },
2897 SYSC: SYSC {
2898 _marker: PhantomData,
2899 },
2900 PORT0: PORT0 {
2901 _marker: PhantomData,
2902 },
2903 PORT2: PORT2 {
2904 _marker: PhantomData,
2905 },
2906 PORTA: PORTA {
2907 _marker: PhantomData,
2908 },
2909 PORTB: PORTB {
2910 _marker: PhantomData,
2911 },
2912 PORTC: PORTC {
2913 _marker: PhantomData,
2914 },
2915 PORTD: PORTD {
2916 _marker: PhantomData,
2917 },
2918 PORTE: PORTE {
2919 _marker: PhantomData,
2920 },
2921 PFS_B: PFS_B {
2922 _marker: PhantomData,
2923 },
2924 IIRFA: IIRFA {
2925 _marker: PhantomData,
2926 },
2927 TFU: TFU {
2928 _marker: PhantomData,
2929 },
2930 ELC_B: ELC_B {
2931 _marker: PhantomData,
2932 },
2933 IWDT: IWDT {
2934 _marker: PhantomData,
2935 },
2936 WDT: WDT {
2937 _marker: PhantomData,
2938 },
2939 CAC: CAC {
2940 _marker: PhantomData,
2941 },
2942 MSTP: MSTP {
2943 _marker: PhantomData,
2944 },
2945 KINT: KINT {
2946 _marker: PhantomData,
2947 },
2948 POEG: POEG {
2949 _marker: PhantomData,
2950 },
2951 CANFD_B: CANFD_B {
2952 _marker: PhantomData,
2953 },
2954 PSCU: PSCU {
2955 _marker: PhantomData,
2956 },
2957 AGTW_B0: AGTW_B0 {
2958 _marker: PhantomData,
2959 },
2960 AGTW_B1: AGTW_B1 {
2961 _marker: PhantomData,
2962 },
2963 TSN: TSN {
2964 _marker: PhantomData,
2965 },
2966 ACMPHS0: ACMPHS0 {
2967 _marker: PhantomData,
2968 },
2969 ACMPHS1: ACMPHS1 {
2970 _marker: PhantomData,
2971 },
2972 ACMPHS2: ACMPHS2 {
2973 _marker: PhantomData,
2974 },
2975 ACMPHS3: ACMPHS3 {
2976 _marker: PhantomData,
2977 },
2978 CRC: CRC {
2979 _marker: PhantomData,
2980 },
2981 DOC_B: DOC_B {
2982 _marker: PhantomData,
2983 },
2984 SCI_B0: SCI_B0 {
2985 _marker: PhantomData,
2986 },
2987 SCI_B1: SCI_B1 {
2988 _marker: PhantomData,
2989 },
2990 SCI_B2: SCI_B2 {
2991 _marker: PhantomData,
2992 },
2993 SCI_B3: SCI_B3 {
2994 _marker: PhantomData,
2995 },
2996 SCI_B4: SCI_B4 {
2997 _marker: PhantomData,
2998 },
2999 SCI_B9: SCI_B9 {
3000 _marker: PhantomData,
3001 },
3002 SPI_B0: SPI_B0 {
3003 _marker: PhantomData,
3004 },
3005 SPI_B1: SPI_B1 {
3006 _marker: PhantomData,
3007 },
3008 IIC_B0: IIC_B0 {
3009 _marker: PhantomData,
3010 },
3011 IIC0WU_B: IIC0WU_B {
3012 _marker: PhantomData,
3013 },
3014 IIC_B1: IIC_B1 {
3015 _marker: PhantomData,
3016 },
3017 ECCMB: ECCMB {
3018 _marker: PhantomData,
3019 },
3020 GPT320: GPT320 {
3021 _marker: PhantomData,
3022 },
3023 GPT321: GPT321 {
3024 _marker: PhantomData,
3025 },
3026 GPT322: GPT322 {
3027 _marker: PhantomData,
3028 },
3029 GPT323: GPT323 {
3030 _marker: PhantomData,
3031 },
3032 GPT324: GPT324 {
3033 _marker: PhantomData,
3034 },
3035 GPT325: GPT325 {
3036 _marker: PhantomData,
3037 },
3038 GPT326: GPT326 {
3039 _marker: PhantomData,
3040 },
3041 GPT327: GPT327 {
3042 _marker: PhantomData,
3043 },
3044 GPT328: GPT328 {
3045 _marker: PhantomData,
3046 },
3047 GPT329: GPT329 {
3048 _marker: PhantomData,
3049 },
3050 GPT_OPS: GPT_OPS {
3051 _marker: PhantomData,
3052 },
3053 GPT_GTCLK: GPT_GTCLK {
3054 _marker: PhantomData,
3055 },
3056 PDG: PDG {
3057 _marker: PhantomData,
3058 },
3059 ADC_B: ADC_B {
3060 _marker: PhantomData,
3061 },
3062 DAC120: DAC120 {
3063 _marker: PhantomData,
3064 },
3065 DAC121: DAC121 {
3066 _marker: PhantomData,
3067 },
3068 TSD: TSD {
3069 _marker: PhantomData,
3070 },
3071 FLAD: FLAD {
3072 _marker: PhantomData,
3073 },
3074 FACI: FACI {
3075 _marker: PhantomData,
3076 },
3077 }
3078 }
3079}