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