aboutsummaryrefslogtreecommitdiff
path: root/stmhal/dma.c
AgeCommit message (Collapse)Author
2016-06-29stmhal: Correct DMA to allow SD card on L4 MCUs.dpslwk
2016-05-06stmhal/dma: Fix builds for boards with an F4 or F7 but no DAC.Dave Hylands
2016-05-05stmhal/dma: Make DAC DMA descriptors conditional on having a DAC.Damien George
2016-05-05stmhal: L4: Adapt DMA to be able to support STM32L4 MCU series.Tobias Badertscher
The main thing is to change the DMA code in a way that the structure DMA_Stream_TypeDef (which is similar to DMA_Channel_TypeDef on stm32l4) is no longer used outside of dma.c, as this structure only exists for the F4 series. Therefore I introduced a new structure (dma_descr_t) which handles all DMA specific stuff for configuration. Further the periphery (spi, i2c, sdcard, dac) does not need to know the internals of the dma.
2015-12-22stmhal: Add pyb.irq_stats() to get statistics about IRQ calls.Damien George
Adds a lot of code, makes IRQs a bit less efficient, but is very useful for debugging. Usage: pyb.irq_stats() returns a memory view that can be read and written, eg: list(pyb.irq_stats()) pyb.irq_stats()[0] pyb.irq_stats()[0] = 0 The patch provides general IRQ_ENTER() and IRQ_EXIT() macros that can be modified to provide further IRQ statistics if desired.
2015-11-24stmhal: On SysTick IRQ, only process one DMA channel at a time.Damien George
This can be generalised if/when more processing is needed by SysTick. Thanks to @chuckbook for the idea.
2015-11-24stmhal: Small simplification of code to tickle DMA idle counter.Damien George
2015-11-24stmhal: Turn off DMA clocks when idle for 100 msecDave Hylands
Turning on each DMA block increases the current consumption by about 8 mA. This code adds an idle timer for each DMA block and turns off the clocks when no streams are in use for 128 msec. Having a small timeout allows for improved performance when back-to-back transfers are being performed. The 128 msec is basically a guess.
2015-11-01stmhal: Add symbolic #defines for interrupt levels in irq.h.Dave Curtis
2015-07-30stmhal: Replace #include "stm32f4xx_hal.h" with #include STM32_HAL_H.Dave Hylands
2015-06-24stmhal/dma.c: Modify dma_init() to accept init struct as an argumentblmorris
This removes hard-coded DMA init params from dma_init(), instead defining these parameters in a DMA_InitTypeDef struct that gets passed as an argument to dma_init() This makes dma_init more generic so it can be used for I2S and SD Card, which require different initialization parameters.
2015-06-10stmhal: Factor out DMA initialisation code from spi.c.Damien George
This is so that the DMA can be shared by multiple peripherals.