From 891344a7f602e9431a52b89d32d3b5a8e2b0430c Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Wed, 15 Sep 2021 15:05:36 +0000 Subject: dma: convert to new style, add DMAMUX DMAMUX is a channel/source muxer available on L4+,L5,H7,G0,G4,WB and WL parts. Signed-of-by: Karl Palsson --- dma/stm32_dma.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 dma/stm32_dma.h (limited to 'dma/stm32_dma.h') diff --git a/dma/stm32_dma.h b/dma/stm32_dma.h new file mode 100644 index 0000000..afeaed5 --- /dev/null +++ b/dma/stm32_dma.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include + +struct STM32_DMA_channel_reg_v1_t { + volatile uint32_t CR; + volatile uint32_t NDTR; + volatile uint32_t PAR; + volatile uint32_t MAR; + uint32_t _reserved; +}; + +struct STM32_DMA_reg_v1_t { + volatile uint32_t ISR; + volatile uint32_t IFCR; + STM32_DMA_channel_reg_v1_t C[7]; +}; + + +struct STM32_DMA_stream_reg_v2_t { + volatile uint32_t CR; + volatile uint32_t NDTR; + volatile uint32_t PAR; + volatile uint32_t M0AR; + volatile uint32_t M1AR; + volatile uint32_t FCR; +}; + +struct STM32_DMA_reg_v2_t { + volatile uint32_t LISR; + volatile uint32_t HISR; + volatile uint32_t LIFCR; + volatile uint32_t HIFCR; + STM32_DMA_stream_reg_v2_t S[8]; +}; + + +template +class STM32_DMA_t : public mmio_ptr { + public: + using mmio_ptr::ptr; +}; -- cgit v1.2.3