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