#![doc = include_str!("../README.md")]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![no_std]
#![doc = "Peripheral access API (generated using chiptool v0.1.0 (0f1a0f5 2025-12-10))"]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub enum Interrupt {
#[doc = "0 - Supply Controller"]
SUPC = 0,
#[doc = "1 - Reset Controller"]
RSTC = 1,
#[doc = "2 - Real-time Clock"]
RTC = 2,
#[doc = "3 - Real-time Timer"]
RTT = 3,
#[doc = "4 - Watchdog Timer"]
WDG = 4,
#[doc = "5 - PMC"]
PMC = 5,
#[doc = "6 - EFC0"]
EFC0 = 6,
#[doc = "7 - EFC1"]
EFC1 = 7,
#[doc = "8 - UART"]
UART = 8,
#[doc = "9 - Static Memory Controller / Synchronous Dynamic RAM Controller"]
SMC_SDRAMC = 9,
#[doc = "10 - SYnchronous Dynamic RAM Controller"]
SDRAMC = 10,
#[doc = "11 - PIOA"]
PIOA = 11,
#[doc = "12 - PIOB"]
PIOB = 12,
#[doc = "13 - PIOC"]
PIOC = 13,
#[doc = "14 - PIOD"]
PIOD = 14,
#[doc = "17 - USART0"]
USART0 = 17,
#[doc = "18 - USART1"]
USART1 = 18,
#[doc = "19 - USART2"]
USART2 = 19,
#[doc = "20 - USART3"]
USART3 = 20,
#[doc = "21 - HSMCI"]
HSMCI = 21,
#[doc = "22 - TWI0"]
TWI0 = 22,
#[doc = "23 - TWI1"]
TWI1 = 23,
#[doc = "24 - SPI0"]
SPI0 = 24,
#[doc = "25 - Serial Peripheral Interface 1"]
SPI1 = 25,
#[doc = "26 - SSC"]
SSC = 26,
#[doc = "27 - TC0"]
TC0 = 27,
#[doc = "28 - TC1"]
TC1 = 28,
#[doc = "29 - TC2"]
TC2 = 29,
#[doc = "30 - TC3"]
TC3 = 30,
#[doc = "31 - TC4"]
TC4 = 31,
#[doc = "32 - TC5"]
TC5 = 32,
#[doc = "33 - TC6"]
TC6 = 33,
#[doc = "34 - TC7"]
TC7 = 34,
#[doc = "35 - TC8"]
TC8 = 35,
#[doc = "36 - PWM"]
PWM = 36,
#[doc = "37 - ADC"]
ADC = 37,
#[doc = "38 - DACC"]
DACC = 38,
#[doc = "39 - DMAC"]
DMAC = 39,
#[doc = "40 - UOTGHS"]
UOTGHS = 40,
#[doc = "41 - TRNG"]
TRNG = 41,
#[doc = "42 - EMAC"]
EMAC = 42,
#[doc = "43 - CAN0"]
CAN0 = 43,
#[doc = "44 - CAN1"]
CAN1 = 44,
}
unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
#[inline(always)]
fn number(self) -> u16 {
self as u16
}
}
#[cfg(feature = "rt")]
mod _vectors;
#[doc = "High Speed MultiMedia Card Interface"]
pub const HSMCI: hsmci::Hsmci = unsafe { hsmci::Hsmci::from_ptr(0x4000_0000usize as _) };
#[doc = "Synchronous Serial Controller"]
pub const SSC: ssc::Ssc = unsafe { ssc::Ssc::from_ptr(0x4000_4000usize as _) };
#[doc = "Serial Peripheral Interface 0"]
pub const SPI0: spi0::Spi0 = unsafe { spi0::Spi0::from_ptr(0x4000_8000usize as _) };
#[doc = "Timer Counter 0"]
pub const TC0: tc::Tc = unsafe { tc::Tc::from_ptr(0x4008_0000usize as _) };
#[doc = "Timer Counter 1"]
pub const TC1: tc::Tc = unsafe { tc::Tc::from_ptr(0x4008_4000usize as _) };
#[doc = "Timer Counter 2"]
pub const TC2: tc::Tc = unsafe { tc::Tc::from_ptr(0x4008_8000usize as _) };
#[doc = "Two-wire Interface 0"]
pub const TWI0: twi::Twi = unsafe { twi::Twi::from_ptr(0x4008_c000usize as _) };
#[doc = "Two-wire Interface 1"]
pub const TWI1: twi::Twi = unsafe { twi::Twi::from_ptr(0x4009_0000usize as _) };
#[doc = "Pulse Width Modulation Controller"]
pub const PWM: pwm::Pwm = unsafe { pwm::Pwm::from_ptr(0x4009_4000usize as _) };
#[doc = "Universal Synchronous Asynchronous Receiver Transmitter 0"]
pub const USART0: usart::Usart = unsafe { usart::Usart::from_ptr(0x4009_8000usize as _) };
#[doc = "Universal Synchronous Asynchronous Receiver Transmitter 1"]
pub const USART1: usart::Usart = unsafe { usart::Usart::from_ptr(0x4009_c000usize as _) };
#[doc = "Universal Synchronous Asynchronous Receiver Transmitter 2"]
pub const USART2: usart::Usart = unsafe { usart::Usart::from_ptr(0x400a_0000usize as _) };
#[doc = "Universal Synchronous Asynchronous Receiver Transmitter 3"]
pub const USART3: usart::Usart = unsafe { usart::Usart::from_ptr(0x400a_4000usize as _) };
#[doc = "USB On-The-Go Interface"]
pub const UOTGHS: uotghs::Uotghs = unsafe { uotghs::Uotghs::from_ptr(0x400a_c000usize as _) };
#[doc = "Ethernet MAC 10/100"]
pub const EMAC: emac::Emac = unsafe { emac::Emac::from_ptr(0x400b_0000usize as _) };
#[doc = "Controller Area Network 0"]
pub const CAN0: can::Can = unsafe { can::Can::from_ptr(0x400b_4000usize as _) };
#[doc = "Controller Area Network 1"]
pub const CAN1: can::Can = unsafe { can::Can::from_ptr(0x400b_8000usize as _) };
#[doc = "True Random Number Generator"]
pub const TRNG: trng::Trng = unsafe { trng::Trng::from_ptr(0x400b_c000usize as _) };
#[doc = "Analog-to-Digital Converter"]
pub const ADC: adc::Adc = unsafe { adc::Adc::from_ptr(0x400c_0000usize as _) };
#[doc = "DMA Controller"]
pub const DMAC: dmac::Dmac = unsafe { dmac::Dmac::from_ptr(0x400c_4000usize as _) };
#[doc = "Digital-to-Analog Converter Controller"]
pub const DACC: dacc::Dacc = unsafe { dacc::Dacc::from_ptr(0x400c_8000usize as _) };
#[doc = "Static Memory Controller"]
pub const SMC: smc::Smc = unsafe { smc::Smc::from_ptr(0x400e_0000usize as _) };
#[doc = "AHB Bus Matrix"]
pub const MATRIX: matrix::Matrix = unsafe { matrix::Matrix::from_ptr(0x400e_0400usize as _) };
#[doc = "Power Management Controller"]
pub const PMC: pmc::Pmc = unsafe { pmc::Pmc::from_ptr(0x400e_0600usize as _) };
#[doc = "Universal Asynchronous Receiver Transmitter"]
pub const UART: uart::Uart = unsafe { uart::Uart::from_ptr(0x400e_0800usize as _) };
#[doc = "Chip Identifier"]
pub const CHIPID: chipid::Chipid = unsafe { chipid::Chipid::from_ptr(0x400e_0940usize as _) };
#[doc = "Embedded Flash Controller 0"]
pub const EFC0: efc::Efc = unsafe { efc::Efc::from_ptr(0x400e_0a00usize as _) };
#[doc = "Embedded Flash Controller 1"]
pub const EFC1: efc::Efc = unsafe { efc::Efc::from_ptr(0x400e_0c00usize as _) };
#[doc = "Parallel Input/Output Controller A"]
pub const PIOA: pio::Pio = unsafe { pio::Pio::from_ptr(0x400e_0e00usize as _) };
#[doc = "Parallel Input/Output Controller B"]
pub const PIOB: pio::Pio = unsafe { pio::Pio::from_ptr(0x400e_1000usize as _) };
#[doc = "Parallel Input/Output Controller C"]
pub const PIOC: pio::Pio = unsafe { pio::Pio::from_ptr(0x400e_1200usize as _) };
#[doc = "Parallel Input/Output Controller D"]
pub const PIOD: pio::Pio = unsafe { pio::Pio::from_ptr(0x400e_1400usize as _) };
#[doc = "Reset Controller"]
pub const RSTC: rstc::Rstc = unsafe { rstc::Rstc::from_ptr(0x400e_1a00usize as _) };
#[doc = "Supply Controller"]
pub const SUPC: supc::Supc = unsafe { supc::Supc::from_ptr(0x400e_1a10usize as _) };
#[doc = "Real-time Timer"]
pub const RTT: rtt::Rtt = unsafe { rtt::Rtt::from_ptr(0x400e_1a30usize as _) };
#[doc = "Watchdog Timer"]
pub const WDT: wdt::Wdt = unsafe { wdt::Wdt::from_ptr(0x400e_1a50usize as _) };
#[doc = "Real-time Clock"]
pub const RTC: rtc::Rtc = unsafe { rtc::Rtc::from_ptr(0x400e_1a60usize as _) };
#[doc = "General Purpose Backup Registers"]
pub const GPBR: gpbr::Gpbr = unsafe { gpbr::Gpbr::from_ptr(0x400e_1a90usize as _) };
#[doc = r" Number available in the NVIC for configuring priority"]
#[cfg(feature = "rt")]
pub const NVIC_PRIO_BITS: u8 = 4;
#[cfg(feature = "rt")]
pub use Interrupt as interrupt;
#[cfg(feature = "rt")]
pub use cortex_m_rt::interrupt;
pub mod adc;
pub mod can;
pub mod chipid;
pub mod common;
pub mod dacc;
pub mod dmac;
pub mod efc;
pub mod emac;
pub mod gpbr;
pub mod hsmci;
pub mod matrix;
pub mod pio;
pub mod pmc;
pub mod pwm;
pub mod rstc;
pub mod rtc;
pub mod rtt;
pub mod smc;
pub mod spi0;
pub mod ssc;
pub mod supc;
pub mod tc;
pub mod trng;
pub mod twi;
pub mod uart;
pub mod uotghs;
pub mod usart;
pub mod wdt;