1#![doc = "Peripheral access API for ESP32-C6 microcontrollers (generated using svd2rust v0.37.1 (f74f0b3 2026-04-17))\n\nYou can find an overview of the generated API [here].\n\nAPI features to be included in the [next] svd2rust release can be generated by cloning the svd2rust [repository], checking out the above commit, and running `cargo doc --open`.\n\n[here]: https://docs.rs/svd2rust/0.37.1/svd2rust/#peripheral-api\n[next]: https://github.com/rust-embedded/svd2rust/blob/master/CHANGELOG.md#unreleased\n[repository]: https://github.com/rust-embedded/svd2rust"]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/46717278")]
5#![no_std]
6#![cfg_attr(docsrs, feature(doc_cfg))]
7#[doc = r"Number available in the NVIC for configuring priority"]
8pub const NVIC_PRIO_BITS: u8 = 0;
9#[allow(unused_imports)]
10use generic::*;
11#[doc = r"Common register and bit access and modify traits"]
12pub mod generic;
13#[cfg(feature = "rt")]
14extern "C" {
15 fn WIFI_MAC();
16 fn WIFI_MAC_NMI();
17 fn WIFI_PWR();
18 fn WIFI_BB();
19 fn BT_MAC();
20 fn BT_BB();
21 fn BT_BB_NMI();
22 fn LP_TIMER();
23 fn COEX();
24 fn BLE_TIMER();
25 fn BLE_SEC();
26 fn I2C_MASTER();
27 fn ZB_MAC();
28 fn PMU();
29 fn EFUSE();
30 fn LP_RTC_TIMER();
31 fn LP_UART();
32 fn LP_I2C();
33 fn LP_WDT();
34 fn LP_PERI_TIMEOUT();
35 fn LP_APM_M0();
36 fn LP_APM_M1();
37 fn FROM_CPU_INTR0();
38 fn FROM_CPU_INTR1();
39 fn FROM_CPU_INTR2();
40 fn FROM_CPU_INTR3();
41 fn ASSIST_DEBUG();
42 fn TRACE();
43 fn CACHE();
44 fn CPU_PERI_TIMEOUT();
45 fn GPIO();
46 fn GPIO_NMI();
47 fn PAU();
48 fn HP_PERI_TIMEOUT();
49 fn MODEM_PERI_TIMEOUT();
50 fn HP_APM_M0();
51 fn HP_APM_M1();
52 fn HP_APM_M2();
53 fn HP_APM_M3();
54 fn LP_APM0();
55 fn MSPI();
56 fn I2S0();
57 fn UHCI0();
58 fn UART0();
59 fn UART1();
60 fn LEDC();
61 fn TWAI0();
62 fn TWAI1();
63 fn USB_DEVICE();
64 fn RMT();
65 fn I2C_EXT0();
66 fn TG0_T0_LEVEL();
67 fn TG0_T1_LEVEL();
68 fn TG0_WDT_LEVEL();
69 fn TG1_T0_LEVEL();
70 fn TG1_T1_LEVEL();
71 fn TG1_WDT_LEVEL();
72 fn SYSTIMER_TARGET0();
73 fn SYSTIMER_TARGET1();
74 fn SYSTIMER_TARGET2();
75 fn APB_SARADC();
76 fn MCPWM0();
77 fn PCNT();
78 fn PARL_IO();
79 fn SLC0();
80 fn SLC1();
81 fn DMA_IN_CH0();
82 fn DMA_IN_CH1();
83 fn DMA_IN_CH2();
84 fn DMA_OUT_CH0();
85 fn DMA_OUT_CH1();
86 fn DMA_OUT_CH2();
87 fn SPI2();
88 fn AES();
89 fn SHA();
90 fn RSA();
91 fn ECC();
92}
93#[doc(hidden)]
94#[repr(C)]
95pub union Vector {
96 pub _handler: unsafe extern "C" fn(),
97 pub _reserved: usize,
98}
99#[cfg(feature = "rt")]
100#[doc(hidden)]
101#[link_section = ".rwtext.interrupt"]
102#[no_mangle]
103pub static __EXTERNAL_INTERRUPTS: [Vector; 77] = [
104 Vector { _handler: WIFI_MAC },
105 Vector {
106 _handler: WIFI_MAC_NMI,
107 },
108 Vector { _handler: WIFI_PWR },
109 Vector { _handler: WIFI_BB },
110 Vector { _handler: BT_MAC },
111 Vector { _handler: BT_BB },
112 Vector {
113 _handler: BT_BB_NMI,
114 },
115 Vector { _handler: LP_TIMER },
116 Vector { _handler: COEX },
117 Vector {
118 _handler: BLE_TIMER,
119 },
120 Vector { _handler: BLE_SEC },
121 Vector {
122 _handler: I2C_MASTER,
123 },
124 Vector { _handler: ZB_MAC },
125 Vector { _handler: PMU },
126 Vector { _handler: EFUSE },
127 Vector {
128 _handler: LP_RTC_TIMER,
129 },
130 Vector { _handler: LP_UART },
131 Vector { _handler: LP_I2C },
132 Vector { _handler: LP_WDT },
133 Vector {
134 _handler: LP_PERI_TIMEOUT,
135 },
136 Vector {
137 _handler: LP_APM_M0,
138 },
139 Vector {
140 _handler: LP_APM_M1,
141 },
142 Vector {
143 _handler: FROM_CPU_INTR0,
144 },
145 Vector {
146 _handler: FROM_CPU_INTR1,
147 },
148 Vector {
149 _handler: FROM_CPU_INTR2,
150 },
151 Vector {
152 _handler: FROM_CPU_INTR3,
153 },
154 Vector {
155 _handler: ASSIST_DEBUG,
156 },
157 Vector { _handler: TRACE },
158 Vector { _handler: CACHE },
159 Vector {
160 _handler: CPU_PERI_TIMEOUT,
161 },
162 Vector { _handler: GPIO },
163 Vector { _handler: GPIO_NMI },
164 Vector { _handler: PAU },
165 Vector {
166 _handler: HP_PERI_TIMEOUT,
167 },
168 Vector {
169 _handler: MODEM_PERI_TIMEOUT,
170 },
171 Vector {
172 _handler: HP_APM_M0,
173 },
174 Vector {
175 _handler: HP_APM_M1,
176 },
177 Vector {
178 _handler: HP_APM_M2,
179 },
180 Vector {
181 _handler: HP_APM_M3,
182 },
183 Vector { _handler: LP_APM0 },
184 Vector { _handler: MSPI },
185 Vector { _handler: I2S0 },
186 Vector { _handler: UHCI0 },
187 Vector { _handler: UART0 },
188 Vector { _handler: UART1 },
189 Vector { _handler: LEDC },
190 Vector { _handler: TWAI0 },
191 Vector { _handler: TWAI1 },
192 Vector {
193 _handler: USB_DEVICE,
194 },
195 Vector { _handler: RMT },
196 Vector { _handler: I2C_EXT0 },
197 Vector {
198 _handler: TG0_T0_LEVEL,
199 },
200 Vector {
201 _handler: TG0_T1_LEVEL,
202 },
203 Vector {
204 _handler: TG0_WDT_LEVEL,
205 },
206 Vector {
207 _handler: TG1_T0_LEVEL,
208 },
209 Vector {
210 _handler: TG1_T1_LEVEL,
211 },
212 Vector {
213 _handler: TG1_WDT_LEVEL,
214 },
215 Vector {
216 _handler: SYSTIMER_TARGET0,
217 },
218 Vector {
219 _handler: SYSTIMER_TARGET1,
220 },
221 Vector {
222 _handler: SYSTIMER_TARGET2,
223 },
224 Vector {
225 _handler: APB_SARADC,
226 },
227 Vector { _handler: MCPWM0 },
228 Vector { _handler: PCNT },
229 Vector { _handler: PARL_IO },
230 Vector { _handler: SLC0 },
231 Vector { _handler: SLC1 },
232 Vector {
233 _handler: DMA_IN_CH0,
234 },
235 Vector {
236 _handler: DMA_IN_CH1,
237 },
238 Vector {
239 _handler: DMA_IN_CH2,
240 },
241 Vector {
242 _handler: DMA_OUT_CH0,
243 },
244 Vector {
245 _handler: DMA_OUT_CH1,
246 },
247 Vector {
248 _handler: DMA_OUT_CH2,
249 },
250 Vector { _handler: SPI2 },
251 Vector { _handler: AES },
252 Vector { _handler: SHA },
253 Vector { _handler: RSA },
254 Vector { _handler: ECC },
255];
256#[doc(hidden)]
257pub mod interrupt;
258pub use self::interrupt::Interrupt;
259#[doc = "Core Local Interrupts"]
260pub type CLINT = crate::Periph<clint::RegisterBlock, 0x2000_0000>;
261impl core::fmt::Debug for CLINT {
262 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
263 f.debug_struct("CLINT").finish()
264 }
265}
266#[doc = "Core Local Interrupts"]
267pub mod clint;
268#[doc = "PLIC Peripheral"]
269pub type PLIC_MX = crate::Periph<plic_mx::RegisterBlock, 0x2000_1000>;
270impl core::fmt::Debug for PLIC_MX {
271 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
272 f.debug_struct("PLIC_MX").finish()
273 }
274}
275#[doc = "PLIC Peripheral"]
276pub mod plic_mx;
277#[doc = "PLIC Peripheral"]
278pub type PLIC_UX = crate::Periph<plic_ux::RegisterBlock, 0x2000_1400>;
279impl core::fmt::Debug for PLIC_UX {
280 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
281 f.debug_struct("PLIC_UX").finish()
282 }
283}
284#[doc = "PLIC Peripheral"]
285pub mod plic_ux;
286#[doc = "AES (Advanced Encryption Standard) Accelerator"]
287pub type AES = crate::Periph<aes::RegisterBlock, 0x6008_8000>;
288impl core::fmt::Debug for AES {
289 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
290 f.debug_struct("AES").finish()
291 }
292}
293#[doc = "AES (Advanced Encryption Standard) Accelerator"]
294pub mod aes;
295#[doc = "SAR (Successive Approximation Register) Analog-to-Digital Converter"]
296pub type APB_SARADC = crate::Periph<apb_saradc::RegisterBlock, 0x6000_e000>;
297impl core::fmt::Debug for APB_SARADC {
298 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
299 f.debug_struct("APB_SARADC").finish()
300 }
301}
302#[doc = "SAR (Successive Approximation Register) Analog-to-Digital Converter"]
303pub mod apb_saradc;
304#[doc = "Debug Assist"]
305pub type ASSIST_DEBUG = crate::Periph<assist_debug::RegisterBlock, 0x600c_2000>;
306impl core::fmt::Debug for ASSIST_DEBUG {
307 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
308 f.debug_struct("ASSIST_DEBUG").finish()
309 }
310}
311#[doc = "Debug Assist"]
312pub mod assist_debug;
313#[doc = "Atomic Locker"]
314pub type ATOMIC = crate::Periph<atomic::RegisterBlock, 0x6001_1000>;
315impl core::fmt::Debug for ATOMIC {
316 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
317 f.debug_struct("ATOMIC").finish()
318 }
319}
320#[doc = "Atomic Locker"]
321pub mod atomic;
322#[doc = "DMA (Direct Memory Access) Controller"]
323pub type DMA = crate::Periph<dma::RegisterBlock, 0x6008_0000>;
324impl core::fmt::Debug for DMA {
325 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
326 f.debug_struct("DMA").finish()
327 }
328}
329#[doc = "DMA (Direct Memory Access) Controller"]
330pub mod dma;
331#[doc = "Digital Signature"]
332pub type DS = crate::Periph<ds::RegisterBlock, 0x6008_c000>;
333impl core::fmt::Debug for DS {
334 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
335 f.debug_struct("DS").finish()
336 }
337}
338#[doc = "Digital Signature"]
339pub mod ds;
340#[doc = "ECC (ECC Hardware Accelerator)"]
341pub type ECC = crate::Periph<ecc::RegisterBlock, 0x6008_b000>;
342impl core::fmt::Debug for ECC {
343 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
344 f.debug_struct("ECC").finish()
345 }
346}
347#[doc = "ECC (ECC Hardware Accelerator)"]
348pub mod ecc;
349#[doc = "eFuse Controller"]
350pub type EFUSE = crate::Periph<efuse::RegisterBlock, 0x600b_0800>;
351impl core::fmt::Debug for EFUSE {
352 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
353 f.debug_struct("EFUSE").finish()
354 }
355}
356#[doc = "eFuse Controller"]
357pub mod efuse;
358#[doc = "External Memory"]
359pub type EXTMEM = crate::Periph<extmem::RegisterBlock, 0x600c_8000>;
360impl core::fmt::Debug for EXTMEM {
361 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
362 f.debug_struct("EXTMEM").finish()
363 }
364}
365#[doc = "External Memory"]
366pub mod extmem;
367#[doc = "General Purpose Input/Output"]
368pub type GPIO = crate::Periph<gpio::RegisterBlock, 0x6009_1000>;
369impl core::fmt::Debug for GPIO {
370 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
371 f.debug_struct("GPIO").finish()
372 }
373}
374#[doc = "General Purpose Input/Output"]
375pub mod gpio;
376#[doc = "Sigma-Delta Modulation"]
377pub type GPIO_SD = crate::Periph<gpio_sd::RegisterBlock, 0x6009_1f00>;
378impl core::fmt::Debug for GPIO_SD {
379 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
380 f.debug_struct("GPIO_SD").finish()
381 }
382}
383#[doc = "Sigma-Delta Modulation"]
384pub mod gpio_sd;
385#[doc = "HINF Peripheral"]
386pub type HINF = crate::Periph<hinf::RegisterBlock, 0x6001_6000>;
387impl core::fmt::Debug for HINF {
388 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
389 f.debug_struct("HINF").finish()
390 }
391}
392#[doc = "HINF Peripheral"]
393pub mod hinf;
394#[doc = "SDIO SLC"]
395pub type SLC = crate::Periph<slc::RegisterBlock, 0x6001_7000>;
396impl core::fmt::Debug for SLC {
397 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
398 f.debug_struct("SLC").finish()
399 }
400}
401#[doc = "SDIO SLC"]
402pub mod slc;
403#[doc = "HMAC (Hash-based Message Authentication Code) Accelerator"]
404pub type HMAC = crate::Periph<hmac::RegisterBlock, 0x6008_d000>;
405impl core::fmt::Debug for HMAC {
406 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
407 f.debug_struct("HMAC").finish()
408 }
409}
410#[doc = "HMAC (Hash-based Message Authentication Code) Accelerator"]
411pub mod hmac;
412#[doc = "HP_APM Peripheral"]
413pub type HP_APM = crate::Periph<hp_apm::RegisterBlock, 0x6009_9000>;
414impl core::fmt::Debug for HP_APM {
415 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
416 f.debug_struct("HP_APM").finish()
417 }
418}
419#[doc = "HP_APM Peripheral"]
420pub mod hp_apm;
421#[doc = "High-Power System"]
422pub type HP_SYS = crate::Periph<hp_sys::RegisterBlock, 0x6009_5000>;
423impl core::fmt::Debug for HP_SYS {
424 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
425 f.debug_struct("HP_SYS").finish()
426 }
427}
428#[doc = "High-Power System"]
429pub mod hp_sys;
430#[doc = "I2C (Inter-Integrated Circuit) Controller 0"]
431pub type I2C0 = crate::Periph<i2c0::RegisterBlock, 0x6000_4000>;
432impl core::fmt::Debug for I2C0 {
433 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
434 f.debug_struct("I2C0").finish()
435 }
436}
437#[doc = "I2C (Inter-Integrated Circuit) Controller 0"]
438pub mod i2c0;
439#[doc = "I2S (Inter-IC Sound) Controller 0"]
440pub type I2S0 = crate::Periph<i2s0::RegisterBlock, 0x6000_c000>;
441impl core::fmt::Debug for I2S0 {
442 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
443 f.debug_struct("I2S0").finish()
444 }
445}
446#[doc = "I2S (Inter-IC Sound) Controller 0"]
447pub mod i2s0;
448#[doc = "IEEE802154 Peripheral"]
449pub type IEEE802154 = crate::Periph<ieee802154::RegisterBlock, 0x600a_3000>;
450impl core::fmt::Debug for IEEE802154 {
451 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
452 f.debug_struct("IEEE802154").finish()
453 }
454}
455#[doc = "IEEE802154 Peripheral"]
456pub mod ieee802154;
457#[doc = "Interrupt Controller (Core 0)"]
458pub type INTERRUPT_CORE0 = crate::Periph<interrupt_core0::RegisterBlock, 0x6001_0000>;
459impl core::fmt::Debug for INTERRUPT_CORE0 {
460 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
461 f.debug_struct("INTERRUPT_CORE0").finish()
462 }
463}
464#[doc = "Interrupt Controller (Core 0)"]
465pub mod interrupt_core0;
466#[doc = "INTPRI Peripheral"]
467pub type INTPRI = crate::Periph<intpri::RegisterBlock, 0x600c_5000>;
468impl core::fmt::Debug for INTPRI {
469 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
470 f.debug_struct("INTPRI").finish()
471 }
472}
473#[doc = "INTPRI Peripheral"]
474pub mod intpri;
475#[doc = "Input/Output Multiplexer"]
476pub type IO_MUX = crate::Periph<io_mux::RegisterBlock, 0x6009_0000>;
477impl core::fmt::Debug for IO_MUX {
478 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
479 f.debug_struct("IO_MUX").finish()
480 }
481}
482#[doc = "Input/Output Multiplexer"]
483pub mod io_mux;
484#[doc = "LED Control PWM (Pulse Width Modulation)"]
485pub type LEDC = crate::Periph<ledc::RegisterBlock, 0x6000_7000>;
486impl core::fmt::Debug for LEDC {
487 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
488 f.debug_struct("LEDC").finish()
489 }
490}
491#[doc = "LED Control PWM (Pulse Width Modulation)"]
492pub mod ledc;
493#[doc = "LP_PERI Peripheral"]
494pub type LP_PERI = crate::Periph<lp_peri::RegisterBlock, 0x600b_2800>;
495impl core::fmt::Debug for LP_PERI {
496 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
497 f.debug_struct("LP_PERI").finish()
498 }
499}
500#[doc = "LP_PERI Peripheral"]
501pub mod lp_peri;
502#[doc = "LP_ANA Peripheral"]
503pub type LP_ANA = crate::Periph<lp_ana::RegisterBlock, 0x600b_2c00>;
504impl core::fmt::Debug for LP_ANA {
505 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
506 f.debug_struct("LP_ANA").finish()
507 }
508}
509#[doc = "LP_ANA Peripheral"]
510pub mod lp_ana;
511#[doc = "LP_AON Peripheral"]
512pub type LP_AON = crate::Periph<lp_aon::RegisterBlock, 0x600b_1000>;
513impl core::fmt::Debug for LP_AON {
514 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
515 f.debug_struct("LP_AON").finish()
516 }
517}
518#[doc = "LP_AON Peripheral"]
519pub mod lp_aon;
520#[doc = "Low-power Access Permission Management Controller"]
521pub type LP_APM = crate::Periph<lp_apm::RegisterBlock, 0x600b_3800>;
522impl core::fmt::Debug for LP_APM {
523 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
524 f.debug_struct("LP_APM").finish()
525 }
526}
527#[doc = "Low-power Access Permission Management Controller"]
528pub mod lp_apm;
529#[doc = "LP_APM0 Peripheral"]
530pub type LP_APM0 = crate::Periph<lp_apm0::RegisterBlock, 0x6009_9800>;
531impl core::fmt::Debug for LP_APM0 {
532 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
533 f.debug_struct("LP_APM0").finish()
534 }
535}
536#[doc = "LP_APM0 Peripheral"]
537pub mod lp_apm0;
538#[doc = "LP_CLKRST Peripheral"]
539pub type LP_CLKRST = crate::Periph<lp_clkrst::RegisterBlock, 0x600b_0400>;
540impl core::fmt::Debug for LP_CLKRST {
541 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
542 f.debug_struct("LP_CLKRST").finish()
543 }
544}
545#[doc = "LP_CLKRST Peripheral"]
546pub mod lp_clkrst;
547#[doc = "Low-power I2C (Inter-Integrated Circuit) Controller 0"]
548pub type LP_I2C0 = crate::Periph<lp_i2c0::RegisterBlock, 0x600b_1800>;
549impl core::fmt::Debug for LP_I2C0 {
550 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
551 f.debug_struct("LP_I2C0").finish()
552 }
553}
554#[doc = "Low-power I2C (Inter-Integrated Circuit) Controller 0"]
555pub mod lp_i2c0;
556#[doc = "LP_I2C_ANA_MST Peripheral"]
557pub type LP_I2C_ANA_MST = crate::Periph<lp_i2c_ana_mst::RegisterBlock, 0x600b_2400>;
558impl core::fmt::Debug for LP_I2C_ANA_MST {
559 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
560 f.debug_struct("LP_I2C_ANA_MST").finish()
561 }
562}
563#[doc = "LP_I2C_ANA_MST Peripheral"]
564pub mod lp_i2c_ana_mst;
565#[doc = "LP_IO Peripheral"]
566pub type LP_IO = crate::Periph<lp_io::RegisterBlock, 0x600b_2000>;
567impl core::fmt::Debug for LP_IO {
568 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
569 f.debug_struct("LP_IO").finish()
570 }
571}
572#[doc = "LP_IO Peripheral"]
573pub mod lp_io;
574#[doc = "Low-power Trusted Execution Environment"]
575pub type LP_TEE = crate::Periph<lp_tee::RegisterBlock, 0x600b_3400>;
576impl core::fmt::Debug for LP_TEE {
577 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
578 f.debug_struct("LP_TEE").finish()
579 }
580}
581#[doc = "Low-power Trusted Execution Environment"]
582pub mod lp_tee;
583#[doc = "Low-power Timer"]
584pub type LP_TIMER = crate::Periph<lp_timer::RegisterBlock, 0x600b_0c00>;
585impl core::fmt::Debug for LP_TIMER {
586 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
587 f.debug_struct("LP_TIMER").finish()
588 }
589}
590#[doc = "Low-power Timer"]
591pub mod lp_timer;
592#[doc = "Low-power UART (Universal Asynchronous Receiver-Transmitter) Controller"]
593pub type LP_UART = crate::Periph<lp_uart::RegisterBlock, 0x600b_1400>;
594impl core::fmt::Debug for LP_UART {
595 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
596 f.debug_struct("LP_UART").finish()
597 }
598}
599#[doc = "Low-power UART (Universal Asynchronous Receiver-Transmitter) Controller"]
600pub mod lp_uart;
601#[doc = "Low-power Watchdog Timer"]
602pub type LP_WDT = crate::Periph<lp_wdt::RegisterBlock, 0x600b_1c00>;
603impl core::fmt::Debug for LP_WDT {
604 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
605 f.debug_struct("LP_WDT").finish()
606 }
607}
608#[doc = "Low-power Watchdog Timer"]
609pub mod lp_wdt;
610#[doc = "Motor Control Pulse-Width Modulation 0"]
611pub type MCPWM0 = crate::Periph<mcpwm0::RegisterBlock, 0x6001_4000>;
612impl core::fmt::Debug for MCPWM0 {
613 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
614 f.debug_struct("MCPWM0").finish()
615 }
616}
617#[doc = "Motor Control Pulse-Width Modulation 0"]
618pub mod mcpwm0;
619#[doc = "MEM_MONITOR Peripheral"]
620pub type MEM_MONITOR = crate::Periph<mem_monitor::RegisterBlock, 0x6009_2000>;
621impl core::fmt::Debug for MEM_MONITOR {
622 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
623 f.debug_struct("MEM_MONITOR").finish()
624 }
625}
626#[doc = "MEM_MONITOR Peripheral"]
627pub mod mem_monitor;
628#[doc = "MODEM_LPCON Peripheral"]
629pub type MODEM_LPCON = crate::Periph<modem_lpcon::RegisterBlock, 0x600a_f000>;
630impl core::fmt::Debug for MODEM_LPCON {
631 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
632 f.debug_struct("MODEM_LPCON").finish()
633 }
634}
635#[doc = "MODEM_LPCON Peripheral"]
636pub mod modem_lpcon;
637#[doc = "I2C_ANA_MST Peripheral"]
638pub type I2C_ANA_MST = crate::Periph<i2c_ana_mst::RegisterBlock, 0x600a_f800>;
639impl core::fmt::Debug for I2C_ANA_MST {
640 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
641 f.debug_struct("I2C_ANA_MST").finish()
642 }
643}
644#[doc = "I2C_ANA_MST Peripheral"]
645pub mod i2c_ana_mst;
646#[doc = "MODEM_SYSCON Peripheral"]
647pub type MODEM_SYSCON = crate::Periph<modem_syscon::RegisterBlock, 0x600a_9800>;
648impl core::fmt::Debug for MODEM_SYSCON {
649 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
650 f.debug_struct("MODEM_SYSCON").finish()
651 }
652}
653#[doc = "MODEM_SYSCON Peripheral"]
654pub mod modem_syscon;
655#[doc = "OTP_DEBUG Peripheral"]
656pub type OTP_DEBUG = crate::Periph<otp_debug::RegisterBlock, 0x600b_3c00>;
657impl core::fmt::Debug for OTP_DEBUG {
658 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
659 f.debug_struct("OTP_DEBUG").finish()
660 }
661}
662#[doc = "OTP_DEBUG Peripheral"]
663pub mod otp_debug;
664#[doc = "Parallel IO Controller"]
665pub type PARL_IO = crate::Periph<parl_io::RegisterBlock, 0x6001_5000>;
666impl core::fmt::Debug for PARL_IO {
667 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
668 f.debug_struct("PARL_IO").finish()
669 }
670}
671#[doc = "Parallel IO Controller"]
672pub mod parl_io;
673#[doc = "PAU Peripheral"]
674pub type PAU = crate::Periph<pau::RegisterBlock, 0x6009_3000>;
675impl core::fmt::Debug for PAU {
676 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
677 f.debug_struct("PAU").finish()
678 }
679}
680#[doc = "PAU Peripheral"]
681pub mod pau;
682#[doc = "Pulse Count Controller"]
683pub type PCNT = crate::Periph<pcnt::RegisterBlock, 0x6001_2000>;
684impl core::fmt::Debug for PCNT {
685 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
686 f.debug_struct("PCNT").finish()
687 }
688}
689#[doc = "Pulse Count Controller"]
690pub mod pcnt;
691#[doc = "PCR Peripheral"]
692pub type PCR = crate::Periph<pcr::RegisterBlock, 0x6009_6000>;
693impl core::fmt::Debug for PCR {
694 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
695 f.debug_struct("PCR").finish()
696 }
697}
698#[doc = "PCR Peripheral"]
699pub mod pcr;
700#[doc = "PMU Peripheral"]
701pub type PMU = crate::Periph<pmu::RegisterBlock, 0x600b_0000>;
702impl core::fmt::Debug for PMU {
703 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
704 f.debug_struct("PMU").finish()
705 }
706}
707#[doc = "PMU Peripheral"]
708pub mod pmu;
709#[doc = "Remote Control"]
710pub type RMT = crate::Periph<rmt::RegisterBlock, 0x6000_6000>;
711impl core::fmt::Debug for RMT {
712 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
713 f.debug_struct("RMT").finish()
714 }
715}
716#[doc = "Remote Control"]
717pub mod rmt;
718#[doc = "RSA (Rivest Shamir Adleman) Accelerator"]
719pub type RSA = crate::Periph<rsa::RegisterBlock, 0x6008_a000>;
720impl core::fmt::Debug for RSA {
721 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
722 f.debug_struct("RSA").finish()
723 }
724}
725#[doc = "RSA (Rivest Shamir Adleman) Accelerator"]
726pub mod rsa;
727#[doc = "SHA (Secure Hash Algorithm) Accelerator"]
728pub type SHA = crate::Periph<sha::RegisterBlock, 0x6008_9000>;
729impl core::fmt::Debug for SHA {
730 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
731 f.debug_struct("SHA").finish()
732 }
733}
734#[doc = "SHA (Secure Hash Algorithm) Accelerator"]
735pub mod sha;
736#[doc = "SLCHOST Peripheral"]
737pub type SLCHOST = crate::Periph<slchost::RegisterBlock, 0x6001_8000>;
738impl core::fmt::Debug for SLCHOST {
739 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
740 f.debug_struct("SLCHOST").finish()
741 }
742}
743#[doc = "SLCHOST Peripheral"]
744pub mod slchost;
745#[doc = "Event Task Matrix"]
746pub type SOC_ETM = crate::Periph<soc_etm::RegisterBlock, 0x6001_3000>;
747impl core::fmt::Debug for SOC_ETM {
748 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
749 f.debug_struct("SOC_ETM").finish()
750 }
751}
752#[doc = "Event Task Matrix"]
753pub mod soc_etm;
754#[doc = "SPI (Serial Peripheral Interface) Controller 0"]
755pub type SPI0 = crate::Periph<spi0::RegisterBlock, 0x6000_2000>;
756impl core::fmt::Debug for SPI0 {
757 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
758 f.debug_struct("SPI0").finish()
759 }
760}
761#[doc = "SPI (Serial Peripheral Interface) Controller 0"]
762pub mod spi0;
763#[doc = "SPI (Serial Peripheral Interface) Controller 1"]
764pub type SPI1 = crate::Periph<spi1::RegisterBlock, 0x6000_3000>;
765impl core::fmt::Debug for SPI1 {
766 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
767 f.debug_struct("SPI1").finish()
768 }
769}
770#[doc = "SPI (Serial Peripheral Interface) Controller 1"]
771pub mod spi1;
772#[doc = "SPI (Serial Peripheral Interface) Controller 2"]
773pub type SPI2 = crate::Periph<spi2::RegisterBlock, 0x6008_1000>;
774impl core::fmt::Debug for SPI2 {
775 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
776 f.debug_struct("SPI2").finish()
777 }
778}
779#[doc = "SPI (Serial Peripheral Interface) Controller 2"]
780pub mod spi2;
781#[doc = "System Timer"]
782pub type SYSTIMER = crate::Periph<systimer::RegisterBlock, 0x6000_a000>;
783impl core::fmt::Debug for SYSTIMER {
784 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
785 f.debug_struct("SYSTIMER").finish()
786 }
787}
788#[doc = "System Timer"]
789pub mod systimer;
790#[doc = "TEE Peripheral"]
791pub type TEE = crate::Periph<tee::RegisterBlock, 0x6009_8000>;
792impl core::fmt::Debug for TEE {
793 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
794 f.debug_struct("TEE").finish()
795 }
796}
797#[doc = "TEE Peripheral"]
798pub mod tee;
799#[doc = "Timer Group 0"]
800pub type TIMG0 = crate::Periph<timg0::RegisterBlock, 0x6000_8000>;
801impl core::fmt::Debug for TIMG0 {
802 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
803 f.debug_struct("TIMG0").finish()
804 }
805}
806#[doc = "Timer Group 0"]
807pub mod timg0;
808#[doc = "Timer Group 1"]
809pub type TIMG1 = crate::Periph<timg0::RegisterBlock, 0x6000_9000>;
810impl core::fmt::Debug for TIMG1 {
811 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
812 f.debug_struct("TIMG1").finish()
813 }
814}
815#[doc = "Timer Group 1"]
816pub use self::timg0 as timg1;
817#[doc = "RISC-V Trace Encoder"]
818pub type TRACE = crate::Periph<trace::RegisterBlock, 0x600c_0000>;
819impl core::fmt::Debug for TRACE {
820 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
821 f.debug_struct("TRACE").finish()
822 }
823}
824#[doc = "RISC-V Trace Encoder"]
825pub mod trace;
826#[doc = "Two-Wire Automotive Interface"]
827pub type TWAI0 = crate::Periph<twai0::RegisterBlock, 0x6000_b000>;
828impl core::fmt::Debug for TWAI0 {
829 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
830 f.debug_struct("TWAI0").finish()
831 }
832}
833#[doc = "Two-Wire Automotive Interface"]
834pub mod twai0;
835#[doc = "Two-Wire Automotive Interface"]
836pub type TWAI1 = crate::Periph<twai0::RegisterBlock, 0x6000_d000>;
837impl core::fmt::Debug for TWAI1 {
838 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
839 f.debug_struct("TWAI1").finish()
840 }
841}
842#[doc = "Two-Wire Automotive Interface"]
843pub use self::twai0 as twai1;
844#[doc = "UART (Universal Asynchronous Receiver-Transmitter) Controller 0"]
845pub type UART0 = crate::Periph<uart0::RegisterBlock, 0x6000_0000>;
846impl core::fmt::Debug for UART0 {
847 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
848 f.debug_struct("UART0").finish()
849 }
850}
851#[doc = "UART (Universal Asynchronous Receiver-Transmitter) Controller 0"]
852pub mod uart0;
853#[doc = "UART (Universal Asynchronous Receiver-Transmitter) Controller 1"]
854pub type UART1 = crate::Periph<uart0::RegisterBlock, 0x6000_1000>;
855impl core::fmt::Debug for UART1 {
856 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
857 f.debug_struct("UART1").finish()
858 }
859}
860#[doc = "UART (Universal Asynchronous Receiver-Transmitter) Controller 1"]
861pub use self::uart0 as uart1;
862#[doc = "Universal Host Controller Interface 0"]
863pub type UHCI0 = crate::Periph<uhci0::RegisterBlock, 0x6000_5000>;
864impl core::fmt::Debug for UHCI0 {
865 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
866 f.debug_struct("UHCI0").finish()
867 }
868}
869#[doc = "Universal Host Controller Interface 0"]
870pub mod uhci0;
871#[doc = "Full-speed USB Serial/JTAG Controller"]
872pub type USB_DEVICE = crate::Periph<usb_device::RegisterBlock, 0x6000_f000>;
873impl core::fmt::Debug for USB_DEVICE {
874 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
875 f.debug_struct("USB_DEVICE").finish()
876 }
877}
878#[doc = "Full-speed USB Serial/JTAG Controller"]
879pub mod usb_device;