#![doc = "Peripheral access API for R7FA6M1AD microcontrollers (generated using svd2rust v0.28.0 ( ))\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.28.0/svd2rust/#peripheral-api\n[next]: https://github.com/rust-embedded/svd2rust/blob/master/CHANGELOG.md#unreleased\n[repository]: https://github.com/rust-embedded/svd2rust"]
#![deny(dead_code)]
#![deny(improper_ctypes)]
#![deny(missing_docs)]
#![deny(no_mangle_generic_items)]
#![deny(non_shorthand_field_patterns)]
#![deny(overflowing_literals)]
#![deny(path_statements)]
#![deny(patterns_in_fns_without_body)]
#![deny(private_in_public)]
#![deny(unconditional_recursion)]
#![deny(unused_allocation)]
#![deny(unused_comparisons)]
#![deny(unused_parens)]
#![deny(while_true)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![no_std]
use core::marker::PhantomData;
use core::ops::Deref;
#[doc = r"Number available in the NVIC for configuring priority"]
pub const NVIC_PRIO_BITS: u8 = 4;
#[cfg(feature = "rt")]
pub use self::Interrupt as interrupt;
pub use cortex_m::peripheral::Peripherals as CorePeripherals;
pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
#[cfg(feature = "rt")]
pub use cortex_m_rt::interrupt;
#[allow(unused_imports)]
use generic::*;
#[doc = r"Common register and bit access and modify traits"]
pub mod generic;
#[cfg(feature = "rt")]
extern "C" {
fn IEL0();
fn IEL1();
fn IEL2();
fn IEL3();
fn IEL4();
fn IEL5();
fn IEL6();
fn IEL7();
fn IEL8();
fn IEL9();
fn IEL10();
fn IEL11();
fn IEL12();
fn IEL13();
fn IEL14();
fn IEL15();
fn IEL16();
fn IEL17();
fn IEL18();
fn IEL19();
fn IEL20();
fn IEL21();
fn IEL22();
fn IEL23();
fn IEL24();
fn IEL25();
fn IEL26();
fn IEL27();
fn IEL28();
fn IEL29();
fn IEL30();
fn IEL31();
fn IEL32();
fn IEL33();
fn IEL34();
fn IEL35();
fn IEL36();
fn IEL37();
fn IEL38();
fn IEL39();
fn IEL40();
fn IEL41();
fn IEL42();
fn IEL43();
fn IEL44();
fn IEL45();
fn IEL46();
fn IEL47();
fn IEL48();
fn IEL49();
fn IEL50();
fn IEL51();
fn IEL52();
fn IEL53();
fn IEL54();
fn IEL55();
fn IEL56();
fn IEL57();
fn IEL58();
fn IEL59();
fn IEL60();
fn IEL61();
fn IEL62();
fn IEL63();
fn IEL64();
fn IEL65();
fn IEL66();
fn IEL67();
fn IEL68();
fn IEL69();
fn IEL70();
fn IEL71();
fn IEL72();
fn IEL73();
fn IEL74();
fn IEL75();
fn IEL76();
fn IEL77();
fn IEL78();
fn IEL79();
fn IEL80();
fn IEL81();
fn IEL82();
fn IEL83();
fn IEL84();
fn IEL85();
fn IEL86();
fn IEL87();
fn IEL88();
fn IEL89();
fn IEL90();
fn IEL91();
fn IEL92();
fn IEL93();
fn IEL94();
fn IEL95();
}
#[doc(hidden)]
pub union Vector {
_handler: unsafe extern "C" fn(),
_reserved: u32,
}
#[cfg(feature = "rt")]
#[doc(hidden)]
#[link_section = ".vector_table.interrupts"]
#[no_mangle]
pub static __INTERRUPTS: [Vector; 96] = [
Vector { _handler: IEL0 },
Vector { _handler: IEL1 },
Vector { _handler: IEL2 },
Vector { _handler: IEL3 },
Vector { _handler: IEL4 },
Vector { _handler: IEL5 },
Vector { _handler: IEL6 },
Vector { _handler: IEL7 },
Vector { _handler: IEL8 },
Vector { _handler: IEL9 },
Vector { _handler: IEL10 },
Vector { _handler: IEL11 },
Vector { _handler: IEL12 },
Vector { _handler: IEL13 },
Vector { _handler: IEL14 },
Vector { _handler: IEL15 },
Vector { _handler: IEL16 },
Vector { _handler: IEL17 },
Vector { _handler: IEL18 },
Vector { _handler: IEL19 },
Vector { _handler: IEL20 },
Vector { _handler: IEL21 },
Vector { _handler: IEL22 },
Vector { _handler: IEL23 },
Vector { _handler: IEL24 },
Vector { _handler: IEL25 },
Vector { _handler: IEL26 },
Vector { _handler: IEL27 },
Vector { _handler: IEL28 },
Vector { _handler: IEL29 },
Vector { _handler: IEL30 },
Vector { _handler: IEL31 },
Vector { _handler: IEL32 },
Vector { _handler: IEL33 },
Vector { _handler: IEL34 },
Vector { _handler: IEL35 },
Vector { _handler: IEL36 },
Vector { _handler: IEL37 },
Vector { _handler: IEL38 },
Vector { _handler: IEL39 },
Vector { _handler: IEL40 },
Vector { _handler: IEL41 },
Vector { _handler: IEL42 },
Vector { _handler: IEL43 },
Vector { _handler: IEL44 },
Vector { _handler: IEL45 },
Vector { _handler: IEL46 },
Vector { _handler: IEL47 },
Vector { _handler: IEL48 },
Vector { _handler: IEL49 },
Vector { _handler: IEL50 },
Vector { _handler: IEL51 },
Vector { _handler: IEL52 },
Vector { _handler: IEL53 },
Vector { _handler: IEL54 },
Vector { _handler: IEL55 },
Vector { _handler: IEL56 },
Vector { _handler: IEL57 },
Vector { _handler: IEL58 },
Vector { _handler: IEL59 },
Vector { _handler: IEL60 },
Vector { _handler: IEL61 },
Vector { _handler: IEL62 },
Vector { _handler: IEL63 },
Vector { _handler: IEL64 },
Vector { _handler: IEL65 },
Vector { _handler: IEL66 },
Vector { _handler: IEL67 },
Vector { _handler: IEL68 },
Vector { _handler: IEL69 },
Vector { _handler: IEL70 },
Vector { _handler: IEL71 },
Vector { _handler: IEL72 },
Vector { _handler: IEL73 },
Vector { _handler: IEL74 },
Vector { _handler: IEL75 },
Vector { _handler: IEL76 },
Vector { _handler: IEL77 },
Vector { _handler: IEL78 },
Vector { _handler: IEL79 },
Vector { _handler: IEL80 },
Vector { _handler: IEL81 },
Vector { _handler: IEL82 },
Vector { _handler: IEL83 },
Vector { _handler: IEL84 },
Vector { _handler: IEL85 },
Vector { _handler: IEL86 },
Vector { _handler: IEL87 },
Vector { _handler: IEL88 },
Vector { _handler: IEL89 },
Vector { _handler: IEL90 },
Vector { _handler: IEL91 },
Vector { _handler: IEL92 },
Vector { _handler: IEL93 },
Vector { _handler: IEL94 },
Vector { _handler: IEL95 },
];
#[doc = r"Enumeration of all the interrupts."]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
#[repr(u16)]
pub enum Interrupt {
#[doc = "0 - ICU Interrupt 0"]
IEL0 = 0,
#[doc = "1 - ICU Interrupt 1"]
IEL1 = 1,
#[doc = "2 - ICU Interrupt 2"]
IEL2 = 2,
#[doc = "3 - ICU Interrupt 3"]
IEL3 = 3,
#[doc = "4 - ICU Interrupt 4"]
IEL4 = 4,
#[doc = "5 - ICU Interrupt 5"]
IEL5 = 5,
#[doc = "6 - ICU Interrupt 6"]
IEL6 = 6,
#[doc = "7 - ICU Interrupt 7"]
IEL7 = 7,
#[doc = "8 - ICU Interrupt 8"]
IEL8 = 8,
#[doc = "9 - ICU Interrupt 9"]
IEL9 = 9,
#[doc = "10 - ICU Interrupt 10"]
IEL10 = 10,
#[doc = "11 - ICU Interrupt 11"]
IEL11 = 11,
#[doc = "12 - ICU Interrupt 12"]
IEL12 = 12,
#[doc = "13 - ICU Interrupt 13"]
IEL13 = 13,
#[doc = "14 - ICU Interrupt 14"]
IEL14 = 14,
#[doc = "15 - ICU Interrupt 15"]
IEL15 = 15,
#[doc = "16 - ICU Interrupt 16"]
IEL16 = 16,
#[doc = "17 - ICU Interrupt 17"]
IEL17 = 17,
#[doc = "18 - ICU Interrupt 18"]
IEL18 = 18,
#[doc = "19 - ICU Interrupt 19"]
IEL19 = 19,
#[doc = "20 - ICU Interrupt 20"]
IEL20 = 20,
#[doc = "21 - ICU Interrupt 21"]
IEL21 = 21,
#[doc = "22 - ICU Interrupt 22"]
IEL22 = 22,
#[doc = "23 - ICU Interrupt 23"]
IEL23 = 23,
#[doc = "24 - ICU Interrupt 24"]
IEL24 = 24,
#[doc = "25 - ICU Interrupt 25"]
IEL25 = 25,
#[doc = "26 - ICU Interrupt 26"]
IEL26 = 26,
#[doc = "27 - ICU Interrupt 27"]
IEL27 = 27,
#[doc = "28 - ICU Interrupt 28"]
IEL28 = 28,
#[doc = "29 - ICU Interrupt 29"]
IEL29 = 29,
#[doc = "30 - ICU Interrupt 30"]
IEL30 = 30,
#[doc = "31 - ICU Interrupt 31"]
IEL31 = 31,
#[doc = "32 - ICU Interrupt 32"]
IEL32 = 32,
#[doc = "33 - ICU Interrupt 33"]
IEL33 = 33,
#[doc = "34 - ICU Interrupt 34"]
IEL34 = 34,
#[doc = "35 - ICU Interrupt 35"]
IEL35 = 35,
#[doc = "36 - ICU Interrupt 36"]
IEL36 = 36,
#[doc = "37 - ICU Interrupt 37"]
IEL37 = 37,
#[doc = "38 - ICU Interrupt 38"]
IEL38 = 38,
#[doc = "39 - ICU Interrupt 39"]
IEL39 = 39,
#[doc = "40 - ICU Interrupt 40"]
IEL40 = 40,
#[doc = "41 - ICU Interrupt 41"]
IEL41 = 41,
#[doc = "42 - ICU Interrupt 42"]
IEL42 = 42,
#[doc = "43 - ICU Interrupt 43"]
IEL43 = 43,
#[doc = "44 - ICU Interrupt 44"]
IEL44 = 44,
#[doc = "45 - ICU Interrupt 45"]
IEL45 = 45,
#[doc = "46 - ICU Interrupt 46"]
IEL46 = 46,
#[doc = "47 - ICU Interrupt 47"]
IEL47 = 47,
#[doc = "48 - ICU Interrupt 48"]
IEL48 = 48,
#[doc = "49 - ICU Interrupt 49"]
IEL49 = 49,
#[doc = "50 - ICU Interrupt 50"]
IEL50 = 50,
#[doc = "51 - ICU Interrupt 51"]
IEL51 = 51,
#[doc = "52 - ICU Interrupt 52"]
IEL52 = 52,
#[doc = "53 - ICU Interrupt 53"]
IEL53 = 53,
#[doc = "54 - ICU Interrupt 54"]
IEL54 = 54,
#[doc = "55 - ICU Interrupt 55"]
IEL55 = 55,
#[doc = "56 - ICU Interrupt 56"]
IEL56 = 56,
#[doc = "57 - ICU Interrupt 57"]
IEL57 = 57,
#[doc = "58 - ICU Interrupt 58"]
IEL58 = 58,
#[doc = "59 - ICU Interrupt 59"]
IEL59 = 59,
#[doc = "60 - ICU Interrupt 60"]
IEL60 = 60,
#[doc = "61 - ICU Interrupt 61"]
IEL61 = 61,
#[doc = "62 - ICU Interrupt 62"]
IEL62 = 62,
#[doc = "63 - ICU Interrupt 63"]
IEL63 = 63,
#[doc = "64 - ICU Interrupt 64"]
IEL64 = 64,
#[doc = "65 - ICU Interrupt 65"]
IEL65 = 65,
#[doc = "66 - ICU Interrupt 66"]
IEL66 = 66,
#[doc = "67 - ICU Interrupt 67"]
IEL67 = 67,
#[doc = "68 - ICU Interrupt 68"]
IEL68 = 68,
#[doc = "69 - ICU Interrupt 69"]
IEL69 = 69,
#[doc = "70 - ICU Interrupt 70"]
IEL70 = 70,
#[doc = "71 - ICU Interrupt 71"]
IEL71 = 71,
#[doc = "72 - ICU Interrupt 72"]
IEL72 = 72,
#[doc = "73 - ICU Interrupt 73"]
IEL73 = 73,
#[doc = "74 - ICU Interrupt 74"]
IEL74 = 74,
#[doc = "75 - ICU Interrupt 75"]
IEL75 = 75,
#[doc = "76 - ICU Interrupt 76"]
IEL76 = 76,
#[doc = "77 - ICU Interrupt 77"]
IEL77 = 77,
#[doc = "78 - ICU Interrupt 78"]
IEL78 = 78,
#[doc = "79 - ICU Interrupt 79"]
IEL79 = 79,
#[doc = "80 - ICU Interrupt 80"]
IEL80 = 80,
#[doc = "81 - ICU Interrupt 81"]
IEL81 = 81,
#[doc = "82 - ICU Interrupt 82"]
IEL82 = 82,
#[doc = "83 - ICU Interrupt 83"]
IEL83 = 83,
#[doc = "84 - ICU Interrupt 84"]
IEL84 = 84,
#[doc = "85 - ICU Interrupt 85"]
IEL85 = 85,
#[doc = "86 - ICU Interrupt 86"]
IEL86 = 86,
#[doc = "87 - ICU Interrupt 87"]
IEL87 = 87,
#[doc = "88 - ICU Interrupt 88"]
IEL88 = 88,
#[doc = "89 - ICU Interrupt 89"]
IEL89 = 89,
#[doc = "90 - ICU Interrupt 90"]
IEL90 = 90,
#[doc = "91 - ICU Interrupt 91"]
IEL91 = 91,
#[doc = "92 - ICU Interrupt 92"]
IEL92 = 92,
#[doc = "93 - ICU Interrupt 93"]
IEL93 = 93,
#[doc = "94 - ICU Interrupt 94"]
IEL94 = 94,
#[doc = "95 - ICU Interrupt 95"]
IEL95 = 95,
}
unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
#[inline(always)]
fn number(self) -> u16 {
self as u16
}
}
#[doc = "12-bit D/A converter"]
pub struct DAC12 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DAC12 {}
impl DAC12 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dac12::RegisterBlock = 0x4005_e000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dac12::RegisterBlock {
Self::PTR
}
}
impl Deref for DAC12 {
type Target = dac12::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DAC12 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DAC12").finish()
}
}
#[doc = "12-bit D/A converter"]
pub mod dac12;
#[doc = "High-Speed Analog Comparator 0"]
pub struct ACMPHS0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS0 {}
impl ACMPHS0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs0::RegisterBlock = 0x4008_5000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs0::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS0 {
type Target = acmphs0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS0").finish()
}
}
#[doc = "High-Speed Analog Comparator 0"]
pub mod acmphs0;
#[doc = "High-Speed Analog Comparator 1"]
pub struct ACMPHS1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS1 {}
impl ACMPHS1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs1::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS1 {
type Target = acmphs1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS1").finish()
}
}
#[doc = "High-Speed Analog Comparator 1"]
pub mod acmphs1;
#[doc = "High-Speed Analog Comparator 2"]
pub struct ACMPHS2 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS2 {}
impl ACMPHS2 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5200 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs1::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS2 {
type Target = acmphs1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS2").finish()
}
}
#[doc = "High-Speed Analog Comparator 2"]
pub use self::acmphs1 as acmphs2;
#[doc = "High-Speed Analog Comparator 3"]
pub struct ACMPHS3 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS3 {}
impl ACMPHS3 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5300 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs1::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS3 {
type Target = acmphs1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS3").finish()
}
}
#[doc = "High-Speed Analog Comparator 3"]
pub use self::acmphs1 as acmphs3;
#[doc = "High-Speed Analog Comparator 4"]
pub struct ACMPHS4 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS4 {}
impl ACMPHS4 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5400 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs1::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS4 {
type Target = acmphs1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS4").finish()
}
}
#[doc = "High-Speed Analog Comparator 4"]
pub use self::acmphs1 as acmphs4;
#[doc = "High-Speed Analog Comparator 5"]
pub struct ACMPHS5 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ACMPHS5 {}
impl ACMPHS5 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const acmphs1::RegisterBlock = 0x4008_5500 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const acmphs1::RegisterBlock {
Self::PTR
}
}
impl Deref for ACMPHS5 {
type Target = acmphs1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ACMPHS5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ACMPHS5").finish()
}
}
#[doc = "High-Speed Analog Comparator 5"]
pub use self::acmphs1 as acmphs5;
#[doc = "Temperature Sensor"]
pub struct TSN {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for TSN {}
impl TSN {
#[doc = r"Pointer to the register block"]
pub const PTR: *const tsn::RegisterBlock = 0x4005_d000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const tsn::RegisterBlock {
Self::PTR
}
}
impl Deref for TSN {
type Target = tsn::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for TSN {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TSN").finish()
}
}
#[doc = "Temperature Sensor"]
pub mod tsn;
#[doc = "CRC Calculator"]
pub struct CRC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for CRC {}
impl CRC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const crc::RegisterBlock = 0x4007_4000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const crc::RegisterBlock {
Self::PTR
}
}
impl Deref for CRC {
type Target = crc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for CRC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CRC").finish()
}
}
#[doc = "CRC Calculator"]
pub mod crc;
#[doc = "Serial Sound Interface Enhanced (SSIE)"]
pub struct SSIE0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SSIE0 {}
impl SSIE0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const ssie0::RegisterBlock = 0x4004_e000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const ssie0::RegisterBlock {
Self::PTR
}
}
impl Deref for SSIE0 {
type Target = ssie0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SSIE0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SSIE0").finish()
}
}
#[doc = "Serial Sound Interface Enhanced (SSIE)"]
pub mod ssie0;
#[doc = "Event Link Controller"]
pub struct ELC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ELC {}
impl ELC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const elc::RegisterBlock = 0x4004_1000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const elc::RegisterBlock {
Self::PTR
}
}
impl Deref for ELC {
type Target = elc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ELC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ELC").finish()
}
}
#[doc = "Event Link Controller"]
pub mod elc;
#[doc = "Clock Frequency Accuracy Measurement Circuit"]
pub struct CAC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for CAC {}
impl CAC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const cac::RegisterBlock = 0x4004_4600 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const cac::RegisterBlock {
Self::PTR
}
}
impl Deref for CAC {
type Target = cac::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for CAC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CAC").finish()
}
}
#[doc = "Clock Frequency Accuracy Measurement Circuit"]
pub mod cac;
#[doc = "Data Operation Circuit"]
pub struct DOC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DOC {}
impl DOC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const doc::RegisterBlock = 0x4005_4100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const doc::RegisterBlock {
Self::PTR
}
}
impl Deref for DOC {
type Target = doc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DOC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DOC").finish()
}
}
#[doc = "Data Operation Circuit"]
pub mod doc;
#[doc = "Independent Watchdog Timer"]
pub struct IWDT {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for IWDT {}
impl IWDT {
#[doc = r"Pointer to the register block"]
pub const PTR: *const iwdt::RegisterBlock = 0x4004_4400 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const iwdt::RegisterBlock {
Self::PTR
}
}
impl Deref for IWDT {
type Target = iwdt::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for IWDT {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IWDT").finish()
}
}
#[doc = "Independent Watchdog Timer"]
pub mod iwdt;
#[doc = "Key Interrupt Function"]
pub struct KINT {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for KINT {}
impl KINT {
#[doc = r"Pointer to the register block"]
pub const PTR: *const kint::RegisterBlock = 0x4008_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const kint::RegisterBlock {
Self::PTR
}
}
impl Deref for KINT {
type Target = kint::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for KINT {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("KINT").finish()
}
}
#[doc = "Key Interrupt Function"]
pub mod kint;
#[doc = "Watchdog Timer"]
pub struct WDT {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for WDT {}
impl WDT {
#[doc = r"Pointer to the register block"]
pub const PTR: *const wdt::RegisterBlock = 0x4004_4200 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const wdt::RegisterBlock {
Self::PTR
}
}
impl Deref for WDT {
type Target = wdt::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for WDT {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("WDT").finish()
}
}
#[doc = "Watchdog Timer"]
pub mod wdt;
#[doc = "USB 2.0 FS Module"]
pub struct USBFS {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for USBFS {}
impl USBFS {
#[doc = r"Pointer to the register block"]
pub const PTR: *const usbfs::RegisterBlock = 0x4009_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const usbfs::RegisterBlock {
Self::PTR
}
}
impl Deref for USBFS {
type Target = usbfs::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for USBFS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("USBFS").finish()
}
}
#[doc = "USB 2.0 FS Module"]
pub mod usbfs;
#[doc = "CAN0 Module"]
pub struct CAN0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for CAN0 {}
impl CAN0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const can0::RegisterBlock = 0x4005_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const can0::RegisterBlock {
Self::PTR
}
}
impl Deref for CAN0 {
type Target = can0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for CAN0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CAN0").finish()
}
}
#[doc = "CAN0 Module"]
pub mod can0;
#[doc = "CAN1 Module"]
pub struct CAN1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for CAN1 {}
impl CAN1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const can0::RegisterBlock = 0x4005_1000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const can0::RegisterBlock {
Self::PTR
}
}
impl Deref for CAN1 {
type Target = can0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for CAN1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CAN1").finish()
}
}
#[doc = "CAN1 Module"]
pub use self::can0 as can1;
#[doc = "Infrared Data Association"]
pub struct IRDA {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for IRDA {}
impl IRDA {
#[doc = r"Pointer to the register block"]
pub const PTR: *const irda::RegisterBlock = 0x4007_0f00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const irda::RegisterBlock {
Self::PTR
}
}
impl Deref for IRDA {
type Target = irda::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for IRDA {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IRDA").finish()
}
}
#[doc = "Infrared Data Association"]
pub mod irda;
#[doc = "Quad-SPI"]
pub struct QSPI {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for QSPI {}
impl QSPI {
#[doc = r"Pointer to the register block"]
pub const PTR: *const qspi::RegisterBlock = 0x6400_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const qspi::RegisterBlock {
Self::PTR
}
}
impl Deref for QSPI {
type Target = qspi::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for QSPI {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("QSPI").finish()
}
}
#[doc = "Quad-SPI"]
pub mod qspi;
#[doc = "Serial Peripheral Interface 0"]
pub struct SPI0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SPI0 {}
impl SPI0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const spi0::RegisterBlock = 0x4007_2000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const spi0::RegisterBlock {
Self::PTR
}
}
impl Deref for SPI0 {
type Target = spi0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SPI0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPI0").finish()
}
}
#[doc = "Serial Peripheral Interface 0"]
pub mod spi0;
#[doc = "Serial Peripheral Interface 1"]
pub struct SPI1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SPI1 {}
impl SPI1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const spi0::RegisterBlock = 0x4007_2100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const spi0::RegisterBlock {
Self::PTR
}
}
impl Deref for SPI1 {
type Target = spi0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SPI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPI1").finish()
}
}
#[doc = "Serial Peripheral Interface 1"]
pub use self::spi0 as spi1;
#[doc = "Sampling Rate Converter RAM"]
pub struct SRCRAM {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SRCRAM {}
impl SRCRAM {
#[doc = r"Pointer to the register block"]
pub const PTR: *const srcram::RegisterBlock = 0x4004_8000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const srcram::RegisterBlock {
Self::PTR
}
}
impl Deref for SRCRAM {
type Target = srcram::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SRCRAM {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SRCRAM").finish()
}
}
#[doc = "Sampling Rate Converter RAM"]
pub mod srcram;
#[doc = "Sampling Rate Converter"]
pub struct SRC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SRC {}
impl SRC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const src::RegisterBlock = 0x4004_dff0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const src::RegisterBlock {
Self::PTR
}
}
impl Deref for SRC {
type Target = src::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SRC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SRC").finish()
}
}
#[doc = "Sampling Rate Converter"]
pub mod src;
#[doc = "Debug Function"]
pub struct DBG {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DBG {}
impl DBG {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dbg::RegisterBlock = 0x4001_b000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dbg::RegisterBlock {
Self::PTR
}
}
impl Deref for DBG {
type Target = dbg::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DBG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DBG").finish()
}
}
#[doc = "Debug Function"]
pub mod dbg;
#[doc = "Direct memory access controller 0"]
pub struct DMAC0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC0 {}
impl DMAC0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC0 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC0").finish()
}
}
#[doc = "Direct memory access controller 0"]
pub mod dmac0;
#[doc = "Direct memory access controller 1"]
pub struct DMAC1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC1 {}
impl DMAC1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5040 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC1 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC1").finish()
}
}
#[doc = "Direct memory access controller 1"]
pub use self::dmac0 as dmac1;
#[doc = "Direct memory access controller 2"]
pub struct DMAC2 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC2 {}
impl DMAC2 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5080 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC2 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC2").finish()
}
}
#[doc = "Direct memory access controller 2"]
pub use self::dmac0 as dmac2;
#[doc = "Direct memory access controller 3"]
pub struct DMAC3 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC3 {}
impl DMAC3 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_50c0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC3 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC3").finish()
}
}
#[doc = "Direct memory access controller 3"]
pub use self::dmac0 as dmac3;
#[doc = "Direct memory access controller 4"]
pub struct DMAC4 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC4 {}
impl DMAC4 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC4 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC4").finish()
}
}
#[doc = "Direct memory access controller 4"]
pub use self::dmac0 as dmac4;
#[doc = "Direct memory access controller 5"]
pub struct DMAC5 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC5 {}
impl DMAC5 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5140 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC5 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC5").finish()
}
}
#[doc = "Direct memory access controller 5"]
pub use self::dmac0 as dmac5;
#[doc = "Direct memory access controller 6"]
pub struct DMAC6 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC6 {}
impl DMAC6 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_5180 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC6 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC6").finish()
}
}
#[doc = "Direct memory access controller 6"]
pub use self::dmac0 as dmac6;
#[doc = "Direct memory access controller 7"]
pub struct DMAC7 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMAC7 {}
impl DMAC7 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dmac0::RegisterBlock = 0x4000_51c0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dmac0::RegisterBlock {
Self::PTR
}
}
impl Deref for DMAC7 {
type Target = dmac0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMAC7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAC7").finish()
}
}
#[doc = "Direct memory access controller 7"]
pub use self::dmac0 as dmac7;
#[doc = "DMAC Module Activation"]
pub struct DMA {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DMA {}
impl DMA {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dma::RegisterBlock = 0x4000_5200 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dma::RegisterBlock {
Self::PTR
}
}
impl Deref for DMA {
type Target = dma::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DMA {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMA").finish()
}
}
#[doc = "DMAC Module Activation"]
pub mod dma;
#[doc = "Data Transfer Controller"]
pub struct DTC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for DTC {}
impl DTC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const dtc::RegisterBlock = 0x4000_5400 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const dtc::RegisterBlock {
Self::PTR
}
}
impl Deref for DTC {
type Target = dtc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for DTC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DTC").finish()
}
}
#[doc = "Data Transfer Controller"]
pub mod dtc;
#[doc = "Memory Mirror Function"]
pub struct MMF {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for MMF {}
impl MMF {
#[doc = r"Pointer to the register block"]
pub const PTR: *const mmf::RegisterBlock = 0x4000_1000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const mmf::RegisterBlock {
Self::PTR
}
}
impl Deref for MMF {
type Target = mmf::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for MMF {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MMF").finish()
}
}
#[doc = "Memory Mirror Function"]
pub mod mmf;
#[doc = "SRAM Control"]
pub struct SRAM {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SRAM {}
impl SRAM {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sram::RegisterBlock = 0x4000_2000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sram::RegisterBlock {
Self::PTR
}
}
impl Deref for SRAM {
type Target = sram::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SRAM {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SRAM").finish()
}
}
#[doc = "SRAM Control"]
pub mod sram;
#[doc = "Flash Cache"]
pub struct FCACHE {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for FCACHE {}
impl FCACHE {
#[doc = r"Pointer to the register block"]
pub const PTR: *const fcache::RegisterBlock = 0x4001_c000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const fcache::RegisterBlock {
Self::PTR
}
}
impl Deref for FCACHE {
type Target = fcache::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for FCACHE {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("FCACHE").finish()
}
}
#[doc = "Flash Cache"]
pub mod fcache;
#[doc = "System Control"]
pub struct SYSTEM {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SYSTEM {}
impl SYSTEM {
#[doc = r"Pointer to the register block"]
pub const PTR: *const system::RegisterBlock = 0x4001_e000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const system::RegisterBlock {
Self::PTR
}
}
impl Deref for SYSTEM {
type Target = system::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SYSTEM {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SYSTEM").finish()
}
}
#[doc = "System Control"]
pub mod system;
#[doc = "Module Stop Control B,C,D"]
pub struct MSTP {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for MSTP {}
impl MSTP {
#[doc = r"Pointer to the register block"]
pub const PTR: *const mstp::RegisterBlock = 0x4004_7000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const mstp::RegisterBlock {
Self::PTR
}
}
impl Deref for MSTP {
type Target = mstp::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for MSTP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MSTP").finish()
}
}
#[doc = "Module Stop Control B,C,D"]
pub mod mstp;
#[doc = "Realtime Clock"]
pub struct RTC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for RTC {}
impl RTC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const rtc::RegisterBlock = 0x4004_4000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const rtc::RegisterBlock {
Self::PTR
}
}
impl Deref for RTC {
type Target = rtc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for RTC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("RTC").finish()
}
}
#[doc = "Realtime Clock"]
pub mod rtc;
#[doc = "Asynchronous General purpose Timer 0"]
pub struct AGT0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for AGT0 {}
impl AGT0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const agt0::RegisterBlock = 0x4008_4000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const agt0::RegisterBlock {
Self::PTR
}
}
impl Deref for AGT0 {
type Target = agt0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for AGT0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("AGT0").finish()
}
}
#[doc = "Asynchronous General purpose Timer 0"]
pub mod agt0;
#[doc = "Asynchronous General purpose Timer 1"]
pub struct AGT1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for AGT1 {}
impl AGT1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const agt0::RegisterBlock = 0x4008_4100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const agt0::RegisterBlock {
Self::PTR
}
}
impl Deref for AGT1 {
type Target = agt0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for AGT1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("AGT1").finish()
}
}
#[doc = "Asynchronous General purpose Timer 1"]
pub use self::agt0 as agt1;
#[doc = "Output Phase Switching Controller"]
pub struct GPT_OPS {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT_OPS {}
impl GPT_OPS {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt_ops::RegisterBlock = 0x4007_8ff0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt_ops::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT_OPS {
type Target = gpt_ops::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT_OPS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT_OPS").finish()
}
}
#[doc = "Output Phase Switching Controller"]
pub mod gpt_ops;
#[doc = "General PWM Timer 0 (32-bit Enhanced High Resolution)"]
pub struct GPT32EH0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32EH0 {}
impl GPT32EH0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32EH0 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32EH0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32EH0").finish()
}
}
#[doc = "General PWM Timer 0 (32-bit Enhanced High Resolution)"]
pub mod gpt32eh0;
#[doc = "General PWM Timer 1 (32-bit Enhanced High Resolution)"]
pub struct GPT32EH1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32EH1 {}
impl GPT32EH1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32EH1 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32EH1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32EH1").finish()
}
}
#[doc = "General PWM Timer 1 (32-bit Enhanced High Resolution)"]
pub use self::gpt32eh0 as gpt32eh1;
#[doc = "General PWM Timer 2 (32-bit Enhanced High Resolution)"]
pub struct GPT32EH2 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32EH2 {}
impl GPT32EH2 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8200 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32EH2 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32EH2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32EH2").finish()
}
}
#[doc = "General PWM Timer 2 (32-bit Enhanced High Resolution)"]
pub use self::gpt32eh0 as gpt32eh2;
#[doc = "General PWM Timer 3 (32-bit Enhanced High Resolution)"]
pub struct GPT32EH3 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32EH3 {}
impl GPT32EH3 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8300 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32EH3 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32EH3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32EH3").finish()
}
}
#[doc = "General PWM Timer 3 (32-bit Enhanced High Resolution)"]
pub use self::gpt32eh0 as gpt32eh3;
#[doc = "General PWM Timer 4 (32-bit Enhanced)"]
pub struct GPT32E4 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32E4 {}
impl GPT32E4 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8400 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32E4 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32E4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32E4").finish()
}
}
#[doc = "General PWM Timer 4 (32-bit Enhanced)"]
pub use self::gpt32eh0 as gpt32e4;
#[doc = "General PWM Timer 5 (32-bit Enhanced)"]
pub struct GPT32E5 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32E5 {}
impl GPT32E5 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8500 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32E5 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32E5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32E5").finish()
}
}
#[doc = "General PWM Timer 5 (32-bit Enhanced)"]
pub use self::gpt32eh0 as gpt32e5;
#[doc = "General PWM Timer 6 (32-bit Enhanced)"]
pub struct GPT32E6 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32E6 {}
impl GPT32E6 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8600 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32E6 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32E6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32E6").finish()
}
}
#[doc = "General PWM Timer 6 (32-bit Enhanced)"]
pub use self::gpt32eh0 as gpt32e6;
#[doc = "General PWM Timer 7 (32-bit Enhanced)"]
pub struct GPT32E7 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT32E7 {}
impl GPT32E7 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt32eh0::RegisterBlock = 0x4007_8700 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt32eh0::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT32E7 {
type Target = gpt32eh0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT32E7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT32E7").finish()
}
}
#[doc = "General PWM Timer 7 (32-bit Enhanced)"]
pub use self::gpt32eh0 as gpt32e7;
#[doc = "Port Output Enable Module for GPT"]
pub struct POEG {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for POEG {}
impl POEG {
#[doc = r"Pointer to the register block"]
pub const PTR: *const poeg::RegisterBlock = 0x4004_2000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const poeg::RegisterBlock {
Self::PTR
}
}
impl Deref for POEG {
type Target = poeg::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for POEG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("POEG").finish()
}
}
#[doc = "Port Output Enable Module for GPT"]
pub mod poeg;
#[doc = "PWM Delay Generation Circuit"]
pub struct GPT_ODC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT_ODC {}
impl GPT_ODC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt_odc::RegisterBlock = 0x4007_b000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt_odc::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT_ODC {
type Target = gpt_odc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT_ODC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT_ODC").finish()
}
}
#[doc = "PWM Delay Generation Circuit"]
pub mod gpt_odc;
#[doc = "BUS Control"]
pub struct BUS {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for BUS {}
impl BUS {
#[doc = r"Pointer to the register block"]
pub const PTR: *const bus::RegisterBlock = 0x4000_3000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const bus::RegisterBlock {
Self::PTR
}
}
impl Deref for BUS {
type Target = bus::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for BUS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("BUS").finish()
}
}
#[doc = "BUS Control"]
pub mod bus;
#[doc = "Interrupt Controller"]
pub struct ICU {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ICU {}
impl ICU {
#[doc = r"Pointer to the register block"]
pub const PTR: *const icu::RegisterBlock = 0x4000_6000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const icu::RegisterBlock {
Self::PTR
}
}
impl Deref for ICU {
type Target = icu::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ICU {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ICU").finish()
}
}
#[doc = "Interrupt Controller"]
pub mod icu;
#[doc = "Port 0 Control Registers"]
pub struct PORT0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT0 {}
impl PORT0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port0::RegisterBlock = 0x4004_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port0::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT0 {
type Target = port0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT0").finish()
}
}
#[doc = "Port 0 Control Registers"]
pub mod port0;
#[doc = "Port 1 Control Registers"]
pub struct PORT1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT1 {}
impl PORT1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port1::RegisterBlock = 0x4004_0020 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port1::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT1 {
type Target = port1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT1").finish()
}
}
#[doc = "Port 1 Control Registers"]
pub mod port1;
#[doc = "Port 2 Control Registers"]
pub struct PORT2 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT2 {}
impl PORT2 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port1::RegisterBlock = 0x4004_0040 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port1::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT2 {
type Target = port1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT2").finish()
}
}
#[doc = "Port 2 Control Registers"]
pub use self::port1 as port2;
#[doc = "Port 3 Control Registers"]
pub struct PORT3 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT3 {}
impl PORT3 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port1::RegisterBlock = 0x4004_0060 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port1::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT3 {
type Target = port1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT3").finish()
}
}
#[doc = "Port 3 Control Registers"]
pub use self::port1 as port3;
#[doc = "Port 4 Control Registers"]
pub struct PORT4 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT4 {}
impl PORT4 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port1::RegisterBlock = 0x4004_0080 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port1::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT4 {
type Target = port1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT4").finish()
}
}
#[doc = "Port 4 Control Registers"]
pub use self::port1 as port4;
#[doc = "Port 5 Control Registers"]
pub struct PORT5 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT5 {}
impl PORT5 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port0::RegisterBlock = 0x4004_00a0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port0::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT5 {
type Target = port0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT5").finish()
}
}
#[doc = "Port 5 Control Registers"]
pub use self::port0 as port5;
#[doc = "Port 6 Control Registers"]
pub struct PORT6 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT6 {}
impl PORT6 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port0::RegisterBlock = 0x4004_00c0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port0::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT6 {
type Target = port0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT6").finish()
}
}
#[doc = "Port 6 Control Registers"]
pub use self::port0 as port6;
#[doc = "Port 7 Control Registers"]
pub struct PORT7 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PORT7 {}
impl PORT7 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const port0::RegisterBlock = 0x4004_00e0 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const port0::RegisterBlock {
Self::PTR
}
}
impl Deref for PORT7 {
type Target = port0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PORT7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PORT7").finish()
}
}
#[doc = "Port 7 Control Registers"]
pub use self::port0 as port7;
#[doc = "Pmn Pin Function Control Register"]
pub struct PFS {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PFS {}
impl PFS {
#[doc = r"Pointer to the register block"]
pub const PTR: *const pfs::RegisterBlock = 0x4004_0800 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const pfs::RegisterBlock {
Self::PTR
}
}
impl Deref for PFS {
type Target = pfs::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PFS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PFS").finish()
}
}
#[doc = "Pmn Pin Function Control Register"]
pub mod pfs;
#[doc = "Miscellaneous Port Control Register"]
pub struct PMISC {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for PMISC {}
impl PMISC {
#[doc = r"Pointer to the register block"]
pub const PTR: *const pmisc::RegisterBlock = 0x4004_0d00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const pmisc::RegisterBlock {
Self::PTR
}
}
impl Deref for PMISC {
type Target = pmisc::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for PMISC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PMISC").finish()
}
}
#[doc = "Miscellaneous Port Control Register"]
pub mod pmisc;
#[doc = "Inter-Integrated Circuit 0"]
pub struct IIC0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for IIC0 {}
impl IIC0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const iic0::RegisterBlock = 0x4005_3000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const iic0::RegisterBlock {
Self::PTR
}
}
impl Deref for IIC0 {
type Target = iic0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for IIC0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IIC0").finish()
}
}
#[doc = "Inter-Integrated Circuit 0"]
pub mod iic0;
#[doc = "Inter-Integrated Circuit 1"]
pub struct IIC1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for IIC1 {}
impl IIC1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const iic1::RegisterBlock = 0x4005_3100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const iic1::RegisterBlock {
Self::PTR
}
}
impl Deref for IIC1 {
type Target = iic1::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for IIC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IIC1").finish()
}
}
#[doc = "Inter-Integrated Circuit 1"]
pub mod iic1;
#[doc = "Serial Communication Interface 0"]
pub struct SCI0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI0 {}
impl SCI0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI0 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI0").finish()
}
}
#[doc = "Serial Communication Interface 0"]
pub mod sci0;
#[doc = "Serial Communication Interface 1"]
pub struct SCI1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI1 {}
impl SCI1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0020 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI1 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI1").finish()
}
}
#[doc = "Serial Communication Interface 1"]
pub use self::sci0 as sci1;
#[doc = "Serial Communication Interface 2"]
pub struct SCI2 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI2 {}
impl SCI2 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0040 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI2 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI2").finish()
}
}
#[doc = "Serial Communication Interface 2"]
pub use self::sci0 as sci2;
#[doc = "Serial Communication Interface 3"]
pub struct SCI3 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI3 {}
impl SCI3 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0060 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI3 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI3").finish()
}
}
#[doc = "Serial Communication Interface 3"]
pub use self::sci0 as sci3;
#[doc = "Serial Communication Interface 4"]
pub struct SCI4 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI4 {}
impl SCI4 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0080 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI4 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI4").finish()
}
}
#[doc = "Serial Communication Interface 4"]
pub use self::sci0 as sci4;
#[doc = "Serial Communication Interface 8"]
pub struct SCI8 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI8 {}
impl SCI8 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0100 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI8 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI8 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI8").finish()
}
}
#[doc = "Serial Communication Interface 8"]
pub use self::sci0 as sci8;
#[doc = "Serial Communication Interface 9"]
pub struct SCI9 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SCI9 {}
impl SCI9 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sci0::RegisterBlock = 0x4007_0120 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sci0::RegisterBlock {
Self::PTR
}
}
impl Deref for SCI9 {
type Target = sci0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SCI9 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SCI9").finish()
}
}
#[doc = "Serial Communication Interface 9"]
pub use self::sci0 as sci9;
#[doc = "SD Host Interface 0"]
pub struct SDHI0 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SDHI0 {}
impl SDHI0 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sdhi0::RegisterBlock = 0x4006_2000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sdhi0::RegisterBlock {
Self::PTR
}
}
impl Deref for SDHI0 {
type Target = sdhi0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SDHI0 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SDHI0").finish()
}
}
#[doc = "SD Host Interface 0"]
pub mod sdhi0;
#[doc = "SD Host Interface 1"]
pub struct SDHI1 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SDHI1 {}
impl SDHI1 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const sdhi0::RegisterBlock = 0x4006_2400 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const sdhi0::RegisterBlock {
Self::PTR
}
}
impl Deref for SDHI1 {
type Target = sdhi0::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SDHI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SDHI1").finish()
}
}
#[doc = "SD Host Interface 1"]
pub use self::sdhi0 as sdhi1;
#[doc = "General PWM Timer 8"]
pub struct GPT328 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT328 {}
impl GPT328 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt328::RegisterBlock = 0x4007_8800 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt328::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT328 {
type Target = gpt328::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT328 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT328").finish()
}
}
#[doc = "General PWM Timer 8"]
pub mod gpt328;
#[doc = "General PWM Timer 9"]
pub struct GPT329 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT329 {}
impl GPT329 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt328::RegisterBlock = 0x4007_8900 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt328::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT329 {
type Target = gpt328::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT329 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT329").finish()
}
}
#[doc = "General PWM Timer 9"]
pub use self::gpt328 as gpt329;
#[doc = "General PWM Timer 10"]
pub struct GPT3210 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT3210 {}
impl GPT3210 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt328::RegisterBlock = 0x4007_8a00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt328::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT3210 {
type Target = gpt328::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT3210 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT3210").finish()
}
}
#[doc = "General PWM Timer 10"]
pub use self::gpt328 as gpt3210;
#[doc = "General PWM Timer 11"]
pub struct GPT3211 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT3211 {}
impl GPT3211 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt328::RegisterBlock = 0x4007_8b00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt328::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT3211 {
type Target = gpt328::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT3211 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT3211").finish()
}
}
#[doc = "General PWM Timer 11"]
pub use self::gpt328 as gpt3211;
#[doc = "General PWM Timer 12"]
pub struct GPT3212 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for GPT3212 {}
impl GPT3212 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const gpt328::RegisterBlock = 0x4007_8c00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const gpt328::RegisterBlock {
Self::PTR
}
}
impl Deref for GPT3212 {
type Target = gpt328::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for GPT3212 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPT3212").finish()
}
}
#[doc = "General PWM Timer 12"]
pub use self::gpt328 as gpt3212;
#[doc = "12bit A/D Converter 0"]
pub struct ADC120 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ADC120 {}
impl ADC120 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const adc120::RegisterBlock = 0x4005_c000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const adc120::RegisterBlock {
Self::PTR
}
}
impl Deref for ADC120 {
type Target = adc120::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ADC120 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ADC120").finish()
}
}
#[doc = "12bit A/D Converter 0"]
pub mod adc120;
#[doc = "12bit A/D Converter 1"]
pub struct ADC121 {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for ADC121 {}
impl ADC121 {
#[doc = r"Pointer to the register block"]
pub const PTR: *const adc121::RegisterBlock = 0x4005_c200 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const adc121::RegisterBlock {
Self::PTR
}
}
impl Deref for ADC121 {
type Target = adc121::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for ADC121 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ADC121").finish()
}
}
#[doc = "12bit A/D Converter 1"]
pub mod adc121;
#[doc = "Capacitive Touch Sensing Unit"]
pub struct CTSU {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for CTSU {}
impl CTSU {
#[doc = r"Pointer to the register block"]
pub const PTR: *const ctsu::RegisterBlock = 0x4008_1000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const ctsu::RegisterBlock {
Self::PTR
}
}
impl Deref for CTSU {
type Target = ctsu::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for CTSU {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CTSU").finish()
}
}
#[doc = "Capacitive Touch Sensing Unit"]
pub mod ctsu;
#[doc = "Bus Master MPU"]
pub struct MMPU {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for MMPU {}
impl MMPU {
#[doc = r"Pointer to the register block"]
pub const PTR: *const mmpu::RegisterBlock = 0x4000_0000 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const mmpu::RegisterBlock {
Self::PTR
}
}
impl Deref for MMPU {
type Target = mmpu::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for MMPU {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("MMPU").finish()
}
}
#[doc = "Bus Master MPU"]
pub mod mmpu;
#[doc = "Bus Slave MPU"]
pub struct SMPU {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SMPU {}
impl SMPU {
#[doc = r"Pointer to the register block"]
pub const PTR: *const smpu::RegisterBlock = 0x4000_0c00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const smpu::RegisterBlock {
Self::PTR
}
}
impl Deref for SMPU {
type Target = smpu::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SMPU {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SMPU").finish()
}
}
#[doc = "Bus Slave MPU"]
pub mod smpu;
#[doc = "CPU Stack Pointer Monitor"]
pub struct SPMON {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for SPMON {}
impl SPMON {
#[doc = r"Pointer to the register block"]
pub const PTR: *const spmon::RegisterBlock = 0x4000_0d00 as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const spmon::RegisterBlock {
Self::PTR
}
}
impl Deref for SPMON {
type Target = spmon::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for SPMON {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPMON").finish()
}
}
#[doc = "CPU Stack Pointer Monitor"]
pub mod spmon;
#[doc = "Temperature Sensor Data"]
pub struct TSD {
_marker: PhantomData<*const ()>,
}
unsafe impl Send for TSD {}
impl TSD {
#[doc = r"Pointer to the register block"]
pub const PTR: *const tsd::RegisterBlock = 0x407f_b17c as *const _;
#[doc = r"Return the pointer to the register block"]
#[inline(always)]
pub const fn ptr() -> *const tsd::RegisterBlock {
Self::PTR
}
}
impl Deref for TSD {
type Target = tsd::RegisterBlock;
#[inline(always)]
fn deref(&self) -> &Self::Target {
unsafe { &*Self::PTR }
}
}
impl core::fmt::Debug for TSD {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TSD").finish()
}
}
#[doc = "Temperature Sensor Data"]
pub mod tsd;
#[no_mangle]
static mut DEVICE_PERIPHERALS: bool = false;
#[doc = r" All the peripherals."]
#[allow(non_snake_case)]
pub struct Peripherals {
#[doc = "DAC12"]
pub DAC12: DAC12,
#[doc = "ACMPHS0"]
pub ACMPHS0: ACMPHS0,
#[doc = "ACMPHS1"]
pub ACMPHS1: ACMPHS1,
#[doc = "ACMPHS2"]
pub ACMPHS2: ACMPHS2,
#[doc = "ACMPHS3"]
pub ACMPHS3: ACMPHS3,
#[doc = "ACMPHS4"]
pub ACMPHS4: ACMPHS4,
#[doc = "ACMPHS5"]
pub ACMPHS5: ACMPHS5,
#[doc = "TSN"]
pub TSN: TSN,
#[doc = "CRC"]
pub CRC: CRC,
#[doc = "SSIE0"]
pub SSIE0: SSIE0,
#[doc = "ELC"]
pub ELC: ELC,
#[doc = "CAC"]
pub CAC: CAC,
#[doc = "DOC"]
pub DOC: DOC,
#[doc = "IWDT"]
pub IWDT: IWDT,
#[doc = "KINT"]
pub KINT: KINT,
#[doc = "WDT"]
pub WDT: WDT,
#[doc = "USBFS"]
pub USBFS: USBFS,
#[doc = "CAN0"]
pub CAN0: CAN0,
#[doc = "CAN1"]
pub CAN1: CAN1,
#[doc = "IRDA"]
pub IRDA: IRDA,
#[doc = "QSPI"]
pub QSPI: QSPI,
#[doc = "SPI0"]
pub SPI0: SPI0,
#[doc = "SPI1"]
pub SPI1: SPI1,
#[doc = "SRCRAM"]
pub SRCRAM: SRCRAM,
#[doc = "SRC"]
pub SRC: SRC,
#[doc = "DBG"]
pub DBG: DBG,
#[doc = "DMAC0"]
pub DMAC0: DMAC0,
#[doc = "DMAC1"]
pub DMAC1: DMAC1,
#[doc = "DMAC2"]
pub DMAC2: DMAC2,
#[doc = "DMAC3"]
pub DMAC3: DMAC3,
#[doc = "DMAC4"]
pub DMAC4: DMAC4,
#[doc = "DMAC5"]
pub DMAC5: DMAC5,
#[doc = "DMAC6"]
pub DMAC6: DMAC6,
#[doc = "DMAC7"]
pub DMAC7: DMAC7,
#[doc = "DMA"]
pub DMA: DMA,
#[doc = "DTC"]
pub DTC: DTC,
#[doc = "MMF"]
pub MMF: MMF,
#[doc = "SRAM"]
pub SRAM: SRAM,
#[doc = "FCACHE"]
pub FCACHE: FCACHE,
#[doc = "SYSTEM"]
pub SYSTEM: SYSTEM,
#[doc = "MSTP"]
pub MSTP: MSTP,
#[doc = "RTC"]
pub RTC: RTC,
#[doc = "AGT0"]
pub AGT0: AGT0,
#[doc = "AGT1"]
pub AGT1: AGT1,
#[doc = "GPT_OPS"]
pub GPT_OPS: GPT_OPS,
#[doc = "GPT32EH0"]
pub GPT32EH0: GPT32EH0,
#[doc = "GPT32EH1"]
pub GPT32EH1: GPT32EH1,
#[doc = "GPT32EH2"]
pub GPT32EH2: GPT32EH2,
#[doc = "GPT32EH3"]
pub GPT32EH3: GPT32EH3,
#[doc = "GPT32E4"]
pub GPT32E4: GPT32E4,
#[doc = "GPT32E5"]
pub GPT32E5: GPT32E5,
#[doc = "GPT32E6"]
pub GPT32E6: GPT32E6,
#[doc = "GPT32E7"]
pub GPT32E7: GPT32E7,
#[doc = "POEG"]
pub POEG: POEG,
#[doc = "GPT_ODC"]
pub GPT_ODC: GPT_ODC,
#[doc = "BUS"]
pub BUS: BUS,
#[doc = "ICU"]
pub ICU: ICU,
#[doc = "PORT0"]
pub PORT0: PORT0,
#[doc = "PORT1"]
pub PORT1: PORT1,
#[doc = "PORT2"]
pub PORT2: PORT2,
#[doc = "PORT3"]
pub PORT3: PORT3,
#[doc = "PORT4"]
pub PORT4: PORT4,
#[doc = "PORT5"]
pub PORT5: PORT5,
#[doc = "PORT6"]
pub PORT6: PORT6,
#[doc = "PORT7"]
pub PORT7: PORT7,
#[doc = "PFS"]
pub PFS: PFS,
#[doc = "PMISC"]
pub PMISC: PMISC,
#[doc = "IIC0"]
pub IIC0: IIC0,
#[doc = "IIC1"]
pub IIC1: IIC1,
#[doc = "SCI0"]
pub SCI0: SCI0,
#[doc = "SCI1"]
pub SCI1: SCI1,
#[doc = "SCI2"]
pub SCI2: SCI2,
#[doc = "SCI3"]
pub SCI3: SCI3,
#[doc = "SCI4"]
pub SCI4: SCI4,
#[doc = "SCI8"]
pub SCI8: SCI8,
#[doc = "SCI9"]
pub SCI9: SCI9,
#[doc = "SDHI0"]
pub SDHI0: SDHI0,
#[doc = "SDHI1"]
pub SDHI1: SDHI1,
#[doc = "GPT328"]
pub GPT328: GPT328,
#[doc = "GPT329"]
pub GPT329: GPT329,
#[doc = "GPT3210"]
pub GPT3210: GPT3210,
#[doc = "GPT3211"]
pub GPT3211: GPT3211,
#[doc = "GPT3212"]
pub GPT3212: GPT3212,
#[doc = "ADC120"]
pub ADC120: ADC120,
#[doc = "ADC121"]
pub ADC121: ADC121,
#[doc = "CTSU"]
pub CTSU: CTSU,
#[doc = "MMPU"]
pub MMPU: MMPU,
#[doc = "SMPU"]
pub SMPU: SMPU,
#[doc = "SPMON"]
pub SPMON: SPMON,
#[doc = "TSD"]
pub TSD: TSD,
}
impl Peripherals {
#[doc = r" Returns all the peripherals *once*."]
#[cfg(feature = "critical-section")]
#[inline]
pub fn take() -> Option<Self> {
critical_section::with(|_| {
if unsafe { DEVICE_PERIPHERALS } {
return None;
}
Some(unsafe { Peripherals::steal() })
})
}
#[doc = r" Unchecked version of `Peripherals::take`."]
#[doc = r""]
#[doc = r" # Safety"]
#[doc = r""]
#[doc = r" Each of the returned peripherals must be used at most once."]
#[inline]
pub unsafe fn steal() -> Self {
DEVICE_PERIPHERALS = true;
Peripherals {
DAC12: DAC12 {
_marker: PhantomData,
},
ACMPHS0: ACMPHS0 {
_marker: PhantomData,
},
ACMPHS1: ACMPHS1 {
_marker: PhantomData,
},
ACMPHS2: ACMPHS2 {
_marker: PhantomData,
},
ACMPHS3: ACMPHS3 {
_marker: PhantomData,
},
ACMPHS4: ACMPHS4 {
_marker: PhantomData,
},
ACMPHS5: ACMPHS5 {
_marker: PhantomData,
},
TSN: TSN {
_marker: PhantomData,
},
CRC: CRC {
_marker: PhantomData,
},
SSIE0: SSIE0 {
_marker: PhantomData,
},
ELC: ELC {
_marker: PhantomData,
},
CAC: CAC {
_marker: PhantomData,
},
DOC: DOC {
_marker: PhantomData,
},
IWDT: IWDT {
_marker: PhantomData,
},
KINT: KINT {
_marker: PhantomData,
},
WDT: WDT {
_marker: PhantomData,
},
USBFS: USBFS {
_marker: PhantomData,
},
CAN0: CAN0 {
_marker: PhantomData,
},
CAN1: CAN1 {
_marker: PhantomData,
},
IRDA: IRDA {
_marker: PhantomData,
},
QSPI: QSPI {
_marker: PhantomData,
},
SPI0: SPI0 {
_marker: PhantomData,
},
SPI1: SPI1 {
_marker: PhantomData,
},
SRCRAM: SRCRAM {
_marker: PhantomData,
},
SRC: SRC {
_marker: PhantomData,
},
DBG: DBG {
_marker: PhantomData,
},
DMAC0: DMAC0 {
_marker: PhantomData,
},
DMAC1: DMAC1 {
_marker: PhantomData,
},
DMAC2: DMAC2 {
_marker: PhantomData,
},
DMAC3: DMAC3 {
_marker: PhantomData,
},
DMAC4: DMAC4 {
_marker: PhantomData,
},
DMAC5: DMAC5 {
_marker: PhantomData,
},
DMAC6: DMAC6 {
_marker: PhantomData,
},
DMAC7: DMAC7 {
_marker: PhantomData,
},
DMA: DMA {
_marker: PhantomData,
},
DTC: DTC {
_marker: PhantomData,
},
MMF: MMF {
_marker: PhantomData,
},
SRAM: SRAM {
_marker: PhantomData,
},
FCACHE: FCACHE {
_marker: PhantomData,
},
SYSTEM: SYSTEM {
_marker: PhantomData,
},
MSTP: MSTP {
_marker: PhantomData,
},
RTC: RTC {
_marker: PhantomData,
},
AGT0: AGT0 {
_marker: PhantomData,
},
AGT1: AGT1 {
_marker: PhantomData,
},
GPT_OPS: GPT_OPS {
_marker: PhantomData,
},
GPT32EH0: GPT32EH0 {
_marker: PhantomData,
},
GPT32EH1: GPT32EH1 {
_marker: PhantomData,
},
GPT32EH2: GPT32EH2 {
_marker: PhantomData,
},
GPT32EH3: GPT32EH3 {
_marker: PhantomData,
},
GPT32E4: GPT32E4 {
_marker: PhantomData,
},
GPT32E5: GPT32E5 {
_marker: PhantomData,
},
GPT32E6: GPT32E6 {
_marker: PhantomData,
},
GPT32E7: GPT32E7 {
_marker: PhantomData,
},
POEG: POEG {
_marker: PhantomData,
},
GPT_ODC: GPT_ODC {
_marker: PhantomData,
},
BUS: BUS {
_marker: PhantomData,
},
ICU: ICU {
_marker: PhantomData,
},
PORT0: PORT0 {
_marker: PhantomData,
},
PORT1: PORT1 {
_marker: PhantomData,
},
PORT2: PORT2 {
_marker: PhantomData,
},
PORT3: PORT3 {
_marker: PhantomData,
},
PORT4: PORT4 {
_marker: PhantomData,
},
PORT5: PORT5 {
_marker: PhantomData,
},
PORT6: PORT6 {
_marker: PhantomData,
},
PORT7: PORT7 {
_marker: PhantomData,
},
PFS: PFS {
_marker: PhantomData,
},
PMISC: PMISC {
_marker: PhantomData,
},
IIC0: IIC0 {
_marker: PhantomData,
},
IIC1: IIC1 {
_marker: PhantomData,
},
SCI0: SCI0 {
_marker: PhantomData,
},
SCI1: SCI1 {
_marker: PhantomData,
},
SCI2: SCI2 {
_marker: PhantomData,
},
SCI3: SCI3 {
_marker: PhantomData,
},
SCI4: SCI4 {
_marker: PhantomData,
},
SCI8: SCI8 {
_marker: PhantomData,
},
SCI9: SCI9 {
_marker: PhantomData,
},
SDHI0: SDHI0 {
_marker: PhantomData,
},
SDHI1: SDHI1 {
_marker: PhantomData,
},
GPT328: GPT328 {
_marker: PhantomData,
},
GPT329: GPT329 {
_marker: PhantomData,
},
GPT3210: GPT3210 {
_marker: PhantomData,
},
GPT3211: GPT3211 {
_marker: PhantomData,
},
GPT3212: GPT3212 {
_marker: PhantomData,
},
ADC120: ADC120 {
_marker: PhantomData,
},
ADC121: ADC121 {
_marker: PhantomData,
},
CTSU: CTSU {
_marker: PhantomData,
},
MMPU: MMPU {
_marker: PhantomData,
},
SMPU: SMPU {
_marker: PhantomData,
},
SPMON: SPMON {
_marker: PhantomData,
},
TSD: TSD {
_marker: PhantomData,
},
}
}
}