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