Lines Matching +full:ahb +full:- +full:burst +full:- +full:config

1 .. SPDX-License-Identifier: GPL-2.0
4 STM32 DMA-MDMA chaining
9 ------------
11 This document describes the STM32 DMA-MDMA chaining feature. But before going
30 without the ability to generate convenient burst transfer ensuring the best
38 interfaces for AHB peripherals, while the STM32 MDMA acts as a second level
39 DMA with better performance. As a AXI/AHB master, STM32 MDMA can take control
40 of the AXI/AHB bus.
44 ----------
46 STM32 DMA-MDMA chaining feature relies on the strengths of STM32 DMA and
50 (when DMA data counter - DMA_SxNDTR - reaches 0), the memory pointers
56 With STM32 MDMA linked-list mode, a single request initiates the data array
57 (collection of nodes) to be transferred until the linked-list pointer for the
60 case, the linked-list loops on to create a circular MDMA transfer.
71 +--------------+----------------+-----------+------------+
78 +--------------+----------------+-----------+------------+
80 +--------------+----------------+-----------+------------+
82 +--------------+----------------+-----------+------------+
84 +--------------+----------------+-----------+------------+
86 +--------------+----------------+-----------+------------+
88 +--------------+----------------+-----------+------------+
90 +--------------+----------------+-----------+------------+
92 +--------------+----------------+-----------+------------+
94 +--------------+----------------+-----------+------------+
96 +--------------+----------------+-----------+------------+
98 +--------------+----------------+-----------+------------+
100 +--------------+----------------+-----------+------------+
102 +--------------+----------------+-----------+------------+
104 +--------------+----------------+-----------+------------+
106 +--------------+----------------+-----------+------------+
108 +--------------+----------------+-----------+------------+
110 STM32 DMA-MDMA chaining feature then uses a SRAM buffer. STM32MP1 SoCs embed
119 dma[1:2]-tcf[0:7]
120 .----------------.
123 |------------| | / \ | |------------|
124 | DMA_SxM0AR |<=>| | SRAM | |<=>| []-[]...[] |
128 STM32 DMA-MDMA chaining uses (struct dma_slave_config).peripheral_config to
137 Device Tree updates for STM32 DMA-MDMA chaining support
138 -------------------------------------------------------
147 my_foo_device_dma_pool: dma-sram@0 {
210 Driver updates for STM32 DMA-MDMA chaining support in foo driver
211 ----------------------------------------------------------------
254 s->dma_address = sram_buf;
260 s->dma_address += sram_period;
276 len -= bytes;
319 config.direction = DMA_DEV_TO_MEM;
320 config.dst_addr = sram_dma_buf; // SRAM buffer
321 config.peripheral_size = 1; // peripheral_size != 0 => chaining
326 config.direction = DMA_DEV_TO_MEM;
329 mdma_conf.peripheral_size = dma_conf.peripheral_size; // <- dma_conf
330 mdma_conf.peripheral_config = dma_config.peripheral_config; // <- dma_conf
378 cyclic Double-Buffer mode so it won't be disabled by HW, you need to terminate
382 **STM32 DMA-MDMA chaining DMA_MEM_TO_DEV special case**
384 STM32 DMA-MDMA chaining in DMA_MEM_TO_DEV is a special case. Indeed, the
395 Due to this complexity, rather use the STM32 DMA-MDMA chaining for
400 ---------
408 .. _STM32MP1: https://www.st.com/en/microcontrollers-microprocessors/stm32mp1-series.html
409 …24: https://www.st.com/resource/en/application_note/an5224-stm32-dmamux-the-dma-request-router-stm…
410 …st.com/resource/en/application_note/dm00046011-using-the-stm32f2-stm32f4-and-stm32f7-series-dma-co…
411 …s://www.st.com/resource/en/application_note/an5001-stm32cube-expansion-package-for-stm32h7-series-
415 - Amelie Delaunay <amelie.delaunay@foss.st.com>