Skip to main content

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