Skip to main content

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