ra6t2_pac/
lib.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.40.00, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:52:39 +0000
19#![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)]
1419/// Required for compatibility with RTIC and other frameworks
1420pub 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    /// Returns Peripheral struct multiple times
1583    /// Required for compatibility with RTIC and other frameworks
1584    #[inline]
1585    pub fn take() -> Option<Self> {
1586        Some(Self::steal())
1587    }
1588
1589    /// Returns Peripheral struct multiple times
1590    /// Required for compatibility with RTIC and other frameworks
1591    #[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}