stm32/dma: update codegen+macrotables for new stm32-data

This commit is contained in:
Dario Nieuwenhuis
2021-07-17 07:35:59 +02:00
parent dff4b42a33
commit 54b5012c56
6 changed files with 42 additions and 111 deletions

View File

@ -24,40 +24,11 @@ pub(crate) trait MuxChannel {
const DMAMUX_REGS: pac::dmamux::Dmamux;
}
macro_rules! dma_num {
(DMA1) => {
0
};
(DMA2) => {
1
};
}
#[cfg(not(rcc_h7))]
pac::bdma_channels! {
($channel_peri:ident, $dma_peri:ident, $channel_num:expr) => {
impl MuxChannel for peripherals::$channel_peri {
const DMAMUX_CH_NUM: u8 = (dma_num!($dma_peri) * 8) + $channel_num;
const DMAMUX_REGS: pac::dmamux::Dmamux = pac::DMAMUX1;
}
};
}
#[cfg(rcc_h7)]
pac::dma_channels! {
($channel_peri:ident, $dma_peri:ident, $channel_num:expr) => {
($channel_peri:ident, $dma_peri:ident, $version:ident, $channel_num:expr, {dmamux: $dmamux:ident, dmamux_channel: $dmamux_channel:expr}) => {
impl MuxChannel for peripherals::$channel_peri {
const DMAMUX_CH_NUM: u8 = (dma_num!($dma_peri) * 8) + $channel_num;
const DMAMUX_REGS: pac::dmamux::Dmamux = pac::DMAMUX1;
}
};
}
#[cfg(rcc_h7)]
pac::bdma_channels! {
($channel_peri:ident, $dma_peri:ident, $channel_num:expr) => {
impl MuxChannel for peripherals::$channel_peri {
const DMAMUX_CH_NUM: u8 = $channel_num;
const DMAMUX_REGS: pac::dmamux::Dmamux = pac::DMAMUX2;
const DMAMUX_CH_NUM: u8 = $dmamux_channel;
const DMAMUX_REGS: pac::dmamux::Dmamux = pac::$dmamux;
}
};
}