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