Lines Matching +full:half +full:- +full:dbm

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
44 ----------
46 STM32 DMA-MDMA chaining feature relies on the strengths of STM32 DMA and
49 STM32 DMA has a circular Double Buffer Mode (DBM). At each end of transaction
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 ----------------------------------------------------------------
230 * which is half of the sram_buf size.
253 /* Targets the beginning = first half of the sram_buf */
254 s->dma_address = sram_buf;
256 * Targets the second half of the sram_buf
260 s->dma_address += sram_period;
276 len -= bytes;
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>