sifli_pac/sf32lb52x/
mod.rs1#![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;