Skip to main content

ra6t1_pac/
lib.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.0, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:52:24 +0000
19#![cfg_attr(not(feature = "tracing"), no_std)]
20#![allow(non_camel_case_types)]
21#![doc = "Arm 32-bit Cortex-M4F Microcontroller based device, CPU clock up to 120MHz, etc."]
22pub mod common;
23pub use common::*;
24
25#[cfg(feature = "tracing")]
26pub mod reg_name;
27#[cfg(feature = "tracing")]
28pub mod tracing;
29
30#[cfg(feature = "acmphs0")]
31pub mod acmphs0;
32#[cfg(feature = "acmphs1")]
33pub mod acmphs1;
34#[cfg(feature = "adc120")]
35pub mod adc120;
36#[cfg(feature = "adc121")]
37pub mod adc121;
38#[cfg(feature = "agt0")]
39pub mod agt0;
40#[cfg(feature = "bus")]
41pub mod bus;
42#[cfg(feature = "cac")]
43pub mod cac;
44#[cfg(feature = "can0")]
45pub mod can0;
46#[cfg(feature = "crc")]
47pub mod crc;
48#[cfg(feature = "dac12")]
49pub mod dac12;
50#[cfg(feature = "dbg")]
51pub mod dbg;
52#[cfg(feature = "dma")]
53pub mod dma;
54#[cfg(feature = "dmac0")]
55pub mod dmac0;
56#[cfg(feature = "doc")]
57pub mod doc;
58#[cfg(feature = "dtc")]
59pub mod dtc;
60#[cfg(feature = "elc")]
61pub mod elc;
62#[cfg(feature = "fcache")]
63pub mod fcache;
64#[cfg(feature = "gpt328")]
65pub mod gpt328;
66#[cfg(feature = "gpt32eh0")]
67pub mod gpt32eh0;
68#[cfg(feature = "gpt_odc")]
69pub mod gpt_odc;
70#[cfg(feature = "gpt_ops")]
71pub mod gpt_ops;
72#[cfg(feature = "icu")]
73pub mod icu;
74#[cfg(feature = "iic0")]
75pub mod iic0;
76#[cfg(feature = "iic1")]
77pub mod iic1;
78#[cfg(feature = "irda")]
79pub mod irda;
80#[cfg(feature = "iwdt")]
81pub mod iwdt;
82#[cfg(feature = "kint")]
83pub mod kint;
84#[cfg(feature = "mmf")]
85pub mod mmf;
86#[cfg(feature = "mmpu")]
87pub mod mmpu;
88#[cfg(feature = "mstp")]
89pub mod mstp;
90#[cfg(feature = "pfs")]
91pub mod pfs;
92#[cfg(feature = "pmisc")]
93pub mod pmisc;
94#[cfg(feature = "poeg")]
95pub mod poeg;
96#[cfg(feature = "port0")]
97pub mod port0;
98#[cfg(feature = "port1")]
99pub mod port1;
100#[cfg(feature = "sci0")]
101pub mod sci0;
102#[cfg(feature = "smpu")]
103pub mod smpu;
104#[cfg(feature = "spi0")]
105pub mod spi0;
106#[cfg(feature = "spmon")]
107pub mod spmon;
108#[cfg(feature = "sram")]
109pub mod sram;
110#[cfg(feature = "src")]
111pub mod src;
112#[cfg(feature = "srcram")]
113pub mod srcram;
114#[cfg(feature = "system")]
115pub mod system;
116#[cfg(feature = "tsd")]
117pub mod tsd;
118#[cfg(feature = "tsn")]
119pub mod tsn;
120#[cfg(feature = "wdt")]
121pub mod wdt;
122
123#[cfg(feature = "dac12")]
124#[derive(Copy, Clone, Eq, PartialEq)]
125pub struct Dac12 {
126    ptr: *mut u8,
127}
128#[cfg(feature = "dac12")]
129pub const DAC12: self::Dac12 = self::Dac12 {
130    ptr: 0x4005e000u32 as _,
131};
132#[cfg(feature = "acmphs0")]
133#[derive(Copy, Clone, Eq, PartialEq)]
134pub struct Acmphs0 {
135    ptr: *mut u8,
136}
137#[cfg(feature = "acmphs0")]
138pub const ACMPHS0: self::Acmphs0 = self::Acmphs0 {
139    ptr: 0x40085000u32 as _,
140};
141#[cfg(feature = "acmphs1")]
142#[derive(Copy, Clone, Eq, PartialEq)]
143pub struct Acmphs1 {
144    ptr: *mut u8,
145}
146#[cfg(feature = "acmphs1")]
147pub const ACMPHS1: self::Acmphs1 = self::Acmphs1 {
148    ptr: 0x40085100u32 as _,
149};
150#[cfg(feature = "acmphs2")]
151pub const ACMPHS2: self::Acmphs1 = self::Acmphs1 {
152    ptr: 0x40085200u32 as _,
153};
154#[cfg(feature = "acmphs3")]
155pub const ACMPHS3: self::Acmphs1 = self::Acmphs1 {
156    ptr: 0x40085300u32 as _,
157};
158#[cfg(feature = "acmphs4")]
159pub const ACMPHS4: self::Acmphs1 = self::Acmphs1 {
160    ptr: 0x40085400u32 as _,
161};
162#[cfg(feature = "acmphs5")]
163pub const ACMPHS5: self::Acmphs1 = self::Acmphs1 {
164    ptr: 0x40085500u32 as _,
165};
166#[cfg(feature = "tsn")]
167#[derive(Copy, Clone, Eq, PartialEq)]
168pub struct Tsn {
169    ptr: *mut u8,
170}
171#[cfg(feature = "tsn")]
172pub const TSN: self::Tsn = self::Tsn {
173    ptr: 0x4005d000u32 as _,
174};
175#[cfg(feature = "crc")]
176#[derive(Copy, Clone, Eq, PartialEq)]
177pub struct Crc {
178    ptr: *mut u8,
179}
180#[cfg(feature = "crc")]
181pub const CRC: self::Crc = self::Crc {
182    ptr: 0x40074000u32 as _,
183};
184#[cfg(feature = "elc")]
185#[derive(Copy, Clone, Eq, PartialEq)]
186pub struct Elc {
187    ptr: *mut u8,
188}
189#[cfg(feature = "elc")]
190pub const ELC: self::Elc = self::Elc {
191    ptr: 0x40041000u32 as _,
192};
193#[cfg(feature = "cac")]
194#[derive(Copy, Clone, Eq, PartialEq)]
195pub struct Cac {
196    ptr: *mut u8,
197}
198#[cfg(feature = "cac")]
199pub const CAC: self::Cac = self::Cac {
200    ptr: 0x40044600u32 as _,
201};
202#[cfg(feature = "doc")]
203#[derive(Copy, Clone, Eq, PartialEq)]
204pub struct Doc {
205    ptr: *mut u8,
206}
207#[cfg(feature = "doc")]
208pub const DOC: self::Doc = self::Doc {
209    ptr: 0x40054100u32 as _,
210};
211#[cfg(feature = "iwdt")]
212#[derive(Copy, Clone, Eq, PartialEq)]
213pub struct Iwdt {
214    ptr: *mut u8,
215}
216#[cfg(feature = "iwdt")]
217pub const IWDT: self::Iwdt = self::Iwdt {
218    ptr: 0x40044400u32 as _,
219};
220#[cfg(feature = "kint")]
221#[derive(Copy, Clone, Eq, PartialEq)]
222pub struct Kint {
223    ptr: *mut u8,
224}
225#[cfg(feature = "kint")]
226pub const KINT: self::Kint = self::Kint {
227    ptr: 0x40080000u32 as _,
228};
229#[cfg(feature = "wdt")]
230#[derive(Copy, Clone, Eq, PartialEq)]
231pub struct Wdt {
232    ptr: *mut u8,
233}
234#[cfg(feature = "wdt")]
235pub const WDT: self::Wdt = self::Wdt {
236    ptr: 0x40044200u32 as _,
237};
238#[cfg(feature = "can0")]
239#[derive(Copy, Clone, Eq, PartialEq)]
240pub struct Can0 {
241    ptr: *mut u8,
242}
243#[cfg(feature = "can0")]
244pub const CAN0: self::Can0 = self::Can0 {
245    ptr: 0x40050000u32 as _,
246};
247#[cfg(feature = "can1")]
248pub const CAN1: self::Can0 = self::Can0 {
249    ptr: 0x40051000u32 as _,
250};
251#[cfg(feature = "irda")]
252#[derive(Copy, Clone, Eq, PartialEq)]
253pub struct Irda {
254    ptr: *mut u8,
255}
256#[cfg(feature = "irda")]
257pub const IRDA: self::Irda = self::Irda {
258    ptr: 0x40070f00u32 as _,
259};
260#[cfg(feature = "spi0")]
261#[derive(Copy, Clone, Eq, PartialEq)]
262pub struct Spi0 {
263    ptr: *mut u8,
264}
265#[cfg(feature = "spi0")]
266pub const SPI0: self::Spi0 = self::Spi0 {
267    ptr: 0x40072000u32 as _,
268};
269#[cfg(feature = "spi1")]
270pub const SPI1: self::Spi0 = self::Spi0 {
271    ptr: 0x40072100u32 as _,
272};
273#[cfg(feature = "srcram")]
274#[derive(Copy, Clone, Eq, PartialEq)]
275pub struct Srcram {
276    ptr: *mut u8,
277}
278#[cfg(feature = "srcram")]
279pub const SRCRAM: self::Srcram = self::Srcram {
280    ptr: 0x40048000u32 as _,
281};
282#[cfg(feature = "src")]
283#[derive(Copy, Clone, Eq, PartialEq)]
284pub struct Src {
285    ptr: *mut u8,
286}
287#[cfg(feature = "src")]
288pub const SRC: self::Src = self::Src {
289    ptr: 0x4004dff0u32 as _,
290};
291#[cfg(feature = "dbg")]
292#[derive(Copy, Clone, Eq, PartialEq)]
293pub struct Dbg {
294    ptr: *mut u8,
295}
296#[cfg(feature = "dbg")]
297pub const DBG: self::Dbg = self::Dbg {
298    ptr: 0x4001b000u32 as _,
299};
300#[cfg(feature = "dmac0")]
301#[derive(Copy, Clone, Eq, PartialEq)]
302pub struct Dmac0 {
303    ptr: *mut u8,
304}
305#[cfg(feature = "dmac0")]
306pub const DMAC0: self::Dmac0 = self::Dmac0 {
307    ptr: 0x40005000u32 as _,
308};
309#[cfg(feature = "dmac1")]
310pub const DMAC1: self::Dmac0 = self::Dmac0 {
311    ptr: 0x40005040u32 as _,
312};
313#[cfg(feature = "dmac2")]
314pub const DMAC2: self::Dmac0 = self::Dmac0 {
315    ptr: 0x40005080u32 as _,
316};
317#[cfg(feature = "dmac3")]
318pub const DMAC3: self::Dmac0 = self::Dmac0 {
319    ptr: 0x400050c0u32 as _,
320};
321#[cfg(feature = "dmac4")]
322pub const DMAC4: self::Dmac0 = self::Dmac0 {
323    ptr: 0x40005100u32 as _,
324};
325#[cfg(feature = "dmac5")]
326pub const DMAC5: self::Dmac0 = self::Dmac0 {
327    ptr: 0x40005140u32 as _,
328};
329#[cfg(feature = "dmac6")]
330pub const DMAC6: self::Dmac0 = self::Dmac0 {
331    ptr: 0x40005180u32 as _,
332};
333#[cfg(feature = "dmac7")]
334pub const DMAC7: self::Dmac0 = self::Dmac0 {
335    ptr: 0x400051c0u32 as _,
336};
337#[cfg(feature = "dma")]
338#[derive(Copy, Clone, Eq, PartialEq)]
339pub struct Dma {
340    ptr: *mut u8,
341}
342#[cfg(feature = "dma")]
343pub const DMA: self::Dma = self::Dma {
344    ptr: 0x40005200u32 as _,
345};
346#[cfg(feature = "dtc")]
347#[derive(Copy, Clone, Eq, PartialEq)]
348pub struct Dtc {
349    ptr: *mut u8,
350}
351#[cfg(feature = "dtc")]
352pub const DTC: self::Dtc = self::Dtc {
353    ptr: 0x40005400u32 as _,
354};
355#[cfg(feature = "mmf")]
356#[derive(Copy, Clone, Eq, PartialEq)]
357pub struct Mmf {
358    ptr: *mut u8,
359}
360#[cfg(feature = "mmf")]
361pub const MMF: self::Mmf = self::Mmf {
362    ptr: 0x40001000u32 as _,
363};
364#[cfg(feature = "sram")]
365#[derive(Copy, Clone, Eq, PartialEq)]
366pub struct Sram {
367    ptr: *mut u8,
368}
369#[cfg(feature = "sram")]
370pub const SRAM: self::Sram = self::Sram {
371    ptr: 0x40002000u32 as _,
372};
373#[cfg(feature = "fcache")]
374#[derive(Copy, Clone, Eq, PartialEq)]
375pub struct Fcache {
376    ptr: *mut u8,
377}
378#[cfg(feature = "fcache")]
379pub const FCACHE: self::Fcache = self::Fcache {
380    ptr: 0x4001c000u32 as _,
381};
382#[cfg(feature = "system")]
383#[derive(Copy, Clone, Eq, PartialEq)]
384pub struct System {
385    ptr: *mut u8,
386}
387#[cfg(feature = "system")]
388pub const SYSTEM: self::System = self::System {
389    ptr: 0x4001e000u32 as _,
390};
391#[cfg(feature = "mstp")]
392#[derive(Copy, Clone, Eq, PartialEq)]
393pub struct Mstp {
394    ptr: *mut u8,
395}
396#[cfg(feature = "mstp")]
397pub const MSTP: self::Mstp = self::Mstp {
398    ptr: 0x40047000u32 as _,
399};
400#[cfg(feature = "agt0")]
401#[derive(Copy, Clone, Eq, PartialEq)]
402pub struct Agt0 {
403    ptr: *mut u8,
404}
405#[cfg(feature = "agt0")]
406pub const AGT0: self::Agt0 = self::Agt0 {
407    ptr: 0x40084000u32 as _,
408};
409#[cfg(feature = "agt1")]
410pub const AGT1: self::Agt0 = self::Agt0 {
411    ptr: 0x40084100u32 as _,
412};
413#[cfg(feature = "gpt_ops")]
414#[derive(Copy, Clone, Eq, PartialEq)]
415pub struct GptOps {
416    ptr: *mut u8,
417}
418#[cfg(feature = "gpt_ops")]
419pub const GPT_OPS: self::GptOps = self::GptOps {
420    ptr: 0x40078ff0u32 as _,
421};
422#[cfg(feature = "gpt32eh0")]
423#[derive(Copy, Clone, Eq, PartialEq)]
424pub struct Gpt32Eh0 {
425    ptr: *mut u8,
426}
427#[cfg(feature = "gpt32eh0")]
428pub const GPT32EH0: self::Gpt32Eh0 = self::Gpt32Eh0 {
429    ptr: 0x40078000u32 as _,
430};
431#[cfg(feature = "gpt32eh1")]
432pub const GPT32EH1: self::Gpt32Eh0 = self::Gpt32Eh0 {
433    ptr: 0x40078100u32 as _,
434};
435#[cfg(feature = "gpt32eh2")]
436pub const GPT32EH2: self::Gpt32Eh0 = self::Gpt32Eh0 {
437    ptr: 0x40078200u32 as _,
438};
439#[cfg(feature = "gpt32eh3")]
440pub const GPT32EH3: self::Gpt32Eh0 = self::Gpt32Eh0 {
441    ptr: 0x40078300u32 as _,
442};
443#[cfg(feature = "gpt32e4")]
444pub const GPT32E4: self::Gpt32Eh0 = self::Gpt32Eh0 {
445    ptr: 0x40078400u32 as _,
446};
447#[cfg(feature = "gpt32e5")]
448pub const GPT32E5: self::Gpt32Eh0 = self::Gpt32Eh0 {
449    ptr: 0x40078500u32 as _,
450};
451#[cfg(feature = "gpt32e6")]
452pub const GPT32E6: self::Gpt32Eh0 = self::Gpt32Eh0 {
453    ptr: 0x40078600u32 as _,
454};
455#[cfg(feature = "gpt32e7")]
456pub const GPT32E7: self::Gpt32Eh0 = self::Gpt32Eh0 {
457    ptr: 0x40078700u32 as _,
458};
459#[cfg(feature = "poeg")]
460#[derive(Copy, Clone, Eq, PartialEq)]
461pub struct Poeg {
462    ptr: *mut u8,
463}
464#[cfg(feature = "poeg")]
465pub const POEG: self::Poeg = self::Poeg {
466    ptr: 0x40042000u32 as _,
467};
468#[cfg(feature = "gpt_odc")]
469#[derive(Copy, Clone, Eq, PartialEq)]
470pub struct GptOdc {
471    ptr: *mut u8,
472}
473#[cfg(feature = "gpt_odc")]
474pub const GPT_ODC: self::GptOdc = self::GptOdc {
475    ptr: 0x4007b000u32 as _,
476};
477#[cfg(feature = "bus")]
478#[derive(Copy, Clone, Eq, PartialEq)]
479pub struct Bus {
480    ptr: *mut u8,
481}
482#[cfg(feature = "bus")]
483pub const BUS: self::Bus = self::Bus {
484    ptr: 0x40003000u32 as _,
485};
486#[cfg(feature = "icu")]
487#[derive(Copy, Clone, Eq, PartialEq)]
488pub struct Icu {
489    ptr: *mut u8,
490}
491#[cfg(feature = "icu")]
492pub const ICU: self::Icu = self::Icu {
493    ptr: 0x40006000u32 as _,
494};
495#[cfg(feature = "port0")]
496#[derive(Copy, Clone, Eq, PartialEq)]
497pub struct Port0 {
498    ptr: *mut u8,
499}
500#[cfg(feature = "port0")]
501pub const PORT0: self::Port0 = self::Port0 {
502    ptr: 0x40040000u32 as _,
503};
504#[cfg(feature = "port1")]
505#[derive(Copy, Clone, Eq, PartialEq)]
506pub struct Port1 {
507    ptr: *mut u8,
508}
509#[cfg(feature = "port1")]
510pub const PORT1: self::Port1 = self::Port1 {
511    ptr: 0x40040020u32 as _,
512};
513#[cfg(feature = "port2")]
514pub const PORT2: self::Port1 = self::Port1 {
515    ptr: 0x40040040u32 as _,
516};
517#[cfg(feature = "port3")]
518pub const PORT3: self::Port1 = self::Port1 {
519    ptr: 0x40040060u32 as _,
520};
521#[cfg(feature = "port4")]
522pub const PORT4: self::Port1 = self::Port1 {
523    ptr: 0x40040080u32 as _,
524};
525#[cfg(feature = "port5")]
526pub const PORT5: self::Port0 = self::Port0 {
527    ptr: 0x400400a0u32 as _,
528};
529#[cfg(feature = "port6")]
530pub const PORT6: self::Port0 = self::Port0 {
531    ptr: 0x400400c0u32 as _,
532};
533#[cfg(feature = "port7")]
534pub const PORT7: self::Port0 = self::Port0 {
535    ptr: 0x400400e0u32 as _,
536};
537#[cfg(feature = "pfs")]
538#[derive(Copy, Clone, Eq, PartialEq)]
539pub struct Pfs {
540    ptr: *mut u8,
541}
542#[cfg(feature = "pfs")]
543pub const PFS: self::Pfs = self::Pfs {
544    ptr: 0x40040800u32 as _,
545};
546#[cfg(feature = "pmisc")]
547#[derive(Copy, Clone, Eq, PartialEq)]
548pub struct Pmisc {
549    ptr: *mut u8,
550}
551#[cfg(feature = "pmisc")]
552pub const PMISC: self::Pmisc = self::Pmisc {
553    ptr: 0x40040d00u32 as _,
554};
555#[cfg(feature = "iic0")]
556#[derive(Copy, Clone, Eq, PartialEq)]
557pub struct Iic0 {
558    ptr: *mut u8,
559}
560#[cfg(feature = "iic0")]
561pub const IIC0: self::Iic0 = self::Iic0 {
562    ptr: 0x40053000u32 as _,
563};
564#[cfg(feature = "iic1")]
565#[derive(Copy, Clone, Eq, PartialEq)]
566pub struct Iic1 {
567    ptr: *mut u8,
568}
569#[cfg(feature = "iic1")]
570pub const IIC1: self::Iic1 = self::Iic1 {
571    ptr: 0x40053100u32 as _,
572};
573#[cfg(feature = "sci0")]
574#[derive(Copy, Clone, Eq, PartialEq)]
575pub struct Sci0 {
576    ptr: *mut u8,
577}
578#[cfg(feature = "sci0")]
579pub const SCI0: self::Sci0 = self::Sci0 {
580    ptr: 0x40070000u32 as _,
581};
582#[cfg(feature = "sci1")]
583pub const SCI1: self::Sci0 = self::Sci0 {
584    ptr: 0x40070020u32 as _,
585};
586#[cfg(feature = "sci2")]
587pub const SCI2: self::Sci0 = self::Sci0 {
588    ptr: 0x40070040u32 as _,
589};
590#[cfg(feature = "sci3")]
591pub const SCI3: self::Sci0 = self::Sci0 {
592    ptr: 0x40070060u32 as _,
593};
594#[cfg(feature = "sci4")]
595pub const SCI4: self::Sci0 = self::Sci0 {
596    ptr: 0x40070080u32 as _,
597};
598#[cfg(feature = "sci8")]
599pub const SCI8: self::Sci0 = self::Sci0 {
600    ptr: 0x40070100u32 as _,
601};
602#[cfg(feature = "sci9")]
603pub const SCI9: self::Sci0 = self::Sci0 {
604    ptr: 0x40070120u32 as _,
605};
606#[cfg(feature = "gpt328")]
607#[derive(Copy, Clone, Eq, PartialEq)]
608pub struct Gpt328 {
609    ptr: *mut u8,
610}
611#[cfg(feature = "gpt328")]
612pub const GPT328: self::Gpt328 = self::Gpt328 {
613    ptr: 0x40078800u32 as _,
614};
615#[cfg(feature = "gpt329")]
616pub const GPT329: self::Gpt328 = self::Gpt328 {
617    ptr: 0x40078900u32 as _,
618};
619#[cfg(feature = "gpt3210")]
620pub const GPT3210: self::Gpt328 = self::Gpt328 {
621    ptr: 0x40078a00u32 as _,
622};
623#[cfg(feature = "gpt3211")]
624pub const GPT3211: self::Gpt328 = self::Gpt328 {
625    ptr: 0x40078b00u32 as _,
626};
627#[cfg(feature = "gpt3212")]
628pub const GPT3212: self::Gpt328 = self::Gpt328 {
629    ptr: 0x40078c00u32 as _,
630};
631#[cfg(feature = "adc120")]
632#[derive(Copy, Clone, Eq, PartialEq)]
633pub struct Adc120 {
634    ptr: *mut u8,
635}
636#[cfg(feature = "adc120")]
637pub const ADC120: self::Adc120 = self::Adc120 {
638    ptr: 0x4005c000u32 as _,
639};
640#[cfg(feature = "adc121")]
641#[derive(Copy, Clone, Eq, PartialEq)]
642pub struct Adc121 {
643    ptr: *mut u8,
644}
645#[cfg(feature = "adc121")]
646pub const ADC121: self::Adc121 = self::Adc121 {
647    ptr: 0x4005c200u32 as _,
648};
649#[cfg(feature = "mmpu")]
650#[derive(Copy, Clone, Eq, PartialEq)]
651pub struct Mmpu {
652    ptr: *mut u8,
653}
654#[cfg(feature = "mmpu")]
655pub const MMPU: self::Mmpu = self::Mmpu {
656    ptr: 0x40000000u32 as _,
657};
658#[cfg(feature = "smpu")]
659#[derive(Copy, Clone, Eq, PartialEq)]
660pub struct Smpu {
661    ptr: *mut u8,
662}
663#[cfg(feature = "smpu")]
664pub const SMPU: self::Smpu = self::Smpu {
665    ptr: 0x40000c00u32 as _,
666};
667#[cfg(feature = "spmon")]
668#[derive(Copy, Clone, Eq, PartialEq)]
669pub struct Spmon {
670    ptr: *mut u8,
671}
672#[cfg(feature = "spmon")]
673pub const SPMON: self::Spmon = self::Spmon {
674    ptr: 0x40000d00u32 as _,
675};
676#[cfg(feature = "tsd")]
677#[derive(Copy, Clone, Eq, PartialEq)]
678pub struct Tsd {
679    ptr: *mut u8,
680}
681#[cfg(feature = "tsd")]
682pub const TSD: self::Tsd = self::Tsd {
683    ptr: 0x407fb17cu32 as _,
684};
685
686pub use cortex_m::peripheral::Peripherals as CorePeripherals;
687pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
688#[doc = "Number available in the NVIC for configuring priority"]
689pub const NVIC_PRIO_BITS: u8 = 4;
690#[doc(hidden)]
691pub union Vector {
692    _handler: unsafe extern "C" fn(),
693    _reserved: u32,
694}
695#[cfg(feature = "rt")]
696pub use self::Interrupt as interrupt;
697#[cfg(feature = "rt")]
698pub use cortex_m_rt::interrupt;
699#[cfg(feature = "rt")]
700pub mod interrupt_handlers {
701    unsafe extern "C" {
702        pub fn IEL0();
703        pub fn IEL1();
704        pub fn IEL2();
705        pub fn IEL3();
706        pub fn IEL4();
707        pub fn IEL5();
708        pub fn IEL6();
709        pub fn IEL7();
710        pub fn IEL8();
711        pub fn IEL9();
712        pub fn IEL10();
713        pub fn IEL11();
714        pub fn IEL12();
715        pub fn IEL13();
716        pub fn IEL14();
717        pub fn IEL15();
718        pub fn IEL16();
719        pub fn IEL17();
720        pub fn IEL18();
721        pub fn IEL19();
722        pub fn IEL20();
723        pub fn IEL21();
724        pub fn IEL22();
725        pub fn IEL23();
726        pub fn IEL24();
727        pub fn IEL25();
728        pub fn IEL26();
729        pub fn IEL27();
730        pub fn IEL28();
731        pub fn IEL29();
732        pub fn IEL30();
733        pub fn IEL31();
734        pub fn IEL32();
735        pub fn IEL33();
736        pub fn IEL34();
737        pub fn IEL35();
738        pub fn IEL36();
739        pub fn IEL37();
740        pub fn IEL38();
741        pub fn IEL39();
742        pub fn IEL40();
743        pub fn IEL41();
744        pub fn IEL42();
745        pub fn IEL43();
746        pub fn IEL44();
747        pub fn IEL45();
748        pub fn IEL46();
749        pub fn IEL47();
750        pub fn IEL48();
751        pub fn IEL49();
752        pub fn IEL50();
753        pub fn IEL51();
754        pub fn IEL52();
755        pub fn IEL53();
756        pub fn IEL54();
757        pub fn IEL55();
758        pub fn IEL56();
759        pub fn IEL57();
760        pub fn IEL58();
761        pub fn IEL59();
762        pub fn IEL60();
763        pub fn IEL61();
764        pub fn IEL62();
765        pub fn IEL63();
766        pub fn IEL64();
767        pub fn IEL65();
768        pub fn IEL66();
769        pub fn IEL67();
770        pub fn IEL68();
771        pub fn IEL69();
772        pub fn IEL70();
773        pub fn IEL71();
774        pub fn IEL72();
775        pub fn IEL73();
776        pub fn IEL74();
777        pub fn IEL75();
778        pub fn IEL76();
779        pub fn IEL77();
780        pub fn IEL78();
781        pub fn IEL79();
782        pub fn IEL80();
783        pub fn IEL81();
784        pub fn IEL82();
785        pub fn IEL83();
786        pub fn IEL84();
787        pub fn IEL85();
788        pub fn IEL86();
789        pub fn IEL87();
790        pub fn IEL88();
791        pub fn IEL89();
792        pub fn IEL90();
793        pub fn IEL91();
794        pub fn IEL92();
795        pub fn IEL93();
796        pub fn IEL94();
797        pub fn IEL95();
798    }
799}
800#[cfg(feature = "rt")]
801#[doc(hidden)]
802#[unsafe(link_section = ".vector_table.interrupts")]
803#[unsafe(no_mangle)]
804pub static __INTERRUPTS: [Vector; 96] = [
805    Vector {
806        _handler: interrupt_handlers::IEL0,
807    },
808    Vector {
809        _handler: interrupt_handlers::IEL1,
810    },
811    Vector {
812        _handler: interrupt_handlers::IEL2,
813    },
814    Vector {
815        _handler: interrupt_handlers::IEL3,
816    },
817    Vector {
818        _handler: interrupt_handlers::IEL4,
819    },
820    Vector {
821        _handler: interrupt_handlers::IEL5,
822    },
823    Vector {
824        _handler: interrupt_handlers::IEL6,
825    },
826    Vector {
827        _handler: interrupt_handlers::IEL7,
828    },
829    Vector {
830        _handler: interrupt_handlers::IEL8,
831    },
832    Vector {
833        _handler: interrupt_handlers::IEL9,
834    },
835    Vector {
836        _handler: interrupt_handlers::IEL10,
837    },
838    Vector {
839        _handler: interrupt_handlers::IEL11,
840    },
841    Vector {
842        _handler: interrupt_handlers::IEL12,
843    },
844    Vector {
845        _handler: interrupt_handlers::IEL13,
846    },
847    Vector {
848        _handler: interrupt_handlers::IEL14,
849    },
850    Vector {
851        _handler: interrupt_handlers::IEL15,
852    },
853    Vector {
854        _handler: interrupt_handlers::IEL16,
855    },
856    Vector {
857        _handler: interrupt_handlers::IEL17,
858    },
859    Vector {
860        _handler: interrupt_handlers::IEL18,
861    },
862    Vector {
863        _handler: interrupt_handlers::IEL19,
864    },
865    Vector {
866        _handler: interrupt_handlers::IEL20,
867    },
868    Vector {
869        _handler: interrupt_handlers::IEL21,
870    },
871    Vector {
872        _handler: interrupt_handlers::IEL22,
873    },
874    Vector {
875        _handler: interrupt_handlers::IEL23,
876    },
877    Vector {
878        _handler: interrupt_handlers::IEL24,
879    },
880    Vector {
881        _handler: interrupt_handlers::IEL25,
882    },
883    Vector {
884        _handler: interrupt_handlers::IEL26,
885    },
886    Vector {
887        _handler: interrupt_handlers::IEL27,
888    },
889    Vector {
890        _handler: interrupt_handlers::IEL28,
891    },
892    Vector {
893        _handler: interrupt_handlers::IEL29,
894    },
895    Vector {
896        _handler: interrupt_handlers::IEL30,
897    },
898    Vector {
899        _handler: interrupt_handlers::IEL31,
900    },
901    Vector {
902        _handler: interrupt_handlers::IEL32,
903    },
904    Vector {
905        _handler: interrupt_handlers::IEL33,
906    },
907    Vector {
908        _handler: interrupt_handlers::IEL34,
909    },
910    Vector {
911        _handler: interrupt_handlers::IEL35,
912    },
913    Vector {
914        _handler: interrupt_handlers::IEL36,
915    },
916    Vector {
917        _handler: interrupt_handlers::IEL37,
918    },
919    Vector {
920        _handler: interrupt_handlers::IEL38,
921    },
922    Vector {
923        _handler: interrupt_handlers::IEL39,
924    },
925    Vector {
926        _handler: interrupt_handlers::IEL40,
927    },
928    Vector {
929        _handler: interrupt_handlers::IEL41,
930    },
931    Vector {
932        _handler: interrupt_handlers::IEL42,
933    },
934    Vector {
935        _handler: interrupt_handlers::IEL43,
936    },
937    Vector {
938        _handler: interrupt_handlers::IEL44,
939    },
940    Vector {
941        _handler: interrupt_handlers::IEL45,
942    },
943    Vector {
944        _handler: interrupt_handlers::IEL46,
945    },
946    Vector {
947        _handler: interrupt_handlers::IEL47,
948    },
949    Vector {
950        _handler: interrupt_handlers::IEL48,
951    },
952    Vector {
953        _handler: interrupt_handlers::IEL49,
954    },
955    Vector {
956        _handler: interrupt_handlers::IEL50,
957    },
958    Vector {
959        _handler: interrupt_handlers::IEL51,
960    },
961    Vector {
962        _handler: interrupt_handlers::IEL52,
963    },
964    Vector {
965        _handler: interrupt_handlers::IEL53,
966    },
967    Vector {
968        _handler: interrupt_handlers::IEL54,
969    },
970    Vector {
971        _handler: interrupt_handlers::IEL55,
972    },
973    Vector {
974        _handler: interrupt_handlers::IEL56,
975    },
976    Vector {
977        _handler: interrupt_handlers::IEL57,
978    },
979    Vector {
980        _handler: interrupt_handlers::IEL58,
981    },
982    Vector {
983        _handler: interrupt_handlers::IEL59,
984    },
985    Vector {
986        _handler: interrupt_handlers::IEL60,
987    },
988    Vector {
989        _handler: interrupt_handlers::IEL61,
990    },
991    Vector {
992        _handler: interrupt_handlers::IEL62,
993    },
994    Vector {
995        _handler: interrupt_handlers::IEL63,
996    },
997    Vector {
998        _handler: interrupt_handlers::IEL64,
999    },
1000    Vector {
1001        _handler: interrupt_handlers::IEL65,
1002    },
1003    Vector {
1004        _handler: interrupt_handlers::IEL66,
1005    },
1006    Vector {
1007        _handler: interrupt_handlers::IEL67,
1008    },
1009    Vector {
1010        _handler: interrupt_handlers::IEL68,
1011    },
1012    Vector {
1013        _handler: interrupt_handlers::IEL69,
1014    },
1015    Vector {
1016        _handler: interrupt_handlers::IEL70,
1017    },
1018    Vector {
1019        _handler: interrupt_handlers::IEL71,
1020    },
1021    Vector {
1022        _handler: interrupt_handlers::IEL72,
1023    },
1024    Vector {
1025        _handler: interrupt_handlers::IEL73,
1026    },
1027    Vector {
1028        _handler: interrupt_handlers::IEL74,
1029    },
1030    Vector {
1031        _handler: interrupt_handlers::IEL75,
1032    },
1033    Vector {
1034        _handler: interrupt_handlers::IEL76,
1035    },
1036    Vector {
1037        _handler: interrupt_handlers::IEL77,
1038    },
1039    Vector {
1040        _handler: interrupt_handlers::IEL78,
1041    },
1042    Vector {
1043        _handler: interrupt_handlers::IEL79,
1044    },
1045    Vector {
1046        _handler: interrupt_handlers::IEL80,
1047    },
1048    Vector {
1049        _handler: interrupt_handlers::IEL81,
1050    },
1051    Vector {
1052        _handler: interrupt_handlers::IEL82,
1053    },
1054    Vector {
1055        _handler: interrupt_handlers::IEL83,
1056    },
1057    Vector {
1058        _handler: interrupt_handlers::IEL84,
1059    },
1060    Vector {
1061        _handler: interrupt_handlers::IEL85,
1062    },
1063    Vector {
1064        _handler: interrupt_handlers::IEL86,
1065    },
1066    Vector {
1067        _handler: interrupt_handlers::IEL87,
1068    },
1069    Vector {
1070        _handler: interrupt_handlers::IEL88,
1071    },
1072    Vector {
1073        _handler: interrupt_handlers::IEL89,
1074    },
1075    Vector {
1076        _handler: interrupt_handlers::IEL90,
1077    },
1078    Vector {
1079        _handler: interrupt_handlers::IEL91,
1080    },
1081    Vector {
1082        _handler: interrupt_handlers::IEL92,
1083    },
1084    Vector {
1085        _handler: interrupt_handlers::IEL93,
1086    },
1087    Vector {
1088        _handler: interrupt_handlers::IEL94,
1089    },
1090    Vector {
1091        _handler: interrupt_handlers::IEL95,
1092    },
1093];
1094#[doc = "Enumeration of all the interrupts."]
1095#[derive(Copy, Clone, Debug, PartialEq, Eq)]
1096#[repr(u16)]
1097pub enum Interrupt {
1098    #[doc = "ICU Interrupt 0"]
1099    IEL0 = 0,
1100
1101    #[doc = "ICU Interrupt 1"]
1102    IEL1 = 1,
1103
1104    #[doc = "ICU Interrupt 2"]
1105    IEL2 = 2,
1106
1107    #[doc = "ICU Interrupt 3"]
1108    IEL3 = 3,
1109
1110    #[doc = "ICU Interrupt 4"]
1111    IEL4 = 4,
1112
1113    #[doc = "ICU Interrupt 5"]
1114    IEL5 = 5,
1115
1116    #[doc = "ICU Interrupt 6"]
1117    IEL6 = 6,
1118
1119    #[doc = "ICU Interrupt 7"]
1120    IEL7 = 7,
1121
1122    #[doc = "ICU Interrupt 8"]
1123    IEL8 = 8,
1124
1125    #[doc = "ICU Interrupt 9"]
1126    IEL9 = 9,
1127
1128    #[doc = "ICU Interrupt 10"]
1129    IEL10 = 10,
1130
1131    #[doc = "ICU Interrupt 11"]
1132    IEL11 = 11,
1133
1134    #[doc = "ICU Interrupt 12"]
1135    IEL12 = 12,
1136
1137    #[doc = "ICU Interrupt 13"]
1138    IEL13 = 13,
1139
1140    #[doc = "ICU Interrupt 14"]
1141    IEL14 = 14,
1142
1143    #[doc = "ICU Interrupt 15"]
1144    IEL15 = 15,
1145
1146    #[doc = "ICU Interrupt 16"]
1147    IEL16 = 16,
1148
1149    #[doc = "ICU Interrupt 17"]
1150    IEL17 = 17,
1151
1152    #[doc = "ICU Interrupt 18"]
1153    IEL18 = 18,
1154
1155    #[doc = "ICU Interrupt 19"]
1156    IEL19 = 19,
1157
1158    #[doc = "ICU Interrupt 20"]
1159    IEL20 = 20,
1160
1161    #[doc = "ICU Interrupt 21"]
1162    IEL21 = 21,
1163
1164    #[doc = "ICU Interrupt 22"]
1165    IEL22 = 22,
1166
1167    #[doc = "ICU Interrupt 23"]
1168    IEL23 = 23,
1169
1170    #[doc = "ICU Interrupt 24"]
1171    IEL24 = 24,
1172
1173    #[doc = "ICU Interrupt 25"]
1174    IEL25 = 25,
1175
1176    #[doc = "ICU Interrupt 26"]
1177    IEL26 = 26,
1178
1179    #[doc = "ICU Interrupt 27"]
1180    IEL27 = 27,
1181
1182    #[doc = "ICU Interrupt 28"]
1183    IEL28 = 28,
1184
1185    #[doc = "ICU Interrupt 29"]
1186    IEL29 = 29,
1187
1188    #[doc = "ICU Interrupt 30"]
1189    IEL30 = 30,
1190
1191    #[doc = "ICU Interrupt 31"]
1192    IEL31 = 31,
1193
1194    #[doc = "ICU Interrupt 32"]
1195    IEL32 = 32,
1196
1197    #[doc = "ICU Interrupt 33"]
1198    IEL33 = 33,
1199
1200    #[doc = "ICU Interrupt 34"]
1201    IEL34 = 34,
1202
1203    #[doc = "ICU Interrupt 35"]
1204    IEL35 = 35,
1205
1206    #[doc = "ICU Interrupt 36"]
1207    IEL36 = 36,
1208
1209    #[doc = "ICU Interrupt 37"]
1210    IEL37 = 37,
1211
1212    #[doc = "ICU Interrupt 38"]
1213    IEL38 = 38,
1214
1215    #[doc = "ICU Interrupt 39"]
1216    IEL39 = 39,
1217
1218    #[doc = "ICU Interrupt 40"]
1219    IEL40 = 40,
1220
1221    #[doc = "ICU Interrupt 41"]
1222    IEL41 = 41,
1223
1224    #[doc = "ICU Interrupt 42"]
1225    IEL42 = 42,
1226
1227    #[doc = "ICU Interrupt 43"]
1228    IEL43 = 43,
1229
1230    #[doc = "ICU Interrupt 44"]
1231    IEL44 = 44,
1232
1233    #[doc = "ICU Interrupt 45"]
1234    IEL45 = 45,
1235
1236    #[doc = "ICU Interrupt 46"]
1237    IEL46 = 46,
1238
1239    #[doc = "ICU Interrupt 47"]
1240    IEL47 = 47,
1241
1242    #[doc = "ICU Interrupt 48"]
1243    IEL48 = 48,
1244
1245    #[doc = "ICU Interrupt 49"]
1246    IEL49 = 49,
1247
1248    #[doc = "ICU Interrupt 50"]
1249    IEL50 = 50,
1250
1251    #[doc = "ICU Interrupt 51"]
1252    IEL51 = 51,
1253
1254    #[doc = "ICU Interrupt 52"]
1255    IEL52 = 52,
1256
1257    #[doc = "ICU Interrupt 53"]
1258    IEL53 = 53,
1259
1260    #[doc = "ICU Interrupt 54"]
1261    IEL54 = 54,
1262
1263    #[doc = "ICU Interrupt 55"]
1264    IEL55 = 55,
1265
1266    #[doc = "ICU Interrupt 56"]
1267    IEL56 = 56,
1268
1269    #[doc = "ICU Interrupt 57"]
1270    IEL57 = 57,
1271
1272    #[doc = "ICU Interrupt 58"]
1273    IEL58 = 58,
1274
1275    #[doc = "ICU Interrupt 59"]
1276    IEL59 = 59,
1277
1278    #[doc = "ICU Interrupt 60"]
1279    IEL60 = 60,
1280
1281    #[doc = "ICU Interrupt 61"]
1282    IEL61 = 61,
1283
1284    #[doc = "ICU Interrupt 62"]
1285    IEL62 = 62,
1286
1287    #[doc = "ICU Interrupt 63"]
1288    IEL63 = 63,
1289
1290    #[doc = "ICU Interrupt 64"]
1291    IEL64 = 64,
1292
1293    #[doc = "ICU Interrupt 65"]
1294    IEL65 = 65,
1295
1296    #[doc = "ICU Interrupt 66"]
1297    IEL66 = 66,
1298
1299    #[doc = "ICU Interrupt 67"]
1300    IEL67 = 67,
1301
1302    #[doc = "ICU Interrupt 68"]
1303    IEL68 = 68,
1304
1305    #[doc = "ICU Interrupt 69"]
1306    IEL69 = 69,
1307
1308    #[doc = "ICU Interrupt 70"]
1309    IEL70 = 70,
1310
1311    #[doc = "ICU Interrupt 71"]
1312    IEL71 = 71,
1313
1314    #[doc = "ICU Interrupt 72"]
1315    IEL72 = 72,
1316
1317    #[doc = "ICU Interrupt 73"]
1318    IEL73 = 73,
1319
1320    #[doc = "ICU Interrupt 74"]
1321    IEL74 = 74,
1322
1323    #[doc = "ICU Interrupt 75"]
1324    IEL75 = 75,
1325
1326    #[doc = "ICU Interrupt 76"]
1327    IEL76 = 76,
1328
1329    #[doc = "ICU Interrupt 77"]
1330    IEL77 = 77,
1331
1332    #[doc = "ICU Interrupt 78"]
1333    IEL78 = 78,
1334
1335    #[doc = "ICU Interrupt 79"]
1336    IEL79 = 79,
1337
1338    #[doc = "ICU Interrupt 80"]
1339    IEL80 = 80,
1340
1341    #[doc = "ICU Interrupt 81"]
1342    IEL81 = 81,
1343
1344    #[doc = "ICU Interrupt 82"]
1345    IEL82 = 82,
1346
1347    #[doc = "ICU Interrupt 83"]
1348    IEL83 = 83,
1349
1350    #[doc = "ICU Interrupt 84"]
1351    IEL84 = 84,
1352
1353    #[doc = "ICU Interrupt 85"]
1354    IEL85 = 85,
1355
1356    #[doc = "ICU Interrupt 86"]
1357    IEL86 = 86,
1358
1359    #[doc = "ICU Interrupt 87"]
1360    IEL87 = 87,
1361
1362    #[doc = "ICU Interrupt 88"]
1363    IEL88 = 88,
1364
1365    #[doc = "ICU Interrupt 89"]
1366    IEL89 = 89,
1367
1368    #[doc = "ICU Interrupt 90"]
1369    IEL90 = 90,
1370
1371    #[doc = "ICU Interrupt 91"]
1372    IEL91 = 91,
1373
1374    #[doc = "ICU Interrupt 92"]
1375    IEL92 = 92,
1376
1377    #[doc = "ICU Interrupt 93"]
1378    IEL93 = 93,
1379
1380    #[doc = "ICU Interrupt 94"]
1381    IEL94 = 94,
1382
1383    #[doc = "ICU Interrupt 95"]
1384    IEL95 = 95,
1385}
1386unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
1387    #[inline(always)]
1388    fn number(self) -> u16 {
1389        self as u16
1390    }
1391}
1392#[allow(non_snake_case)]
1393/// Required for compatibility with RTIC and other frameworks
1394pub struct Peripherals {
1395    #[cfg(feature = "dac12")]
1396    pub DAC12: self::Dac12,
1397    #[cfg(feature = "acmphs0")]
1398    pub ACMPHS0: self::Acmphs0,
1399    #[cfg(feature = "acmphs1")]
1400    pub ACMPHS1: self::Acmphs1,
1401    #[cfg(feature = "acmphs2")]
1402    pub ACMPHS2: self::Acmphs1,
1403    #[cfg(feature = "acmphs3")]
1404    pub ACMPHS3: self::Acmphs1,
1405    #[cfg(feature = "acmphs4")]
1406    pub ACMPHS4: self::Acmphs1,
1407    #[cfg(feature = "acmphs5")]
1408    pub ACMPHS5: self::Acmphs1,
1409    #[cfg(feature = "tsn")]
1410    pub TSN: self::Tsn,
1411    #[cfg(feature = "crc")]
1412    pub CRC: self::Crc,
1413    #[cfg(feature = "elc")]
1414    pub ELC: self::Elc,
1415    #[cfg(feature = "cac")]
1416    pub CAC: self::Cac,
1417    #[cfg(feature = "doc")]
1418    pub DOC: self::Doc,
1419    #[cfg(feature = "iwdt")]
1420    pub IWDT: self::Iwdt,
1421    #[cfg(feature = "kint")]
1422    pub KINT: self::Kint,
1423    #[cfg(feature = "wdt")]
1424    pub WDT: self::Wdt,
1425    #[cfg(feature = "can0")]
1426    pub CAN0: self::Can0,
1427    #[cfg(feature = "can1")]
1428    pub CAN1: self::Can0,
1429    #[cfg(feature = "irda")]
1430    pub IRDA: self::Irda,
1431    #[cfg(feature = "spi0")]
1432    pub SPI0: self::Spi0,
1433    #[cfg(feature = "spi1")]
1434    pub SPI1: self::Spi0,
1435    #[cfg(feature = "srcram")]
1436    pub SRCRAM: self::Srcram,
1437    #[cfg(feature = "src")]
1438    pub SRC: self::Src,
1439    #[cfg(feature = "dbg")]
1440    pub DBG: self::Dbg,
1441    #[cfg(feature = "dmac0")]
1442    pub DMAC0: self::Dmac0,
1443    #[cfg(feature = "dmac1")]
1444    pub DMAC1: self::Dmac0,
1445    #[cfg(feature = "dmac2")]
1446    pub DMAC2: self::Dmac0,
1447    #[cfg(feature = "dmac3")]
1448    pub DMAC3: self::Dmac0,
1449    #[cfg(feature = "dmac4")]
1450    pub DMAC4: self::Dmac0,
1451    #[cfg(feature = "dmac5")]
1452    pub DMAC5: self::Dmac0,
1453    #[cfg(feature = "dmac6")]
1454    pub DMAC6: self::Dmac0,
1455    #[cfg(feature = "dmac7")]
1456    pub DMAC7: self::Dmac0,
1457    #[cfg(feature = "dma")]
1458    pub DMA: self::Dma,
1459    #[cfg(feature = "dtc")]
1460    pub DTC: self::Dtc,
1461    #[cfg(feature = "mmf")]
1462    pub MMF: self::Mmf,
1463    #[cfg(feature = "sram")]
1464    pub SRAM: self::Sram,
1465    #[cfg(feature = "fcache")]
1466    pub FCACHE: self::Fcache,
1467    #[cfg(feature = "system")]
1468    pub SYSTEM: self::System,
1469    #[cfg(feature = "mstp")]
1470    pub MSTP: self::Mstp,
1471    #[cfg(feature = "agt0")]
1472    pub AGT0: self::Agt0,
1473    #[cfg(feature = "agt1")]
1474    pub AGT1: self::Agt0,
1475    #[cfg(feature = "gpt_ops")]
1476    pub GPT_OPS: self::GptOps,
1477    #[cfg(feature = "gpt32eh0")]
1478    pub GPT32EH0: self::Gpt32Eh0,
1479    #[cfg(feature = "gpt32eh1")]
1480    pub GPT32EH1: self::Gpt32Eh0,
1481    #[cfg(feature = "gpt32eh2")]
1482    pub GPT32EH2: self::Gpt32Eh0,
1483    #[cfg(feature = "gpt32eh3")]
1484    pub GPT32EH3: self::Gpt32Eh0,
1485    #[cfg(feature = "gpt32e4")]
1486    pub GPT32E4: self::Gpt32Eh0,
1487    #[cfg(feature = "gpt32e5")]
1488    pub GPT32E5: self::Gpt32Eh0,
1489    #[cfg(feature = "gpt32e6")]
1490    pub GPT32E6: self::Gpt32Eh0,
1491    #[cfg(feature = "gpt32e7")]
1492    pub GPT32E7: self::Gpt32Eh0,
1493    #[cfg(feature = "poeg")]
1494    pub POEG: self::Poeg,
1495    #[cfg(feature = "gpt_odc")]
1496    pub GPT_ODC: self::GptOdc,
1497    #[cfg(feature = "bus")]
1498    pub BUS: self::Bus,
1499    #[cfg(feature = "icu")]
1500    pub ICU: self::Icu,
1501    #[cfg(feature = "port0")]
1502    pub PORT0: self::Port0,
1503    #[cfg(feature = "port1")]
1504    pub PORT1: self::Port1,
1505    #[cfg(feature = "port2")]
1506    pub PORT2: self::Port1,
1507    #[cfg(feature = "port3")]
1508    pub PORT3: self::Port1,
1509    #[cfg(feature = "port4")]
1510    pub PORT4: self::Port1,
1511    #[cfg(feature = "port5")]
1512    pub PORT5: self::Port0,
1513    #[cfg(feature = "port6")]
1514    pub PORT6: self::Port0,
1515    #[cfg(feature = "port7")]
1516    pub PORT7: self::Port0,
1517    #[cfg(feature = "pfs")]
1518    pub PFS: self::Pfs,
1519    #[cfg(feature = "pmisc")]
1520    pub PMISC: self::Pmisc,
1521    #[cfg(feature = "iic0")]
1522    pub IIC0: self::Iic0,
1523    #[cfg(feature = "iic1")]
1524    pub IIC1: self::Iic1,
1525    #[cfg(feature = "sci0")]
1526    pub SCI0: self::Sci0,
1527    #[cfg(feature = "sci1")]
1528    pub SCI1: self::Sci0,
1529    #[cfg(feature = "sci2")]
1530    pub SCI2: self::Sci0,
1531    #[cfg(feature = "sci3")]
1532    pub SCI3: self::Sci0,
1533    #[cfg(feature = "sci4")]
1534    pub SCI4: self::Sci0,
1535    #[cfg(feature = "sci8")]
1536    pub SCI8: self::Sci0,
1537    #[cfg(feature = "sci9")]
1538    pub SCI9: self::Sci0,
1539    #[cfg(feature = "gpt328")]
1540    pub GPT328: self::Gpt328,
1541    #[cfg(feature = "gpt329")]
1542    pub GPT329: self::Gpt328,
1543    #[cfg(feature = "gpt3210")]
1544    pub GPT3210: self::Gpt328,
1545    #[cfg(feature = "gpt3211")]
1546    pub GPT3211: self::Gpt328,
1547    #[cfg(feature = "gpt3212")]
1548    pub GPT3212: self::Gpt328,
1549    #[cfg(feature = "adc120")]
1550    pub ADC120: self::Adc120,
1551    #[cfg(feature = "adc121")]
1552    pub ADC121: self::Adc121,
1553    #[cfg(feature = "mmpu")]
1554    pub MMPU: self::Mmpu,
1555    #[cfg(feature = "smpu")]
1556    pub SMPU: self::Smpu,
1557    #[cfg(feature = "spmon")]
1558    pub SPMON: self::Spmon,
1559    #[cfg(feature = "tsd")]
1560    pub TSD: self::Tsd,
1561}
1562
1563impl Peripherals {
1564    /// Returns Peripheral struct multiple times
1565    /// Required for compatibility with RTIC and other frameworks
1566    #[inline]
1567    pub fn take() -> Option<Self> {
1568        Some(Self::steal())
1569    }
1570
1571    /// Returns Peripheral struct multiple times
1572    /// Required for compatibility with RTIC and other frameworks
1573    #[inline]
1574    pub fn steal() -> Self {
1575        Peripherals {
1576            #[cfg(feature = "dac12")]
1577            DAC12: crate::DAC12,
1578            #[cfg(feature = "acmphs0")]
1579            ACMPHS0: crate::ACMPHS0,
1580            #[cfg(feature = "acmphs1")]
1581            ACMPHS1: crate::ACMPHS1,
1582            #[cfg(feature = "acmphs2")]
1583            ACMPHS2: crate::ACMPHS2,
1584            #[cfg(feature = "acmphs3")]
1585            ACMPHS3: crate::ACMPHS3,
1586            #[cfg(feature = "acmphs4")]
1587            ACMPHS4: crate::ACMPHS4,
1588            #[cfg(feature = "acmphs5")]
1589            ACMPHS5: crate::ACMPHS5,
1590            #[cfg(feature = "tsn")]
1591            TSN: crate::TSN,
1592            #[cfg(feature = "crc")]
1593            CRC: crate::CRC,
1594            #[cfg(feature = "elc")]
1595            ELC: crate::ELC,
1596            #[cfg(feature = "cac")]
1597            CAC: crate::CAC,
1598            #[cfg(feature = "doc")]
1599            DOC: crate::DOC,
1600            #[cfg(feature = "iwdt")]
1601            IWDT: crate::IWDT,
1602            #[cfg(feature = "kint")]
1603            KINT: crate::KINT,
1604            #[cfg(feature = "wdt")]
1605            WDT: crate::WDT,
1606            #[cfg(feature = "can0")]
1607            CAN0: crate::CAN0,
1608            #[cfg(feature = "can1")]
1609            CAN1: crate::CAN1,
1610            #[cfg(feature = "irda")]
1611            IRDA: crate::IRDA,
1612            #[cfg(feature = "spi0")]
1613            SPI0: crate::SPI0,
1614            #[cfg(feature = "spi1")]
1615            SPI1: crate::SPI1,
1616            #[cfg(feature = "srcram")]
1617            SRCRAM: crate::SRCRAM,
1618            #[cfg(feature = "src")]
1619            SRC: crate::SRC,
1620            #[cfg(feature = "dbg")]
1621            DBG: crate::DBG,
1622            #[cfg(feature = "dmac0")]
1623            DMAC0: crate::DMAC0,
1624            #[cfg(feature = "dmac1")]
1625            DMAC1: crate::DMAC1,
1626            #[cfg(feature = "dmac2")]
1627            DMAC2: crate::DMAC2,
1628            #[cfg(feature = "dmac3")]
1629            DMAC3: crate::DMAC3,
1630            #[cfg(feature = "dmac4")]
1631            DMAC4: crate::DMAC4,
1632            #[cfg(feature = "dmac5")]
1633            DMAC5: crate::DMAC5,
1634            #[cfg(feature = "dmac6")]
1635            DMAC6: crate::DMAC6,
1636            #[cfg(feature = "dmac7")]
1637            DMAC7: crate::DMAC7,
1638            #[cfg(feature = "dma")]
1639            DMA: crate::DMA,
1640            #[cfg(feature = "dtc")]
1641            DTC: crate::DTC,
1642            #[cfg(feature = "mmf")]
1643            MMF: crate::MMF,
1644            #[cfg(feature = "sram")]
1645            SRAM: crate::SRAM,
1646            #[cfg(feature = "fcache")]
1647            FCACHE: crate::FCACHE,
1648            #[cfg(feature = "system")]
1649            SYSTEM: crate::SYSTEM,
1650            #[cfg(feature = "mstp")]
1651            MSTP: crate::MSTP,
1652            #[cfg(feature = "agt0")]
1653            AGT0: crate::AGT0,
1654            #[cfg(feature = "agt1")]
1655            AGT1: crate::AGT1,
1656            #[cfg(feature = "gpt_ops")]
1657            GPT_OPS: crate::GPT_OPS,
1658            #[cfg(feature = "gpt32eh0")]
1659            GPT32EH0: crate::GPT32EH0,
1660            #[cfg(feature = "gpt32eh1")]
1661            GPT32EH1: crate::GPT32EH1,
1662            #[cfg(feature = "gpt32eh2")]
1663            GPT32EH2: crate::GPT32EH2,
1664            #[cfg(feature = "gpt32eh3")]
1665            GPT32EH3: crate::GPT32EH3,
1666            #[cfg(feature = "gpt32e4")]
1667            GPT32E4: crate::GPT32E4,
1668            #[cfg(feature = "gpt32e5")]
1669            GPT32E5: crate::GPT32E5,
1670            #[cfg(feature = "gpt32e6")]
1671            GPT32E6: crate::GPT32E6,
1672            #[cfg(feature = "gpt32e7")]
1673            GPT32E7: crate::GPT32E7,
1674            #[cfg(feature = "poeg")]
1675            POEG: crate::POEG,
1676            #[cfg(feature = "gpt_odc")]
1677            GPT_ODC: crate::GPT_ODC,
1678            #[cfg(feature = "bus")]
1679            BUS: crate::BUS,
1680            #[cfg(feature = "icu")]
1681            ICU: crate::ICU,
1682            #[cfg(feature = "port0")]
1683            PORT0: crate::PORT0,
1684            #[cfg(feature = "port1")]
1685            PORT1: crate::PORT1,
1686            #[cfg(feature = "port2")]
1687            PORT2: crate::PORT2,
1688            #[cfg(feature = "port3")]
1689            PORT3: crate::PORT3,
1690            #[cfg(feature = "port4")]
1691            PORT4: crate::PORT4,
1692            #[cfg(feature = "port5")]
1693            PORT5: crate::PORT5,
1694            #[cfg(feature = "port6")]
1695            PORT6: crate::PORT6,
1696            #[cfg(feature = "port7")]
1697            PORT7: crate::PORT7,
1698            #[cfg(feature = "pfs")]
1699            PFS: crate::PFS,
1700            #[cfg(feature = "pmisc")]
1701            PMISC: crate::PMISC,
1702            #[cfg(feature = "iic0")]
1703            IIC0: crate::IIC0,
1704            #[cfg(feature = "iic1")]
1705            IIC1: crate::IIC1,
1706            #[cfg(feature = "sci0")]
1707            SCI0: crate::SCI0,
1708            #[cfg(feature = "sci1")]
1709            SCI1: crate::SCI1,
1710            #[cfg(feature = "sci2")]
1711            SCI2: crate::SCI2,
1712            #[cfg(feature = "sci3")]
1713            SCI3: crate::SCI3,
1714            #[cfg(feature = "sci4")]
1715            SCI4: crate::SCI4,
1716            #[cfg(feature = "sci8")]
1717            SCI8: crate::SCI8,
1718            #[cfg(feature = "sci9")]
1719            SCI9: crate::SCI9,
1720            #[cfg(feature = "gpt328")]
1721            GPT328: crate::GPT328,
1722            #[cfg(feature = "gpt329")]
1723            GPT329: crate::GPT329,
1724            #[cfg(feature = "gpt3210")]
1725            GPT3210: crate::GPT3210,
1726            #[cfg(feature = "gpt3211")]
1727            GPT3211: crate::GPT3211,
1728            #[cfg(feature = "gpt3212")]
1729            GPT3212: crate::GPT3212,
1730            #[cfg(feature = "adc120")]
1731            ADC120: crate::ADC120,
1732            #[cfg(feature = "adc121")]
1733            ADC121: crate::ADC121,
1734            #[cfg(feature = "mmpu")]
1735            MMPU: crate::MMPU,
1736            #[cfg(feature = "smpu")]
1737            SMPU: crate::SMPU,
1738            #[cfg(feature = "spmon")]
1739            SPMON: crate::SPMON,
1740            #[cfg(feature = "tsd")]
1741            TSD: crate::TSD,
1742        }
1743    }
1744}