sifli_pac/sf32lb52x/
mod.rs

1#![doc = "Peripheral access API (generated using chiptool v0.1.0 (0303941 2025-02-18))"]
2#[derive(Copy, Clone, Debug, PartialEq, Eq)]
3#[cfg_attr(feature = "defmt", derive(defmt::Format))]
4pub enum Interrupt {
5    #[doc = "46 - LPTIM1"]
6    LPTIM1 = 46,
7    #[doc = "47 - LPTIM2"]
8    LPTIM2 = 47,
9    #[doc = "48 - PMUC"]
10    PMUC = 48,
11    #[doc = "49 - RTC"]
12    RTC = 49,
13    #[doc = "50 - DMAC1_CH1"]
14    DMAC1_CH1 = 50,
15    #[doc = "51 - DMAC1_CH2"]
16    DMAC1_CH2 = 51,
17    #[doc = "52 - DMAC1_CH3"]
18    DMAC1_CH3 = 52,
19    #[doc = "53 - DMAC1_CH4"]
20    DMAC1_CH4 = 53,
21    #[doc = "54 - DMAC1_CH5"]
22    DMAC1_CH5 = 54,
23    #[doc = "55 - DMAC1_CH6"]
24    DMAC1_CH6 = 55,
25    #[doc = "56 - DMAC1_CH7"]
26    DMAC1_CH7 = 56,
27    #[doc = "57 - DMAC1_CH8"]
28    DMAC1_CH8 = 57,
29    #[doc = "58 - MAILBOX2_CH1"]
30    MAILBOX2_CH1 = 58,
31    #[doc = "59 - USART1"]
32    USART1 = 59,
33    #[doc = "60 - SPI1"]
34    SPI1 = 60,
35    #[doc = "61 - I2C1"]
36    I2C1 = 61,
37    #[doc = "62 - EPIC"]
38    EPIC = 62,
39    #[doc = "63 - LCDC1"]
40    LCDC1 = 63,
41    #[doc = "64 - I2S1"]
42    I2S1 = 64,
43    #[doc = "65 - GPADC"]
44    GPADC = 65,
45    #[doc = "66 - EFUSEC"]
46    EFUSEC = 66,
47    #[doc = "67 - AES"]
48    AES = 67,
49    #[doc = "68 - PTC1"]
50    PTC1 = 68,
51    #[doc = "69 - TRNG"]
52    TRNG = 69,
53    #[doc = "70 - GPTIM1"]
54    GPTIM1 = 70,
55    #[doc = "71 - GPTIM2"]
56    GPTIM2 = 71,
57    #[doc = "72 - BTIM1"]
58    BTIM1 = 72,
59    #[doc = "73 - BTIM2"]
60    BTIM2 = 73,
61    #[doc = "74 - USART2"]
62    USART2 = 74,
63    #[doc = "75 - SPI2"]
64    SPI2 = 75,
65    #[doc = "76 - I2C2"]
66    I2C2 = 76,
67    #[doc = "77 - EXTDMA"]
68    EXTDMA = 77,
69    #[doc = "78 - I2C4"]
70    I2C4 = 78,
71    #[doc = "79 - SDMMC1"]
72    SDMMC1 = 79,
73    #[doc = "80 - MAILBOX2_CH2"]
74    MAILBOX2_CH2 = 80,
75    #[doc = "82 - PDM1"]
76    PDM1 = 82,
77    #[doc = "84 - GPIO1"]
78    GPIO1 = 84,
79    #[doc = "85 - MPI1"]
80    MPI1 = 85,
81    #[doc = "86 - MPI2"]
82    MPI2 = 86,
83    #[doc = "89 - EZIP1"]
84    EZIP1 = 89,
85    #[doc = "90 - AUDPRC"]
86    AUDPRC = 90,
87    #[doc = "91 - TSEN"]
88    TSEN = 91,
89    #[doc = "92 - USBC"]
90    USBC = 92,
91    #[doc = "93 - I2C3"]
92    I2C3 = 93,
93    #[doc = "94 - ATIM1"]
94    ATIM1 = 94,
95    #[doc = "95 - USART3"]
96    USART3 = 95,
97    #[doc = "96 - AUD_HP"]
98    AUD_HP = 96,
99    #[doc = "98 - SECU1"]
100    SECU1 = 98,
101}
102unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
103    #[inline(always)]
104    fn number(self) -> u16 {
105        self as u16
106    }
107}
108#[cfg(feature = "rt")]
109mod _vectors;
110pub const HPSYS_RCC: hpsys_rcc::HpsysRcc =
111    unsafe { hpsys_rcc::HpsysRcc::from_ptr(0x5000_0000usize as _) };
112pub const EXTDMA: extdma::Extdma = unsafe { extdma::Extdma::from_ptr(0x5000_1000usize as _) };
113pub const HPSYS_PINMUX: hpsys_pinmux::HpsysPinmux =
114    unsafe { hpsys_pinmux::HpsysPinmux::from_ptr(0x5000_3000usize as _) };
115pub const ATIM1: atim::Atim = unsafe { atim::Atim::from_ptr(0x5000_4000usize as _) };
116pub const AUDPRC: audprc::Audprc = unsafe { audprc::Audprc::from_ptr(0x5000_5000usize as _) };
117pub const EZIP1: ezip::Ezip = unsafe { ezip::Ezip::from_ptr(0x5000_6000usize as _) };
118pub const EPIC: epic::Epic = unsafe { epic::Epic::from_ptr(0x5000_7000usize as _) };
119pub const LCDC1: lcdc::Lcdc = unsafe { lcdc::Lcdc::from_ptr(0x5000_8000usize as _) };
120pub const I2S1: i2s::I2s = unsafe { i2s::I2s::from_ptr(0x5000_9000usize as _) };
121pub const HPSYS_CFG: hpsys_cfg::HpsysCfg =
122    unsafe { hpsys_cfg::HpsysCfg::from_ptr(0x5000_b000usize as _) };
123pub const EFUSEC: efusec::Efusec = unsafe { efusec::Efusec::from_ptr(0x5000_c000usize as _) };
124pub const AES: aes::Aes = unsafe { aes::Aes::from_ptr(0x5000_d000usize as _) };
125pub const TRNG: trng::Trng = unsafe { trng::Trng::from_ptr(0x5000_f000usize as _) };
126pub const MPI1: mpi::Mpi = unsafe { mpi::Mpi::from_ptr(0x5004_1000usize as _) };
127pub const MPI2: mpi::Mpi = unsafe { mpi::Mpi::from_ptr(0x5004_2000usize as _) };
128pub const SDMMC1: sdmmc::Sdmmc = unsafe { sdmmc::Sdmmc::from_ptr(0x5004_5000usize as _) };
129pub const CRC1: crc::Crc = unsafe { crc::Crc::from_ptr(0x5004_8000usize as _) };
130pub const PTC1: ptc::Ptc = unsafe { ptc::Ptc::from_ptr(0x5008_0000usize as _) };
131pub const DMAC1: dmac::Dmac = unsafe { dmac::Dmac::from_ptr(0x5008_1000usize as _) };
132pub const USART1: usart::Usart = unsafe { usart::Usart::from_ptr(0x5008_4000usize as _) };
133pub const USART2: usart::Usart = unsafe { usart::Usart::from_ptr(0x5008_5000usize as _) };
134pub const USART3: usart::Usart = unsafe { usart::Usart::from_ptr(0x5008_6000usize as _) };
135pub const GPADC: gpadc::Gpadc = unsafe { gpadc::Gpadc::from_ptr(0x5008_7000usize as _) };
136pub const AUDCODEC: audcodec::Audcodec =
137    unsafe { audcodec::Audcodec::from_ptr(0x5008_8000usize as _) };
138pub const TSEN: tsen::Tsen = unsafe { tsen::Tsen::from_ptr(0x5008_9000usize as _) };
139pub const GPTIM1: gptim::Gptim = unsafe { gptim::Gptim::from_ptr(0x5009_0000usize as _) };
140pub const BTIM1: btim::Btim = unsafe { btim::Btim::from_ptr(0x5009_2000usize as _) };
141pub const WDT1: wdt::Wdt = unsafe { wdt::Wdt::from_ptr(0x5009_4000usize as _) };
142pub const SPI1: spi::Spi = unsafe { spi::Spi::from_ptr(0x5009_5000usize as _) };
143pub const SPI2: spi::Spi = unsafe { spi::Spi::from_ptr(0x5009_6000usize as _) };
144pub const PDM1: pdm::Pdm = unsafe { pdm::Pdm::from_ptr(0x5009_a000usize as _) };
145pub const I2C1: i2c::I2c = unsafe { i2c::I2c::from_ptr(0x5009_c000usize as _) };
146pub const I2C2: i2c::I2c = unsafe { i2c::I2c::from_ptr(0x5009_d000usize as _) };
147pub const I2C3: i2c::I2c = unsafe { i2c::I2c::from_ptr(0x5009_e000usize as _) };
148pub const I2C4: i2c::I2c = unsafe { i2c::I2c::from_ptr(0x5009_f000usize as _) };
149pub const HPSYS_GPIO: hpsys_gpio::HpsysGpio =
150    unsafe { hpsys_gpio::HpsysGpio::from_ptr(0x500a_0000usize as _) };
151pub const GPTIM2: gptim::Gptim = unsafe { gptim::Gptim::from_ptr(0x500b_0000usize as _) };
152pub const BTIM2: btim::Btim = unsafe { btim::Btim::from_ptr(0x500b_1000usize as _) };
153pub const HPSYS_AON: hpsys_aon::HpsysAon =
154    unsafe { hpsys_aon::HpsysAon::from_ptr(0x500c_0000usize as _) };
155pub const LPTIM1: lptim::Lptim = unsafe { lptim::Lptim::from_ptr(0x500c_1000usize as _) };
156pub const LPTIM2: lptim::Lptim = unsafe { lptim::Lptim::from_ptr(0x500c_2000usize as _) };
157pub const PMUC: pmuc::Pmuc = unsafe { pmuc::Pmuc::from_ptr(0x500c_a000usize as _) };
158pub const IWDT: iwdt::Iwdt = unsafe { iwdt::Iwdt::from_ptr(0x500c_c000usize as _) };
159#[doc = r" Number available in the NVIC for configuring priority"]
160#[cfg(feature = "rt")]
161pub const NVIC_PRIO_BITS: u8 = 3;
162#[cfg(feature = "rt")]
163pub use cortex_m_rt::interrupt;
164#[cfg(feature = "rt")]
165pub use Interrupt as interrupt;
166pub mod aes;
167pub mod atim;
168pub mod audcodec;
169pub mod audprc;
170pub mod btim;
171pub mod common;
172pub mod crc;
173pub mod dmac;
174pub mod efusec;
175pub mod epic;
176pub mod extdma;
177pub mod ezip;
178pub mod gpadc;
179pub mod gptim;
180pub mod hpsys_aon;
181pub mod hpsys_cfg;
182pub mod hpsys_gpio;
183pub mod hpsys_pinmux;
184pub mod hpsys_rcc;
185pub mod i2c;
186pub mod i2s;
187pub mod iwdt;
188pub mod lcdc;
189pub mod lptim;
190pub mod mpi;
191pub mod pdm;
192pub mod pmuc;
193pub mod ptc;
194pub mod sdmmc;
195pub mod spi;
196pub mod tim_common;
197pub mod trng;
198pub mod tsen;
199pub mod usart;
200pub mod wdt;