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