use super::*;
#[cfg(feature = "tim1")]
dma_map!(
(Stream0<DMA2>:6, timer::DMAR<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA2>:6, timer::CCR1<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA2>:6, timer::CCR2<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA2>:6, timer::CCR1<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA2>:6, timer::CCR4<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA2>:6, timer::DMAR<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream5<DMA2>:6, timer::DMAR<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:0, timer::CCR1<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:0, timer::CCR2<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:0, timer::CCR3<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:6, timer::CCR3<pac::TIM1>, [MemoryToPeripheral | PeripheralToMemory]), );
#[cfg(feature = "tim5")]
dma_map!(
(Stream0<DMA1>:6, timer::CCR3<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream0<DMA1>:6, timer::DMAR<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA1>:6, timer::CCR4<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA1>:6, timer::DMAR<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA1>:6, timer::CCR1<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA1>:6, timer::CCR4<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA1>:6, timer::DMAR<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA1>:6, timer::CCR2<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA1>:6, timer::DMAR<pac::TIM5>, [MemoryToPeripheral | PeripheralToMemory]), );
dma_map!(
(Stream0<DMA1>:1, pac::I2C1, [PeripheralToMemory]), (Stream2<DMA1>:7, pac::I2C2, [PeripheralToMemory]), (Stream3<DMA1>:0, pac::SPI2, [PeripheralToMemory]), (Stream3<DMA1>:7, pac::I2C2, [PeripheralToMemory]), (Stream4<DMA1>:0, pac::SPI2, [MemoryToPeripheral]), (Stream5<DMA1>:1, pac::I2C1, [PeripheralToMemory]), (Stream5<DMA1>:4, pac::USART2, [PeripheralToMemory]), (Stream6<DMA1>:4, pac::USART2, [MemoryToPeripheral]), (Stream7<DMA1>:7, pac::I2C2, [MemoryToPeripheral]), (Stream0<DMA2>:0, pac::ADC1, [PeripheralToMemory]), (Stream0<DMA2>:3, pac::SPI1, [PeripheralToMemory]), (Stream1<DMA2>:5, pac::USART6, [PeripheralToMemory]), (Stream2<DMA2>:3, pac::SPI1, [PeripheralToMemory]), (Stream2<DMA2>:4, pac::USART1, [PeripheralToMemory]), (Stream2<DMA2>:5, pac::USART6, [PeripheralToMemory]), (Stream4<DMA2>:0, pac::ADC1, [PeripheralToMemory]), (Stream5<DMA2>:4, pac::USART1, [PeripheralToMemory]), (Stream6<DMA2>:5, pac::USART6, [MemoryToPeripheral]), (Stream7<DMA2>:4, pac::USART1, [MemoryToPeripheral]), (Stream7<DMA2>:5, pac::USART6, [MemoryToPeripheral]), );
address!(
(pac::ADC1, dr, u16),
(pac::I2C1, dr, u8),
(pac::I2C2, dr, u8),
(pac::SPI1, dr, u8),
(pac::SPI2, dr, u8),
(pac::USART1, dr, u8),
(pac::USART2, dr, u8),
(pac::USART6, dr, u8),
);
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f417",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream0<DMA1>:2, timer::CCR1<pac::TIM4>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA1>:5, timer::CCR4<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA1>:5, timer::DMAR<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA1>:2, timer::CCR2<pac::TIM4>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA1>:5, timer::CCR1<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA1>:5, timer::DMAR<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream5<DMA1>:3, timer::CCR1<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream5<DMA1>:5, timer::CCR2<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA1>:2, timer::DMAR<pac::TIM4>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA1>:3, timer::CCR2<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA1>:3, timer::CCR4<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:2, timer::CCR3<pac::TIM4>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:5, timer::CCR3<pac::TIM3>, [MemoryToPeripheral | PeripheralToMemory]), (Stream0<DMA1>:0, pac::SPI3, [PeripheralToMemory]), (Stream2<DMA1>:0, pac::SPI3, [PeripheralToMemory]), (Stream4<DMA1>:3, pac::I2C3, [MemoryToPeripheral]), (Stream5<DMA1>:0, pac::SPI3, [MemoryToPeripheral]), (Stream7<DMA1>:0, pac::SPI3, [MemoryToPeripheral]), );
#[cfg(feature = "i2c3")]
address!((pac::I2C3, dr, u8),);
#[cfg(feature = "spi3")]
address!((pac::SPI3, dr, u8),);
#[cfg(feature = "sdio")]
dma_map!(
(Stream3<DMA2>:4, pac::SDIO, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:4, pac::SDIO, [MemoryToPeripheral | PeripheralToMemory]), );
#[cfg(feature = "sdio")]
address!((pac::SDIO, fifo, u32),);
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f446",
))]
dma_map!(
(Stream1<DMA1>:1, pac::I2C3, [PeripheralToMemory]), (Stream2<DMA1>:3, pac::I2C3, [PeripheralToMemory]), );
#[cfg(any(feature = "gpio-f401", feature = "gpio-f411",))]
dma_map!(
(Stream1<DMA1>:3, timer::CCR3<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA1>:3, timer::DMAR<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:3, timer::CCR4<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:3, timer::DMAR<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), );
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
))]
dma_map!(
(Stream5<DMA1>:6, pac::I2C3, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f417",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream6<DMA1>:1, pac::I2C1, [MemoryToPeripheral]), (Stream7<DMA1>:1, pac::I2C1, [MemoryToPeripheral]), (Stream3<DMA2>:3, pac::SPI1, [MemoryToPeripheral]), (Stream5<DMA2>:3, pac::SPI1, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream0<DMA2>:4, pac::SPI4, [PeripheralToMemory]), (Stream1<DMA2>:4, pac::SPI4, [MemoryToPeripheral]), (Stream3<DMA2>:5, pac::SPI4, [PeripheralToMemory]), (Stream4<DMA2>:5, pac::SPI4, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f401",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
address!((pac::SPI4, dr, u8),);
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream0<DMA1>:4, pac::UART5, [PeripheralToMemory]), (Stream2<DMA1>:4, pac::UART4, [PeripheralToMemory]), (Stream4<DMA1>:4, pac::UART4, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
address!(
(pac::UART4, dr, u8),
(pac::UART5, dr, u8),
);
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream1<DMA1>:3, timer::DMAR<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA1>:3, timer::CCR3<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:3, timer::DMAR<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA1>:3, timer::CCR4<pac::TIM2>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA2>:7, timer::DMAR<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA2>:0, timer::CCR1<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA2>:0, timer::CCR2<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA2>:0, timer::CCR3<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream2<DMA2>:7, timer::CCR1<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA2>:7, timer::CCR2<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA2>:7, timer::CCR3<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA2>:7, timer::CCR4<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA2>:7, timer::DMAR<pac::TIM8>, [MemoryToPeripheral | PeripheralToMemory]), (Stream1<DMA1>:4, pac::USART3, [PeripheralToMemory]), (Stream3<DMA1>:4, pac::USART3, [MemoryToPeripheral]), (Stream4<DMA1>:7, pac::USART3, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
address!((pac::USART3, dr, u8),);
#[cfg(any(feature = "gpio-f417", feature = "gpio-f427", feature = "gpio-f469",))]
dma_map!(
(Stream2<DMA1>:3, pac::I2C3, [PeripheralToMemory]), (Stream5<DMA2>:2, pac::CRYP, [PeripheralToMemory]), (Stream6<DMA2>:2, pac::CRYP, [MemoryToPeripheral]), (Stream7<DMA2>:2, pac::HASH, [MemoryToPeripheral]), );
#[cfg(any(feature = "gpio-f417", feature = "gpio-f427", feature = "gpio-f469",))]
address!((pac::HASH, din, u32), (pac::CRYP, din, u32),);
#[cfg(feature = "cryp")]
dma_map!(
(Stream5<DMA2>:2, CRYP_OUT, [PeripheralToMemory]), (Stream6<DMA2>:2, CRYP_IN, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
dma_map!(
(Stream7<DMA1>:4, pac::UART5, [MemoryToPeripheral]), (Stream0<DMA2>:2, pac::ADC3, [PeripheralToMemory]), (Stream1<DMA2>:2, pac::ADC3, [PeripheralToMemory]), (Stream2<DMA2>:1, pac::ADC2, [PeripheralToMemory]), (Stream3<DMA2>:1, pac::ADC2, [PeripheralToMemory]), );
#[cfg(any(
feature = "gpio-f417",
feature = "gpio-f427",
feature = "gpio-f446",
feature = "gpio-f469",
))]
address!((pac::ADC2, dr, u16), (pac::ADC3, dr, u16),);
#[cfg(feature = "dcmi")]
dma_map!(
(Stream1<DMA2>:1, pac::DCMI, [PeripheralToMemory]), (Stream7<DMA2>:1, pac::DCMI, [PeripheralToMemory]), );
#[cfg(feature = "dcmi")]
address!((pac::DCMI, dr, u32),);
#[cfg(any(
feature = "gpio-f410",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
))]
dma_map!(
(Stream1<DMA1>:0, pac::I2C1, [MemoryToPeripheral]), (Stream6<DMA1>:1, pac::I2C1, [MemoryToPeripheral]), (Stream7<DMA1>:1, pac::I2C1, [MemoryToPeripheral]), (Stream7<DMA1>:6, pac::USART2, [PeripheralToMemory]), (Stream2<DMA2>:2, pac::SPI1, [MemoryToPeripheral]), (Stream3<DMA2>:3, pac::SPI1, [MemoryToPeripheral]), (Stream5<DMA2>:3, pac::SPI1, [MemoryToPeripheral]), (Stream5<DMA2>:5, pac::SPI5, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f410",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f469",
))]
dma_map!(
(Stream3<DMA2>:2, pac::SPI5, [PeripheralToMemory]), (Stream4<DMA2>:2, pac::SPI5, [MemoryToPeripheral]), (Stream5<DMA2>:7, pac::SPI5, [PeripheralToMemory]), (Stream6<DMA2>:7, pac::SPI5, [MemoryToPeripheral]), );
#[cfg(any(
feature = "gpio-f410",
feature = "gpio-f411",
feature = "gpio-f412",
feature = "gpio-f413",
feature = "gpio-f427",
feature = "gpio-f469",
))]
address!((pac::SPI5, dr, u8),);
#[cfg(any(feature = "gpio-f411", feature = "gpio-f412", feature = "gpio-f413",))]
dma_map!(
(Stream4<DMA2>:4, pac::SPI4, [PeripheralToMemory]), );
#[cfg(feature = "dfsdm1")]
mod dfsdm1 {
use super::*;
#[cfg(feature = "gpio-f412")]
use pac::DFSDM as DFSDM1;
#[cfg(feature = "gpio-f413")]
use pac::DFSDM1;
dma_map!(
(Stream0<DMA2>:7, FLT<DFSDM1, 0>, [PeripheralToMemory]), (Stream1<DMA2>:3, FLT<DFSDM1, 1>, [PeripheralToMemory]), (Stream4<DMA2>:3, FLT<DFSDM1, 1>, [PeripheralToMemory]), (Stream6<DMA2>:3, FLT<DFSDM1, 0>, [PeripheralToMemory]), );
}
#[cfg(feature = "quadspi")]
dma_map!(
(Stream7<DMA2>:3, pac::QUADSPI, [MemoryToPeripheral | PeripheralToMemory]), );
#[cfg(feature = "quadspi")]
address!((pac::QUADSPI, dr, u32),);
#[cfg(any(feature = "gpio-f413", feature = "gpio-f427", feature = "gpio-f469",))]
dma_map!(
(Stream0<DMA1>:5, pac::UART8, [MemoryToPeripheral]), (Stream1<DMA1>:5, pac::UART7, [MemoryToPeripheral]), (Stream3<DMA1>:5, pac::UART7, [PeripheralToMemory]), (Stream6<DMA1>:5, pac::UART8, [PeripheralToMemory]), );
#[cfg(any(feature = "gpio-f413", feature = "gpio-f427", feature = "gpio-f469",))]
address!((pac::UART7, dr, u8), (pac::UART8, dr, u8),);
#[cfg(feature = "gpio-f413")]
dma_map!(
(Stream7<DMA1>:8, pac::UART5, [MemoryToPeripheral]), (Stream0<DMA2>:1, pac::UART9, [MemoryToPeripheral]), (Stream0<DMA2>:5, pac::UART10, [PeripheralToMemory]), (Stream3<DMA2>:9, pac::UART10, [PeripheralToMemory]), (Stream5<DMA2>:9, pac::UART10, [MemoryToPeripheral]), (Stream7<DMA2>:0, pac::UART9, [PeripheralToMemory]), (Stream7<DMA2>:6, pac::UART10, [MemoryToPeripheral]), );
#[cfg(feature = "gpio-f413")]
address!((pac::UART9, dr, u8), (pac::UART10, dr, u8),);
#[cfg(feature = "aes")]
dma_map!(
(Stream6<DMA2>:2, AES_IN, [MemoryToPeripheral]), (Stream5<DMA2>:2, AES_OUT, [PeripheralToMemory]), );
#[cfg(feature = "sai1")]
mod sai1 {
use super::*;
#[cfg(not(any(
feature = "gpio-f446",
feature = "stm32f417",
feature = "stm32f427",
feature = "stm32f437"
)))]
use pac::SAI as SAI1;
#[cfg(any(
feature = "gpio-f446",
feature = "stm32f417",
feature = "stm32f427",
feature = "stm32f437"
))]
use pac::SAI1;
dma_map!(
(Stream1<DMA2>:0, SAICH<SAI1, 0>, [MemoryToPeripheral | PeripheralToMemory]), (Stream3<DMA2>:0, SAICH<SAI1, 0>, [MemoryToPeripheral | PeripheralToMemory]), (Stream4<DMA2>:1, SAICH<SAI1, 1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream5<DMA2>:0, SAICH<SAI1, 1>, [MemoryToPeripheral | PeripheralToMemory]), );
unsafe impl<const C: u8> PeriAddress for SAICH<SAI1, C> {
#[inline(always)]
fn address(&self) -> u32 {
unsafe { (*SAI1::ptr()).ch[C as usize].dr.as_ptr() as u32 }
}
type MemSize = u32;
}
}
#[cfg(feature = "sai2")]
dma_map!(
(Stream4<DMA2>:3, SAICH<pac::SAI2, 0>, [MemoryToPeripheral | PeripheralToMemory]), (Stream6<DMA2>:3, SAICH<pac::SAI2, 1>, [MemoryToPeripheral | PeripheralToMemory]), (Stream7<DMA2>:0, SAICH<pac::SAI2, 1>, [MemoryToPeripheral | PeripheralToMemory]), );
#[cfg(feature = "sai2")]
unsafe impl<const C: u8> PeriAddress for SAICH<pac::SAI2, C> {
#[inline(always)]
fn address(&self) -> u32 {
unsafe { (*pac::SAI2::ptr()).ch[C as usize].dr.as_ptr() as u32 }
}
type MemSize = u32;
}
#[cfg(feature = "spi6")]
dma_map!(
(Stream5<DMA2>:1, pac::SPI6, [MemoryToPeripheral]), (Stream6<DMA2>:1, pac::SPI6, [PeripheralToMemory]), );
#[cfg(feature = "spi6")]
address!((pac::SPI6, dr, u8),);
#[cfg(feature = "spdifrx")]
dma_map!(
(Stream1<DMA1>:0, pac::SPDIFRX, [PeripheralToMemory]), );
#[cfg(any(feature = "gpio-f410", feature = "gpio-f412", feature = "gpio-f413",))]
dma_map!(
(Stream0<DMA1>:7, pac::FMPI2C1, [PeripheralToMemory]), (Stream1<DMA1>:2, pac::FMPI2C1, [MemoryToPeripheral]), (Stream3<DMA1>:1, pac::FMPI2C1, [PeripheralToMemory]), (Stream7<DMA1>:4, pac::FMPI2C1, [MemoryToPeripheral]), );
#[cfg(feature = "gpio-f446")]
dma_map!(
(Stream2<DMA1>:2, pac::FMPI2C1, [PeripheralToMemory]), (Stream5<DMA1>:2, pac::FMPI2C1, [MemoryToPeripheral]), );